[OE-core] relocate_sdk.py: Possible bug, /lib64/ld-linux-x86-64.so.2 not relocated

Stefan Agner stefan at agner.ch
Thu Apr 3 07:59:34 UTC 2014


Hi Laurentiu,

Am 2014-03-03 09:38, schrieb Laurentiu Palcu:
> This is the correct behavior. We shouldn't relocate binaries that use
> host's dynamic loader.
> 
>> When I install the SDK with -S (copy the relocate scripts), and
>> remove the condition around line 95, the binaries work as expected.
> Can you please run the installer script with "-R" so it doesn't perform
> any relocation on binaries, and then:
> 
> readelf -p ".interp"
> /usr/local/oecore-x86_64/sysroots/x86_64-angstromsdk-linux/usr/bin/armv7ahf-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-gcc
> 
> It looks like the default dynamic loader path of the toolchain binaries
> start with /lib* or /usr/lib* which is not quite right... It should be:
> ${SDKPATH}/sysroots/${SDK_SYS}.

$ readelf -p ".interp"
/usr/local/oecore-x86_64-non-reloc/sysroots/x86_64-angstromsdk-linux/usr/bin/armv7ahf-vfp-neon-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi-gcc

String dump of section '.interp':
  [     0]  /lib64/ld-linux-x86-64.so.2


So this looks wrong then, right? 

I also get the same for python and qmake:
$ readelf -p ".interp" 
/usr/local/oecore-x86_64-new/sysroots/x86_64-angstromsdk-linux/usr/bin/python2

String dump of section '.interp':
  [     0]  /lib64/ld-linux-x86-64.so.2

$ readelf -p ".interp" 
/usr/local/oecore-x86_64-new/sysroots/x86_64-angstromsdk-linux/usr/bin/qmake2


String dump of section '.interp':
  [     0]  /lib64/ld-linux-x86-64.so.2

How can I make sure all those binaries get linked against the SDK link
loader?

--
Stefan



More information about the Openembedded-core mailing list