diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2018-09-15 12:26:52 +0100 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2018-09-15 12:27:17 +0100 |
commit | 5d01953075fcfdb1fbb0e39c3f5f07271e4cf092 (patch) | |
tree | 50c876fb898825d3f0428b4deb499b96ad41cfa3 /sys-devel/binutils/binutils-9999.ebuild | |
parent | gnome-extra/gnome-shell-extension-gsconnect: Version bump (#664410 by leio) (diff) | |
download | gentoo-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.ebuild | 7 |
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 |