[Buildroot] [PATCH 1/2 v2] package/binutils: switch from symlinks to copies to fix rpath

Peter Korsgaard peter at korsgaard.com
Mon May 28 20:35:58 UTC 2018


>>>>> "Yann" == Yann E MORIN <yann.morin.1998 at free.fr> writes:

 > Commit f9cffb6af464 (binutils: replace hard-links with soft-links to fix
 > rpath) has a side effect that when we build for a noMMU target, elf2flt
 > will in turn replace some of the programs installed by binutils, with
 > its own wrappers.

 > For example, it will rename host/TUPLE/bin/ld to ld.real, and add its
 > own wrapper in place of the original. It does the same for
 > host/bin/TUPLE-ld and host/bin/TUPLE-ld.real.

 > However, we had already made ld a symlink to ../../bin/TUPLE-ld, so
 > host/TUPLE/bin/ld.real will still point to host/bin/TUPLE-ld when we
 > want it to point to ld.real instead...

 > This ultimately confuses gcc later on.

 > Of course, the culprit is also elf2flt, which also installs similar
 > hardlinks that would ultimately exhibit the same rpath issue as the
 > one fixed by f9cffb6af464. Note: we haven't had an issue so far with
 > that, because those tools installed by elf2flt only link with libz,
 > which is most often present on the host system. So, all seem well,
 > but is nonetheless broken; this will be fixed in a subsequent commit.

 > But back on topic. If we were to fix elf2flt with similar symlinks,
 > gcc still gets confused. The underlying reason for this confusion is
 > not entirely clear, though... It looks like something is trying to
 > dereference symlinks and gets confused by the result somehow...

 > So, in an attempt to restore some sanity in all this mess, we try to
 > restore the previous behaviour, we no longer use symlinks but just copy
 > the individual tools.

 > Fixes: #11031.

 > Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
 > Cc: Christophe Priouzeau <christophe.priouzeau at st.com>
 > Cc: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
 > Cc: Peter Korsgaard <peter at korsgaard.com>
 > Cc: Arnout Vandecappelle <arnout at mind.be>

 > ---
 > Changes v1 -> v2:
 >   - use copies, not shell wrappers  (Arnout)

Committed, thanks.

-- 
Bye, Peter Korsgaard



More information about the buildroot mailing list