Skip to contentSkip to conversation

Fix for 32-bit uninative

PATCH In review Randy Witt 2 participants 5 messages Dec 9, 2015 – Dec 11, 2015

lore
Share & tools
lore

Randy Witt

author
#0 lore raw

cover Fix for 32-bit uninative

The following changes since commit c093fd8bd2fbf070728f5401ce3e6cf951fa820d:

linux-yocto/4.1: Fix kernel oops on qemuarm boot (2015-12-08 17:22:31 +0000)

are available in the git repository at:

git://git.yoctoproject.org/poky-contrib rewitt/uninative-32bit-fix
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=rewitt/uninative-32bit-fix

Randy Witt (1):
uninative.bbclass: Choose the correct loader based on BUILD_ARCH

 meta/classes/uninative.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Signature · 1 line
2.4.3
author
#1 lore raw

PATCH 1/1 uninative.bbclass: Choose the correct loader based on BUILD_ARCH

Previously UNINATIVE_LOADER was always ld-linux-x86-64.so.2. That is incorrect when the host is 32-bit.

This change also changes to using ?= so the user can override UNINATIVE_LOADER if so desired.

[YOCTO #8124]

---
 meta/classes/uninative.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/classes/uninative.bbclass +1 -1
index 51391db..0cd27db 100644
@@ -1,6 +1,6 @@
 NATIVELSBSTRING = "universal"
 
-UNINATIVE_LOADER = "${STAGING_DIR_NATIVE}/lib/ld-linux-x86-64.so.2"
+UNINATIVE_LOADER ?= "${@bb.utils.contains('BUILD_ARCH', 'x86_64', '${STAGING_DIR_NATIVE}/lib/ld-linux-x86-64.so.2', '${STAGING_DIR_NATIVE}/lib/ld-linux.so.2', d)}"
 
 addhandler uninative_eventhandler
 uninative_eventhandler[eventmask] = "bb.event.BuildStarted"
Signature · 1 line
2.4.3
#2 lore raw

Re: [jethro][master][PATCH 1/1] uninative.bbclass: Choose the correct loader based on BUILD_ARCH

Quoted 5 lines · Randy Witt
(quoted diff) +1 -1
-UNINATIVE_LOADER = "${STAGING_DIR_NATIVE}/lib/ld-linux-x86-64.so.2"
+UNINATIVE_LOADER ?= "${@bb.utils.contains('BUILD_ARCH', 'x86_64',

'${STAGING_DIR_NATIVE}/lib/ld-linux-x86-64.so.2',
'${STAGING_DIR_NATIVE}/lib/ld-linux.so.2', d)}"

Would it be neater, and more flexible when other arches are different (specifically I'm thinking of aarch64 here) to do:

UNINATIVE_LOADER = "${STAGING_DIR_NATIVE}/lib/ld-linux.so.2" UNINATIVE_LOADER_x86-64 = "'${STAGING_DIR_NATIVE}/lib/ld-linux-x86-64.so.2"

At least I think that overload is correct...

Ross

author
#3 lore raw

Re: [jethro][master][PATCH 1/1] uninative.bbclass: Choose the correct loader based on BUILD_ARCH

Quoted 12 lines · Ross
Quoted 5 lines · Randy Witt
(quoted diff) +1 -1
-UNINATIVE_LOADER = "${STAGING_DIR_NATIVE}/lib/ld-linux-x86-64.so.2"
+UNINATIVE_LOADER ?= "${@bb.utils.contains('BUILD_ARCH', 'x86_64',

'${STAGING_DIR_NATIVE}/lib/ld-linux-x86-64.so.2',
'${STAGING_DIR_NATIVE}/lib/ld-linux.so.2', d)}"

Would it be neater, and more flexible when other arches are different (specifically I'm thinking of aarch64 here) to do:

Quoted 2 lines

UNINATIVE_LOADER = "${STAGING_DIR_NATIVE}/lib/ld-linux.so.2" UNINATIVE_LOADER_x86-64 = "'${STAGING_DIR_NATIVE}/lib/ld-linux-x86-64.so.2"

Yes, I like that better. I'll check the override and test it again.

Quoted 4 lines

At least I think that overload is correct...

Ross

#4 lore raw

Re: [jethro][master][PATCH 1/1] uninative.bbclass: Choose the correct loader based on BUILD_ARCH

In reply to Burton, Ross
Quoted 8 lines · Ross

Would it be neater, and more flexible when other arches are different (specifically I'm thinking of aarch64 here) to do:

UNINATIVE_LOADER = "${STAGING_DIR_NATIVE}/lib/ld-linux.so.2" UNINATIVE_LOADER_x86-64 = "'${STAGING_DIR_NATIVE}/lib/ld-linux-x86-64.so.2"

At least I think that overload is correct...

Of course BUILD_ARCH != TARGET_ARCH so this is wrong.

Ross