[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