mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
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.
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user