diff options
author | Mike Frysinger <vapier@gentoo.org> | 2015-11-23 05:19:00 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2015-11-23 05:21:58 -0500 |
commit | 7fbeab2ed7339b602b134a2bba4016e977266a54 (patch) | |
tree | 8819248dcc31f249bc23e711787ba2027b2e9e99 /sys-devel/binutils-config | |
parent | toolchain-binutils.eclass: use our libdir/includedir paths w/cross-compilers ... (diff) | |
download | gentoo-7fbeab2ed7339b602b134a2bba4016e977266a54.tar.gz gentoo-7fbeab2ed7339b602b134a2bba4016e977266a54.tar.bz2 gentoo-7fbeab2ed7339b602b134a2bba4016e977266a54.zip |
sys-devel/binutils-config: detect broken cross-compiler rpaths #562460
We've fixed newer cross-binutils builds to use the correct rpaths to find
their internal libs, but existing builds remain broken. Add some logic to
detect & warn users, but also create the old symlinks so they keep working.
Diffstat (limited to 'sys-devel/binutils-config')
-rw-r--r-- | sys-devel/binutils-config/binutils-config-5-r2.ebuild (renamed from sys-devel/binutils-config/binutils-config-5-r1.ebuild) | 0 | ||||
-rwxr-xr-x | sys-devel/binutils-config/files/binutils-config-5 | 11 |
2 files changed, 10 insertions, 1 deletions
diff --git a/sys-devel/binutils-config/binutils-config-5-r1.ebuild b/sys-devel/binutils-config/binutils-config-5-r2.ebuild index f3a4c32a1ee2..f3a4c32a1ee2 100644 --- a/sys-devel/binutils-config/binutils-config-5-r1.ebuild +++ b/sys-devel/binutils-config/binutils-config-5-r2.ebuild diff --git a/sys-devel/binutils-config/files/binutils-config-5 b/sys-devel/binutils-config/files/binutils-config-5 index 86f6abc8b273..2bdd07e1fcc0 100755 --- a/sys-devel/binutils-config/files/binutils-config-5 +++ b/sys-devel/binutils-config/files/binutils-config-5 @@ -149,7 +149,16 @@ switch_profile() { mkdir -p "${dstlib}" rm -rf "${ROOT}/${BINPATH_LINKS}"/ldscripts atomic_ln "${LIBPATH}/ldscripts" "${dstlib}" "ldscripts" - find -L "${dstlib}" -xtype l -name 'lib*' -exec rm -f {} + + find -L "${dstlib}" -xtype l -name 'lib*' -delete + # Detect older binutils w/broken rpaths. #562460 + # We can hardcode the "/lib" part since that's what the binutils + # configure scripts have. They did not include any other path. + if [[ $(scanelf -qF '%r#F' "${ROOT}/${BINPATH}/as") == */lib ]] ; then + ewarn "Old cross-binutils detected; please re-emerge to fix (see bug #562460)." + for x in lib* ; do + atomic_ln "${LIBPATH}/${x}" "${dstlib}" "${x}" + done + fi # # Clean out old generated include symlinks |