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 |