summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2018-09-15 12:26:52 +0100
committerSergei Trofimovich <slyfox@gentoo.org>2018-09-15 12:27:17 +0100
commit5d01953075fcfdb1fbb0e39c3f5f07271e4cf092 (patch)
tree50c876fb898825d3f0428b4deb499b96ad41cfa3 /sys-devel/binutils/binutils-9999.ebuild
parentgnome-extra/gnome-shell-extension-gsconnect: Version bump (#664410 by leio) (diff)
downloadgentoo-5d01953075fcfdb1fbb0e39c3f5f07271e4cf092.tar.gz
gentoo-5d01953075fcfdb1fbb0e39c3f5f07271e4cf092.tar.bz2
gentoo-5d01953075fcfdb1fbb0e39c3f5f07271e4cf092.zip
sys-devel/binutils: expand SONAME with USE=multitarget, bug #666100
In #663690 creative use of LD_LIBRARY_PATH exposed a problem of Gentoo's split across binutils and binutils-libs: we install libbfd.so with the same SONAME but different ABIs. This caused 'ld' to SIGSEGV or fail asserts. The change here is to give unique SONAME to each of: native binutils, cross binutils, binutils-libs packages. On top of that we encode USE=multitarget flags into SONAME as well. binutils-libs will also include USE=64-bit-bfd. This way dynamic linker will be able to detect incompatible changes like: - rebuild binutils with new USE flags - install binutils-libs (silently overrides binutils' libbfd.so) and report it explicitly. Bug: https://bugs.gentoo.org/666100 Package-Manager: Portage-2.3.49, Repoman-2.3.10
Diffstat (limited to 'sys-devel/binutils/binutils-9999.ebuild')
-rw-r--r--sys-devel/binutils/binutils-9999.ebuild7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys-devel/binutils/binutils-9999.ebuild b/sys-devel/binutils/binutils-9999.ebuild
index b51be8aa269b..93dcbdf26b08 100644
--- a/sys-devel/binutils/binutils-9999.ebuild
+++ b/sys-devel/binutils/binutils-9999.ebuild
@@ -19,7 +19,7 @@ IUSE="+cxx doc multitarget +nls static-libs test"
# for the patchsets
# Default: dilfridge :)
-PATCH_VER=1
+PATCH_VER=2
PATCH_BINUTILS_VER=9999
case ${PV} in
@@ -49,7 +49,7 @@ esac
# The Gentoo patchset
#
PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}}
-PATCH_DEV=${PATCH_DEV:-dilfridge}
+PATCH_DEV=${PATCH_DEV:-slyfox}
[[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI}
https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
@@ -249,6 +249,9 @@ src_configure() {
# Strip out broken static link flags.
# https://gcc.gnu.org/PR56750
--without-stage1-ldflags
+ # Change SONAME to avoid conflict across
+ # {native,cross}/binutils, binutils-libs. #666100
+ --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)
)
echo ./configure "${myconf[@]}"
"${S}"/configure "${myconf[@]}" || die