summaryrefslogtreecommitdiff
path: root/sys-libs/binutils-libs
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs/binutils-libs')
-rw-r--r--sys-libs/binutils-libs/Manifest4
-rw-r--r--sys-libs/binutils-libs/binutils-libs-2.42-r1.ebuild4
-rw-r--r--sys-libs/binutils-libs/binutils-libs-2.42-r2.ebuild172
3 files changed, 179 insertions, 1 deletions
diff --git a/sys-libs/binutils-libs/Manifest b/sys-libs/binutils-libs/Manifest
index cde705c1d25c..9248aa8735d5 100644
--- a/sys-libs/binutils-libs/Manifest
+++ b/sys-libs/binutils-libs/Manifest
@@ -16,6 +16,7 @@ DIST binutils-2.40.tar.xz 25241484 BLAKE2B 8d799f7c595f878b9af5b17a490021dd8b830
DIST binutils-2.41-patches-5.tar.xz 95176 BLAKE2B bbc94b3c7d70653a1056afe57a120b6eac9f0c8f51f05e95a1b5f80f2b7ef35e6355d740b49bc1ec2f3a13a838d5210ff4a205aa2bde5a72bc55c12100bce726 SHA512 ad293f97116f71322993f381c1af69fad1719a159f127ff16ddeca62f9b9b62aaf141abfa661985a61e9be7ae0639772148e69293a97364eebbf49182babb691
DIST binutils-2.41.tar.xz 26765692 BLAKE2B 3bccec2b52f7e82a727121bf2a2e51a6249ba63dcd74c665fd834e858645c912ffd8245d848435288b938852830b482905606f55c40df4061215fd75c52ffc75 SHA512 5df45d0bd6ddabdce4f35878c041e46a92deef01e7dea5facc97fd65cc06b59abc6fba0eb454b68e571c7e14038dc823fe7f2263843e6e627b7444eaf0fe9374
DIST binutils-2.42-patches-3.tar.xz 34768 BLAKE2B e4bfaf3b42147408a8a3dcb00f50378a6b49aef8e939731a92598680cfbf42dfdf842c3f5bf3458867f79c534eb92385bc64f34f7b1d6462ec4182b5f424fbe5 SHA512 3d75e0684bbfa2cc3fc6dfcb5488ac571db58f1a5833fcc754f231664137001ccb0f2ec750947b8021fa12daf614eb2cd21b598bd962d71a34bb8ea38805850d
+DIST binutils-2.42-patches-6.tar.xz 50664 BLAKE2B f13b65a761cfba80caf2e4740c6383b40305558365b950fba22aca95a104e799e8bd476082f36fb9288de4f224b09f317792c1444e549c40d15a4b64cdf61989 SHA512 1203eca0a9e622411eac377509de8fd0db3ffcb282ac38ab7a0369b166cc1091197daad85b51b145b34a4832f1a1a4d573c8254e8d67aeb22f35adb1ab3ece1f
DIST binutils-2.42.tar.xz 27567160 BLAKE2B e67a5c028fba70e70088fd11b38ec8c9c4ed5a019badefda25abeb6275997b16f0891e7ff3424c4b82bbfae92e8992669826920dd53df61cd48469d8f7cd5bd1 SHA512 155f3ba14cd220102f4f29a4f1e5cfee3c48aa03b74603460d05afb73c70d6657a9d87eee6eb88bf13203fe6f31177a5c9addc04384e956e7da8069c8ecd20a6
EBUILD binutils-libs-2.34-r2.ebuild 3659 BLAKE2B d3e8be6e6c01b326a581d27114156992844c17469737362b591c3eaa34cf7b39add758958e47495d86a3dba8e9522a636ae4c5ddb0d8a88eea4bec4d28e18a69 SHA512 bcd69ed536af7e9aed217a33775fb18811243f78c343dc6c93089aa3a6d635e09332eefe66e10eedb9780ba2a88b229fa2e23b4f0ab0210e616255c554adb435
EBUILD binutils-libs-2.35.2.ebuild 4081 BLAKE2B 8ee0c24af580893e14d6d9d08a472549bd3672e6465c02c1e9340df0e674ba0f1398637a4679aafbd26f885bd7f66c6961e71939c79b8bca2ca8fcabb7b837d5 SHA512 e74b8669b7d6ff08f95a6e94e0aa3a5d545aee4f83ae2f968e92293c27b32fe01f2b271e608e6a801ebecc4f7cad3eec50fefd8028b760103c271bde33491c2a
@@ -25,5 +26,6 @@ EBUILD binutils-libs-2.38-r2.ebuild 4784 BLAKE2B 468b3cfd01e4ec3b9543cbe001f98b3
EBUILD binutils-libs-2.39-r5.ebuild 4792 BLAKE2B afbecc0ee2e52b99eff9a25194d36d1a3e51c984723b154d39297231fb5c099d85d75aecfd4c271ae4c0c4d891a9393e8402f90b1a61dc81c433d72bc39c4512 SHA512 e31e70d39ed2e09b87ef3149f4e1f4bf00f3ef2b66fc08cffd635a342db31229b44bf9cd011a0a2b802686a4ba43bbaf738120eea4b17380520f08950c05db9e
EBUILD binutils-libs-2.40-r7.ebuild 5030 BLAKE2B 3d4d3e70abf61164fe100d7e6d51febbefbf65d3d998075c598da8ab2b613ad9f3bfb9f6de57f014b95798f9fc54316e2084c740dabc68d1bb7d09286b89f903 SHA512 38350894368bf21bd544a69dab70f5dd2792d63dc065418716a3eb96c080700c6462fd300eda6fb83d450fd8c811df55e1b8452736e9e8c5750e139211eb4254
EBUILD binutils-libs-2.41-r5.ebuild 5212 BLAKE2B a32307783cf1db07a2f70b8400f968c5122f6bda2bf9dd14ef2ed2af17bae1ea895ea3c55733cdaf3c6a1c3bc087e369556df39de28234ae2210e2d142e1621f SHA512 76992ea90e534b80d502638227b315af07af32e2150413a89690b8936477452d8622993de7a1fb87fc971fefd9708b55969a1d207a6931981123d66f518cb924
-EBUILD binutils-libs-2.42-r1.ebuild 5214 BLAKE2B 23a8c0c003d24a73f30e24b6265b57b3087543e2f12bbb76cc0694795a42b4e4811674a53190a867f449b32be70b18645fc1de6cc6547adb4524fdaf44de7113 SHA512 bb7a7858c88f891f9dde8fa6ef8854836fda21fe95547e3df3295e13cbd15032479a1575d50031939a510986b74dd75180150492e50ac9718f72f11644c01c08
+EBUILD binutils-libs-2.42-r1.ebuild 5363 BLAKE2B bfbb1cafa370501eb3a1f43f7213f02db36960010dc792ce26d4cd77b63142da4651ce4b7cc9543e5e41fb59da9b506d177ac115112724b21deb5d47a185a6e4 SHA512 87cd941145a38bafa6b2749708a87523a55565bc6394a1f78dc097c32f15e90f1025bea5be87758bdf52cc4db85945a18b6b076e472233785c06c44ae55ddde4
+EBUILD binutils-libs-2.42-r2.ebuild 5369 BLAKE2B 0af7396a8481f12342721b85eff1078805b3fdcb145d7fcbddf9dd5071790ce5638c72a09de71831f17819ad80e2b6039c93dc539dca4bef5913d72721385f0b SHA512 45c6c26e342b3493f22088c3ab1d2f2790d8a7b90edb65a4a647038c3882fd02ffe1fd076d4075428c0cd2cba58aaf0b13fece322de46104a566213bdc64bf82
MISC metadata.xml 612 BLAKE2B ceaafd9fd1421e9f3993e003d0029c92a78054c7a2b90bd78afc05370ad19c931c6a7c150545cfb7d57165168e0fdaf3a00dde1905b328826a91cbc70d9548a8 SHA512 c8d33bb8d1c62c7e95758624ed0febbc9d40e9f141bfd280837b3207bcd771412158d71c0cb5548d60be0b236f6fe103621daf7efa8875191982859b566ffa8d
diff --git a/sys-libs/binutils-libs/binutils-libs-2.42-r1.ebuild b/sys-libs/binutils-libs/binutils-libs-2.42-r1.ebuild
index 7f924f8a301c..fcdeb9f8509b 100644
--- a/sys-libs/binutils-libs/binutils-libs-2.42-r1.ebuild
+++ b/sys-libs/binutils-libs/binutils-libs-2.42-r1.ebuild
@@ -77,6 +77,10 @@ pkgversion() {
multilib_src_configure() {
filter-lto
+ # Workaround for lld-17 (bug #914640)
+ # Should be able to drop this w/ >=binutils-2.43
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
local myconf=(
# portage's econf() does not detect presence of --d-d-t
# because it greps only top-level ./configure. But not
diff --git a/sys-libs/binutils-libs/binutils-libs-2.42-r2.ebuild b/sys-libs/binutils-libs/binutils-libs-2.42-r2.ebuild
new file mode 100644
index 000000000000..738e2903e98c
--- /dev/null
+++ b/sys-libs/binutils-libs/binutils-libs-2.42-r2.ebuild
@@ -0,0 +1,172 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PATCH_VER=6
+PATCH_DEV=dilfridge
+
+inherit flag-o-matic libtool toolchain-funcs multilib-minimal
+
+MY_PN="binutils"
+MY_P="${MY_PN}-${PV}"
+PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}}
+PATCH_DEV=${PATCH_DEV:-dilfridge}
+
+DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for external packages"
+HOMEPAGE="https://sourceware.org/binutils/"
+SRC_URI="mirror://gnu/binutils/${MY_P}.tar.xz
+ https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_P}.tar.xz
+ https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${MY_PN}-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
+
+LICENSE="|| ( GPL-3 LGPL-3 )"
+
+SLOT="0/${PV%_p?}.0"
+
+IUSE="64-bit-bfd cet multitarget nls static-libs test"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ nls? ( sys-devel/gettext )
+ test? ( dev-util/dejagnu )
+"
+DEPEND="sys-libs/zlib[${MULTILIB_USEDEP}]"
+# Need a newer binutils-config that'll reset include/lib symlinks for us.
+RDEPEND="${DEPEND}
+ >=sys-devel/binutils-config-5
+"
+
+S="${WORKDIR}/${MY_P%_p?}"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/bfd.h
+)
+
+src_prepare() {
+ if [[ -n ${PATCH_VER} ]] ; then
+ einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}"
+ eapply "${WORKDIR}/patch"/*.patch
+ fi
+
+ # Fix cross-compile relinking issue, bug #626402
+ elibtoolize
+
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ # somehow libtool/configure is messed up and (custom patch at
+ # upstream?) and misdetects (basically assumes) nm can be called
+ # with -B arg -- can't run eautoreconf (fails), so patch up
+ # manually, this would break any target that needs -B to nm
+ sed -i -e 's/lt_cv_path_NM="$tmp_nm -B"/lt_cv_path_NM="$tmp_nm"/' \
+ libctf/configure || die
+ fi
+
+ # See https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html
+ # Avoid really confusing logs from subconfigure spam, makes logs far
+ # more legible.
+ export MAKEOPTS="--output-sync=line ${MAKEOPTS}"
+
+ default
+}
+
+pkgversion() {
+ printf "Gentoo ${PVR}"
+ [[ -n ${PATCHVER} ]] && printf " p${PATCHVER}"
+}
+
+multilib_src_configure() {
+ filter-lto
+
+ # Workaround for lld-17 (bug #914640)
+ # Should be able to drop this w/ >=binutils-2.43
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ local myconf=(
+ # portage's econf() does not detect presence of --d-d-t
+ # because it greps only top-level ./configure. But not
+ # libiberty's or bfd's configure.
+ --disable-dependency-tracking
+ --disable-silent-rules
+ --enable-obsolete
+ --enable-shared
+ --enable-threads
+ # Newer versions (>=2.24) make this an explicit option. #497268
+ --enable-install-libiberty
+ --disable-werror
+ --with-bugurl="https://bugs.gentoo.org/"
+ --with-pkgversion="$(pkgversion)"
+ $(use_enable static-libs static)
+ # The binutils eclass enables this flag for all bi-arch builds,
+ # but other tools often don't care about that support. Put it
+ # beyond a flag if people really want it, but otherwise leave
+ # it disabled as it can slow things down on 32bit arches. #438522
+ $(use_enable 64-bit-bfd)
+ # This only disables building in the zlib subdir.
+ # For binutils itself, it'll use the system version. #591516
+ --without-zlib
+ --with-system-zlib
+ # We only care about the libs, so disable programs. #528088
+ --disable-{binutils,etc,ld,gas,gold,gprof,gprofng}
+ # Disable modules that are in a combined binutils/gdb tree. #490566
+ --disable-{gdb,libdecnumber,readline,sim}
+ # Strip out broken static link flags.
+ # https://gcc.gnu.org/PR56750
+ --without-stage1-ldflags
+ # We pull in all USE-flags that change ABI in an incompatible
+ # way. #666100
+ # USE=multitarget change size of global arrays
+ # USE=64-bit-bfd changes data structures of exported API
+ --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)-$(usex 64-bit-bfd 64 def)
+
+ # avoid automagic dependency on (currently prefix) systems
+ # systems with debuginfod library, bug #754753
+ --without-debuginfod
+
+ # Revisit if it's useful, we do have binutils[zstd] though
+ --without-zstd
+
+ # Allow user to opt into CET for host libraries.
+ # Ideally we would like automagic-or-disabled here.
+ # But the check does not quite work on i686: bug #760926.
+ $(use_enable cet)
+ )
+
+ # mips can't do hash-style=gnu ...
+ if [[ $(tc-arch) != mips ]] ; then
+ myconf+=( --enable-default-hash-style=gnu )
+ fi
+
+ use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd )
+
+ use nls \
+ && myconf+=( --without-included-gettext ) \
+ || myconf+=( --disable-nls )
+
+ if [[ ${CHOST} == *-darwin* ]] && use nls ; then
+ # fix underlinking in opcodes
+ sed -i -e 's/@SHARED_LDFLAGS@/@SHARED_LDFLAGS@ -lintl/' \
+ "${S}"/opcodes/Makefile.in || die
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+
+ # Prevent makeinfo from running as we don't build docs here.
+ # bug #622652
+ sed -i \
+ -e '/^MAKEINFO/s:=.*:= true:' \
+ Makefile || die
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ # Provided by dev-debug/gdb instead
+ rm "${ED}"/usr/share/info/sframe-spec.info || die
+
+ # Provide libiberty.h directly.
+ dosym libiberty/libiberty.h /usr/include/libiberty.h
+}
+
+multilib_src_install_all() {
+ use static-libs || find "${ED}"/usr -name '*.la' -delete
+}