[OE-core] relocate_sdk.py: Possible bug, /lib64/ld-linux-x86-64.so.2 not relocated
Stefan Agner
stefan at agner.ch
Sat Mar 1 14:28:09 UTC 2014
Hi,
Using top of dylan branch, I generated a SDK using bitbake
meta-toolchain. I'm running Arch Linux, but I also see similar issues on
Ubuntu 12.04.4 LTS:
Some binaries segfault when running them. I discovered, that the dynamic
linker of the host is used:
$ ldd
/usr/local/oecore-x86_64/sysroots/x86_64-angstromsdk-linux/usr/bin/armv7ahf-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-gcc
linux-vdso.so.1 (0x00007fffc8f11000)
libc.so.6 =>
/usr/local/oecore-x86_64/sysroots/x86_64-angstromsdk-linux/usr/bin/armv7ahf-vfp-neon-angstrom-linux-gnueabi/../../../lib/libc.so.6
(0x00007f4d85eb1000)
/lib64/ld-linux-x86-64.so.2 (0x00007f4d8625f000)
When forcing the dynamic linker of the SDK, the binary works:
$
/usr/local/oecore-x86_64/sysroots/x86_64-angstromsdk-linux/lib/ld-linux-x86-64.so.2
/usr/local/oecore-x86_64/sysroots/x86_64-angstromsdk-linux/usr/bin/armv7ahf-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-gcc
arm-angstrom-linux-gnueabi-gcc: fatal error: no input files
compilation terminated.
Digging around I found this commit by Jason:
3752a9c6d772b39bbe04d62ef4d3527b4c7198c1
relocate_sdk.py: Fix corruption of sdk binaries
It changes the behavior and don't relocates stuff which start with
/lib64. When I install the SDK with -S (copy the relocate scripts), and
remove the condition around line 95, the binaries work as expected. Also
LDD shows that ld-linux-x86-64.so.2 of the SDK will be used.
Btw, I think this bug is related to that:
https://github.com/Angstrom-distribution/setup-scripts/issues/25
Since I don't understand the original intention of that commit, I'm not
sure how to fix this properly...
--
Stefan
More information about the Openembedded-core
mailing list