commit:     35db5bfb5ce3af08ad8181c657a7b4f81c9dfe3b
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 13 03:56:34 2018 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Fri Apr 13 03:59:56 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=35db5bfb

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(-)

diff --git a/sys-devel/binutils-config/files/binutils-config-5 
b/sys-devel/binutils-config/files/binutils-config-5
index acb72b7e343..d4df601a74b 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 ec06d47c14a..26ff278eece 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

Reply via email to