Gentoo Archives: gentoo-commits

From: Sergei Trofimovich <slyfox@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-devel/binutils/
Date: Sat, 15 Sep 2018 11:27:31
Message-Id: 1537010837.5d01953075fcfdb1fbb0e39c3f5f07271e4cf092.slyfox@gentoo
1 commit: 5d01953075fcfdb1fbb0e39c3f5f07271e4cf092
2 Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
3 AuthorDate: Sat Sep 15 11:26:52 2018 +0000
4 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
5 CommitDate: Sat Sep 15 11:27:17 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5d019530
7
8 sys-devel/binutils: expand SONAME with USE=multitarget, bug #666100
9
10 In #663690 creative use of LD_LIBRARY_PATH exposed a problem
11 of Gentoo's split across binutils and binutils-libs:
12 we install libbfd.so with the same SONAME but different ABIs.
13 This caused 'ld' to SIGSEGV or fail asserts.
14
15 The change here is to give unique SONAME to each of:
16 native binutils, cross binutils, binutils-libs packages.
17
18 On top of that we encode USE=multitarget flags into SONAME as well.
19 binutils-libs will also include USE=64-bit-bfd.
20
21 This way dynamic linker will be able to detect incompatible changes
22 like:
23 - rebuild binutils with new USE flags
24 - install binutils-libs (silently overrides binutils' libbfd.so)
25 and report it explicitly.
26
27 Bug: https://bugs.gentoo.org/666100
28 Package-Manager: Portage-2.3.49, Repoman-2.3.10
29
30 sys-devel/binutils/Manifest | 2 +-
31 sys-devel/binutils/binutils-9999.ebuild | 7 +++++--
32 2 files changed, 6 insertions(+), 3 deletions(-)
33
34 diff --git a/sys-devel/binutils/Manifest b/sys-devel/binutils/Manifest
35 index 6f0279b237c..6ead7bd848b 100644
36 --- a/sys-devel/binutils/Manifest
37 +++ b/sys-devel/binutils/Manifest
38 @@ -13,4 +13,4 @@ DIST binutils-2.30-patches-3.tar.xz 548804 BLAKE2B 428a1750233ae3f019e20cb5ed1d8
39 DIST binutils-2.30.tar.xz 20286700 BLAKE2B 2dd5436a15a601011a1950e6082ec00082f5916fb82ce95ceab424fd8dc19f6daa7ac32a149f222ccdcc603354165cc206fde070eaa44fe2cc5e57486efc7868 SHA512 e747ea20d8d79fcd21b9d9f6695059caa7189d60f19256da398e34b789fea9a133c32b192e9693b5828d27683739b0198431bf8b3e39fb3b04884cf89d9aa839
40 DIST binutils-2.31.1-patches-2.tar.xz 11232 BLAKE2B b8ac65872017c063650d4e04855efa3fd3e9faa566e81fa9fb3ae777c1337627023c1af85b708a7933b577a69652451ff488340d7cc9f035d3a3a655da0fc8d6 SHA512 2d0ee2e727586fc39cdb8abc7251c12dd350d18dd84103ddacc08978db48d45445c05b7ea5f095842f6e0350db94d593270b23a38920a01ca59c363decaa2a58
41 DIST binutils-2.31.1.tar.xz 20467996 BLAKE2B 6b914df1fbb7cf54f2159f71b2c2b09f3f6a569b7a3cb4cf9790d0a3733a7548bc0ea32334a178ed3b56e8b97656ae99c7abaf212601beeaeae9a0884c0f6051 SHA512 0fca326feb1d5f5fe505a827b20237fe3ec9c13eaf7ec7e35847fd71184f605ba1cefe1314b1b8f8a29c0aa9d88162849ee1c1a3e70c2f7407d88339b17edb30
42 -DIST binutils-9999-patches-1.tar.xz 10116 BLAKE2B 1ae970fd13ea1b94f554ed5b3fde4b6bdd90efcfc2488efc2f1465511279027c2e7f2a7371069afadb91bf833680a24e1a5df50d3169c9ee132c933b3c1fdba9 SHA512 a5d97d7070b876bf072db2a99a2876c239e03409849b9c93467bd3e70cd97c468110031a09e1c182c05d48004ec3e1651f44a1850b0275a385c3bae598cd98d7
43 +DIST binutils-9999-patches-2.tar.xz 11672 BLAKE2B 40b790713fc6cf463de3b3c3d207686890cc674fa44828952e73a66b723e4d9e8374b9e13fd44ffc5e0e5e1dc6eb63910563f4f318ff22f56813bd29ba4fe338 SHA512 ed1d88b693e35368e7ec6e16ccd7a5561ba697b778afc2da296f46698aff5d4d6a39c5fc030ce189b00af944d80f673bdac770771d23dd1f256eac2fb5858493
44
45 diff --git a/sys-devel/binutils/binutils-9999.ebuild b/sys-devel/binutils/binutils-9999.ebuild
46 index b51be8aa269..93dcbdf26b0 100644
47 --- a/sys-devel/binutils/binutils-9999.ebuild
48 +++ b/sys-devel/binutils/binutils-9999.ebuild
49 @@ -19,7 +19,7 @@ IUSE="+cxx doc multitarget +nls static-libs test"
50 # for the patchsets
51 # Default: dilfridge :)
52
53 -PATCH_VER=1
54 +PATCH_VER=2
55 PATCH_BINUTILS_VER=9999
56
57 case ${PV} in
58 @@ -49,7 +49,7 @@ esac
59 # The Gentoo patchset
60 #
61 PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}}
62 -PATCH_DEV=${PATCH_DEV:-dilfridge}
63 +PATCH_DEV=${PATCH_DEV:-slyfox}
64
65 [[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI}
66 https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
67 @@ -249,6 +249,9 @@ src_configure() {
68 # Strip out broken static link flags.
69 # https://gcc.gnu.org/PR56750
70 --without-stage1-ldflags
71 + # Change SONAME to avoid conflict across
72 + # {native,cross}/binutils, binutils-libs. #666100
73 + --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)
74 )
75 echo ./configure "${myconf[@]}"
76 "${S}"/configure "${myconf[@]}" || die