public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Mike Frysinger" <vapier@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-config/files/, sys-devel/binutils-config/
Date: Mon, 23 Nov 2015 10:23:06 +0000 (UTC)	[thread overview]
Message-ID: <1448274118.7fbeab2ed7339b602b134a2bba4016e977266a54.vapier@gentoo> (raw)

commit:     7fbeab2ed7339b602b134a2bba4016e977266a54
Author:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 23 10:19:00 2015 +0000
Commit:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Mon Nov 23 10:21:58 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7fbeab2e

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.

 ...inutils-config-5-r1.ebuild => binutils-config-5-r2.ebuild} |  0
 sys-devel/binutils-config/files/binutils-config-5             | 11 ++++++++++-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/sys-devel/binutils-config/binutils-config-5-r1.ebuild b/sys-devel/binutils-config/binutils-config-5-r2.ebuild
similarity index 100%
rename from sys-devel/binutils-config/binutils-config-5-r1.ebuild
rename to 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 86f6abc..2bdd07e 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


             reply	other threads:[~2015-11-23 10:23 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-23 10:23 Mike Frysinger [this message]
  -- strict thread matches above, loose matches on Subject: below --
2019-12-29 20:14 [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils-config/files/, sys-devel/binutils-config/ Sergei Trofimovich
2017-12-30 22:52 Mike Gilbert
2017-12-18 20:06 Andreas Hüttel
2017-03-12 21:44 Mike Frysinger
2017-03-12 21:44 Mike Frysinger
2015-09-26 18:15 Mike Frysinger
2015-09-26 17:46 Mike Frysinger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1448274118.7fbeab2ed7339b602b134a2bba4016e977266a54.vapier@gentoo \
    --to=vapier@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox