Honoring DT_RUNPATH in cross-ld

Ian Lance Taylor iant@google.com
Wed May 29 00:32:00 GMT 2013


On Tue, May 28, 2013 at 1:37 PM, Ludovic Courtès <ludo@gnu.org> wrote:
> By default, cross ld does not honor DT_RPATH/DT_RUNPATH entries when
> searching for a NEEDed shared library.
>
> This behavior can be changed by configuring --with-sysroot, because
> genscripts.sh sets USE_LIBPATH=yes as a side effect, which in turn
> enables RUNPATH search in elf32.em.
>
> Sometimes this lookup rule is needed even though the system has nothing
> like a sysroot (this is the case with GNU Guix, which installs each
> package in its own directory, à la Stow.)
>
> What about providing a separate configure option specifically for this?

DT_RPATH and DT_RUNPATH are absolute paths.  Your suggestion only
makes sense if the shared libraries are found at the same absolute
path on both the host system and the target system.  That seems to me
to be unlikely.

In any case you can presumably do what you want by using --with-sysroot=/.

Ian



More information about the Binutils mailing list