From 35db5bfb5ce3af08ad8181c657a7b4f81c9dfe3b Mon Sep 17 00:00:00 2001 From: Benda Xu Date: Fri, 13 Apr 2018 12:56:34 +0900 Subject: sys-devel/binutils-config: revert accidental commit in 62c75f76eb. I have made a mistake to overwrite changes to binutils-config-5. Suggested-By: slyfox Bug: https://bugs.gentoo.org/531616 Bug: https://bugs.gentoo.org/562460 Package-Manager: Portage-2.3.28, Repoman-2.3.9 --- sys-devel/binutils-config/files/binutils-config-5 | 15 ++++++++++++--- sys-devel/binutils-config/files/binutils-config-5.1 | 15 ++++++++++++--- 2 files changed, 24 insertions(+), 6 deletions(-) (limited to 'sys-devel/binutils-config') diff --git a/sys-devel/binutils-config/files/binutils-config-5 b/sys-devel/binutils-config/files/binutils-config-5 index acb72b7e3435..d4df601a74b5 100755 --- a/sys-devel/binutils-config/files/binutils-config-5 +++ b/sys-devel/binutils-config/files/binutils-config-5 @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # Format of /etc/env.d/binutils/: @@ -155,7 +155,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 @@ -248,7 +257,7 @@ uninstall_target() { local x for x in \ - addr2line ar as c++filt elf2flt elfedit flthdr gprof \ + addr2line ar as c++filt dwp elf2flt elfedit flthdr gprof \ ld ld.{bfd,gold,real} \ nm objcopy objdump ranlib readelf size strings strip do diff --git a/sys-devel/binutils-config/files/binutils-config-5.1 b/sys-devel/binutils-config/files/binutils-config-5.1 index ec06d47c14a7..26ff278eece5 100644 --- a/sys-devel/binutils-config/files/binutils-config-5.1 +++ b/sys-devel/binutils-config/files/binutils-config-5.1 @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # Format of /etc/env.d/binutils/: @@ -155,7 +155,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 @@ -240,7 +249,7 @@ uninstall_target() { local x for x in \ - addr2line ar as c++filt elf2flt elfedit flthdr gprof \ + addr2line ar as c++filt dwp elf2flt elfedit flthdr gprof \ ld ld.{bfd,gold,real} \ nm objcopy objdump ranlib readelf size strings strip do -- cgit v1.2.3-65-gdbad