Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Laurentiu Palcu <laurentiu.palcu@intel.com>
To: Tasslehoff Kjappfot <tasskjapp@gmail.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: SDK relocation issues
Date: Tue, 11 Jun 2013 15:43:50 +0300	[thread overview]
Message-ID: <20130611124350.GD7181@lpalcu-linux> (raw)
In-Reply-To: <51B6EF5E.1020404@gmail.com>

Hi Tasslehoff,

On Tue, Jun 11, 2013 at 11:35:26AM +0200, Tasslehoff Kjappfot wrote:
> I compiled an SDK and extracted/installed it to my source tree
> instead of /usr/local/. I have made /usr/local/oecore-i686 a symlink
> to the actual location. With the latest Dylan this broke.
> 
> Denzil:
> ❯❯❯ ldd arm-angstrom-linux-gnueabi-gcc
>     linux-gate.so.1 =>  (0xf771d000)
>     libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7544000) /usr/local/oecore-i686/sysroots/i686-angstromsdk-linux/lib/ld-linux.so.2
> => /lib/ld-linux.so.2 (0xf771e000)
> 
> Dylan:
> Original location:
> ❯❯❯ ldd arm-angstrom-linux-gnueabi-gcc
>     linux-gate.so.1 =>  (0xf77c4000)
>     libc.so.6 => /home/tasslehoff/src/pdrepos01/toolchains/oecore-i686/sysroots/i686-angstromsdk-linux/usr/bin/armv7a-vfp-neon-angstrom-linux-gnueabi/./../../../lib/libc.so.6
> (0xf7610000)
> 
> /home/tasslehoff/src/oe/toolchains/oecore-i686/sysroots/i686-angstromsdk-linux/lib/ld-linux.so.2
> => /lib/ld-linux.so.2 (0xf77c5000)

A few things:
 * Be careful when using ldd with SDK binaries. ldd it's just a wrapper script
   around host's dynamic loader and it might give you wrong paths (usually to
   the host's libraries). Luckily, in this case, the binary is relocatable and
   has the RPATH linked in, hence the libc.so.6 location is correct. However,
   the dynamic loader points to the host's. The correct way to print the
   dependencies for SDK bianaries is this:

   $ readelf -p .interp arm-poky-linux-gnueabi-gcc

   String dump of section '.interp':
     [     0]  /home/test/sdk_tests/sdk/sysroots/x86_64-pokysdk-linux/lib/ld-linux-x86-64.so.2

   $ /home/test/sdk_tests/sdk/sysroots/x86_64-pokysdk-linux/lib/ld-linux-x86-64.so.2 --list ./arm-poky-linux-gnueabi-gcc
        linux-vdso.so.1 (0x00007fff1a3f4000)
        libc.so.6 => /home/test/sdk_tests/sdk/sysroots/x86_64-pokysdk-linux/usr/bin/armv5te-poky-linux-gnueabi/./../../../lib/libc.so.6 (0x00007fc102465000)
        /home/test/sdk_tests/sdk/sysroots/x86_64-pokysdk-linux/lib/ld-linux-x86-64.so.2 (0x00007fc102868000)

 * denzil did not support relocation and you could only install the sdk in /usr/local;
 * AFAIK, the dynamic loader is always shipped with the SDK;

> 
> If I try to run the toolchain from Dylan on a system where /home/tasslehoff/src/oe/toolchains/oecore-i686/sysroots/i686-angstromsdk-linux/lib/ld-linux.so.2
> does not exist, it fails.

Again, the DL should be available in your toolchain sysroot. I'm not aware of
a case when the dynamic loader is not shipped with the toolchain. Did this
happen in your case?

Thanks,
Laurentiu

> 
> Regards,
> Tasslehoff
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


  reply	other threads:[~2013-06-11 12:43 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-11  9:35 SDK relocation issues Tasslehoff Kjappfot
2013-06-11 12:43 ` Laurentiu Palcu [this message]
2013-06-11 12:58   ` Tasslehoff Kjappfot
2013-06-11 13:09   ` Tasslehoff Kjappfot
2013-06-11 13:24     ` Laurentiu Palcu
2013-06-12  6:12       ` Tasslehoff Kjappfot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130611124350.GD7181@lpalcu-linux \
    --to=laurentiu.palcu@intel.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=tasskjapp@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox