[OE-core] relocate_sdk.py: Possible bug, /lib64/ld-linux-x86-64.so.2 not relocated
Laurentiu Palcu
laurentiu.palcu at intel.com
Thu Apr 3 08:19:25 UTC 2014
Hi Stefan,
Can you please have a look at the binaries before relocation? Just to
make sure...
So, for that, run the installer with -R option:
./your_toolchain_installer.sh -R
Here, I'm interested which is the default suggested path (see below):
Enter target directory for SDK (default: /opt/poky/1.5+snapshot):
Then, run 'readelf -p ".interp"' on those binaries. They should all start
with the "default" prefix.
laurentiu
On Thu, Apr 03, 2014 at 09:59:34AM +0200, Stefan Agner wrote:
> 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