mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-07 21:16:57 +02:00
sys-libs/binutils-libs: Sync with Gentoo
It's from Gentoo commit 41ac22ad581efdd9a431ff98a6fe63355938a654.
This commit is contained in:
parent
e20354c616
commit
c9f9b726f5
@ -18,6 +18,7 @@ DIST binutils-2.42-patches-6.tar.xz 50664 BLAKE2B f13b65a761cfba80caf2e4740c6383
|
|||||||
DIST binutils-2.42.tar.xz 27567160 BLAKE2B e67a5c028fba70e70088fd11b38ec8c9c4ed5a019badefda25abeb6275997b16f0891e7ff3424c4b82bbfae92e8992669826920dd53df61cd48469d8f7cd5bd1 SHA512 155f3ba14cd220102f4f29a4f1e5cfee3c48aa03b74603460d05afb73c70d6657a9d87eee6eb88bf13203fe6f31177a5c9addc04384e956e7da8069c8ecd20a6
|
DIST binutils-2.42.tar.xz 27567160 BLAKE2B e67a5c028fba70e70088fd11b38ec8c9c4ed5a019badefda25abeb6275997b16f0891e7ff3424c4b82bbfae92e8992669826920dd53df61cd48469d8f7cd5bd1 SHA512 155f3ba14cd220102f4f29a4f1e5cfee3c48aa03b74603460d05afb73c70d6657a9d87eee6eb88bf13203fe6f31177a5c9addc04384e956e7da8069c8ecd20a6
|
||||||
DIST binutils-2.43-patches-3.tar.xz 62692 BLAKE2B a189a01a6a99c4fdff124cf90ecc18f874812c17fc735376c855469c487b6a71489ad5c2f86c518d2e029cc83d65757144ff9abddbe7ec3fc06e22f9501c62f4 SHA512 99a30e18fdfd7bdce85bb903f8d61837cfbb639ead8a680ff1a85ad1d615b658e696bdf196c4a002d029f952d34aa441e09e861b22f5400c65f07cce5934cd8f
|
DIST binutils-2.43-patches-3.tar.xz 62692 BLAKE2B a189a01a6a99c4fdff124cf90ecc18f874812c17fc735376c855469c487b6a71489ad5c2f86c518d2e029cc83d65757144ff9abddbe7ec3fc06e22f9501c62f4 SHA512 99a30e18fdfd7bdce85bb903f8d61837cfbb639ead8a680ff1a85ad1d615b658e696bdf196c4a002d029f952d34aa441e09e861b22f5400c65f07cce5934cd8f
|
||||||
DIST binutils-2.43.tar.xz 28175768 BLAKE2B 28b0a04a28273b76eab2d00e00160be889f155f77f5a9d8759ef8dce505c97e97641bf7ec70b92b731b520570a02b06e04e8215b068fcb1bb2573e9ef24732d9 SHA512 93e063163e54d6a6ee2bd48dc754270bf757a3635b49a702ed6b310e929e94063958512d191e66beaf44275f7ea60865dbde138b624626739679fcc306b133bb
|
DIST binutils-2.43.tar.xz 28175768 BLAKE2B 28b0a04a28273b76eab2d00e00160be889f155f77f5a9d8759ef8dce505c97e97641bf7ec70b92b731b520570a02b06e04e8215b068fcb1bb2573e9ef24732d9 SHA512 93e063163e54d6a6ee2bd48dc754270bf757a3635b49a702ed6b310e929e94063958512d191e66beaf44275f7ea60865dbde138b624626739679fcc306b133bb
|
||||||
DIST binutils-2.44-patches-1.tar.xz 9156 BLAKE2B c72a7d0ffdb852f8de9c18e187b5768085b3a070744a4fadef508ab0e865d3a3967ec12a0ee7a325b6b689f39e5243aacd9d3f73ceb723d53592ec6ca640161b SHA512 053de98536e92837d0a08fac26bb0f057431747fe6e82f8b9ac54dd9aed65d8de379d653c0e8a8cd31267b9769825a420db5f40957f8c4eb54a7e4a9d76fadb8
|
|
||||||
DIST binutils-2.44-patches-4.tar.xz 83612 BLAKE2B caa71849dbbfe1181072c84985c786284f5111bbaa638a44e828c6cc4c19e005793d045dc116c772cf7ffed4898f6f6c935d04f94a76c26e59fb3c4f5adf03d1 SHA512 4dd8e6c36a0423ab29a1f4b227c90a05eb61cab380c809a2f49bba27e84d621e6a5eefe4ec510a7c1c60ba93720f92159ac477c02f9e720e1bbcd6aaf6097d26
|
DIST binutils-2.44-patches-4.tar.xz 83612 BLAKE2B caa71849dbbfe1181072c84985c786284f5111bbaa638a44e828c6cc4c19e005793d045dc116c772cf7ffed4898f6f6c935d04f94a76c26e59fb3c4f5adf03d1 SHA512 4dd8e6c36a0423ab29a1f4b227c90a05eb61cab380c809a2f49bba27e84d621e6a5eefe4ec510a7c1c60ba93720f92159ac477c02f9e720e1bbcd6aaf6097d26
|
||||||
DIST binutils-2.44.tar.xz 27285788 BLAKE2B 0eb031ace9fb5a7047b81b5a05b1760f7d332c8ed67f98899f153a45f181b83e661a484551af05c0a9b2adc422da84619103c7b1f3c9fad5327872832b5446aa SHA512 b85d3bbc0e334cf67a96219d3c7c65fbf3e832b2c98a7417bf131f3645a0307057ec81cd2b29ff2563cec53e3d42f73e2c60cc5708e80d4a730efdcc6ae14ad7
|
DIST binutils-2.44.tar.xz 27285788 BLAKE2B 0eb031ace9fb5a7047b81b5a05b1760f7d332c8ed67f98899f153a45f181b83e661a484551af05c0a9b2adc422da84619103c7b1f3c9fad5327872832b5446aa SHA512 b85d3bbc0e334cf67a96219d3c7c65fbf3e832b2c98a7417bf131f3645a0307057ec81cd2b29ff2563cec53e3d42f73e2c60cc5708e80d4a730efdcc6ae14ad7
|
||||||
|
DIST binutils-2.45-patches-1.tar.xz 15588 BLAKE2B b88c62a6483807dfb24c97c534aadc1f930ea2d6cd8ad86734c40458a0e3ac4d149c0ee47c6ba541c462ce0e619dfaa5328c3dd5ffbd94511c487956866c7a38 SHA512 05c890a71d465539b3d066c2fd92930e4d6c9003147395a4c2cb9cc514f412fa392892e2c3b8887493a56b00453ac383612d0cac42e4cacce983e65886537149
|
||||||
|
DIST binutils-2.45.tar.xz 27868232 BLAKE2B 1ce72346b1f531c89feb86b407e2c649151b506ffbd1a02d413411d36f7ede98fa9a1adf75dd941c01df5fe7e6bf151828b269eeb7c278315ca8004bff22eb7f SHA512 c7b10a7466d9fd398d7a0b3f2a43318432668d714f2ec70069a31bdc93c86d28e0fe83792195727167743707fbae45337c0873a0786416db53bbf22860c16ce7
|
||||||
|
@ -1,225 +0,0 @@
|
|||||||
# Copyright 1999-2025 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
inherit flag-o-matic libtool toolchain-funcs multilib-minimal
|
|
||||||
|
|
||||||
DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for external packages"
|
|
||||||
HOMEPAGE="https://sourceware.org/binutils/"
|
|
||||||
|
|
||||||
LICENSE="|| ( GPL-3 LGPL-3 )"
|
|
||||||
IUSE="64-bit-bfd cet multitarget nls static-libs test"
|
|
||||||
|
|
||||||
# Variables that can be set here (ignored for live ebuilds)
|
|
||||||
# PATCH_VER - the patchset version
|
|
||||||
# Default: empty, no patching
|
|
||||||
# PATCH_BINUTILS_VER - the binutils version in the patchset name
|
|
||||||
# - Default: PV
|
|
||||||
# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/...
|
|
||||||
# for the patchsets
|
|
||||||
|
|
||||||
PATCH_VER=1
|
|
||||||
PATCH_DEV=dilfridge
|
|
||||||
|
|
||||||
MY_PN=binutils
|
|
||||||
MY_P=${MY_PN}-${PV}
|
|
||||||
|
|
||||||
if [[ ${PV} == 9999 ]]; then
|
|
||||||
inherit git-r3
|
|
||||||
SLOT="0/${PV}"
|
|
||||||
elif [[ ${PV} == *9999 ]]; then
|
|
||||||
inherit git-r3
|
|
||||||
SLOT="0/$(ver_cut 1-2)"
|
|
||||||
else
|
|
||||||
PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}}
|
|
||||||
PATCH_DEV=${PATCH_DEV:-dilfridge}
|
|
||||||
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"
|
|
||||||
SLOT="0/${PV}"
|
|
||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
|
|
||||||
fi
|
|
||||||
|
|
||||||
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
|
|
||||||
"
|
|
||||||
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
|
|
||||||
MY_BUILDDIR=${WORKDIR}/build
|
|
||||||
|
|
||||||
MULTILIB_WRAPPED_HEADERS=(
|
|
||||||
/usr/include/bfd.h
|
|
||||||
)
|
|
||||||
|
|
||||||
src_unpack() {
|
|
||||||
if [[ ${PV} == *9999 ]] ; then
|
|
||||||
EGIT_REPO_URI="
|
|
||||||
https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git
|
|
||||||
https://github.com/gentoo/binutils-patches
|
|
||||||
"
|
|
||||||
EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git
|
|
||||||
git-r3_src_unpack
|
|
||||||
mv patches-git/9999 patch || die
|
|
||||||
|
|
||||||
if [[ ${PV} != 9999 ]] ; then
|
|
||||||
EGIT_BRANCH=binutils-$(ver_cut 1)_$(ver_cut 2)-branch
|
|
||||||
fi
|
|
||||||
EGIT_REPO_URI="
|
|
||||||
https://sourceware.org/git/binutils-gdb.git
|
|
||||||
https://git.sr.ht/~sourceware/binutils-gdb
|
|
||||||
https://gitlab.com/x86-binutils/binutils-gdb.git
|
|
||||||
"
|
|
||||||
S=${WORKDIR}/binutils
|
|
||||||
EGIT_CHECKOUT_DIR=${S}
|
|
||||||
git-r3_src_unpack
|
|
||||||
else
|
|
||||||
unpack ${MY_P}.tar.xz
|
|
||||||
|
|
||||||
cd "${WORKDIR}" || die
|
|
||||||
unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz
|
|
||||||
|
|
||||||
# _p patch versions are Gentoo specific tarballs ...
|
|
||||||
local dir=${MY_P}
|
|
||||||
dir=${dir/-hppa64/}
|
|
||||||
|
|
||||||
S=${WORKDIR}/${dir}
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd "${WORKDIR}" || die
|
|
||||||
mkdir -p "${MY_BUILDDIR}" || die
|
|
||||||
}
|
|
||||||
|
|
||||||
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() {
|
|
||||||
# bug #814326
|
|
||||||
filter-lto
|
|
||||||
|
|
||||||
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,gprof,gprofng}
|
|
||||||
# Disable modules that are in a combined binutils/gdb tree. #490566
|
|
||||||
--disable-{gdb,gdbserver,libbacktrace,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
|
|
||||||
if [[ ${PV} != 9999 ]] ; then
|
|
||||||
rm "${ED}"/usr/share/info/sframe-spec.info || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
# 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
|
|
||||||
}
|
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
EAPI=8
|
EAPI=8
|
||||||
|
|
||||||
inherit dot-a libtool toolchain-funcs multilib-minimal
|
inherit dot-a flag-o-matic libtool toolchain-funcs multilib-minimal
|
||||||
|
|
||||||
DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for external packages"
|
DESCRIPTION="Core binutils libraries (libbfd, libopcodes, libiberty) for external packages"
|
||||||
HOMEPAGE="https://sourceware.org/binutils/"
|
HOMEPAGE="https://sourceware.org/binutils/"
|
||||||
@ -208,9 +208,37 @@ multilib_src_configure() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
multilib_src_test() {
|
multilib_src_test() {
|
||||||
# Without this, the default `src_test` check for the 'check' target
|
(
|
||||||
# with `-n` may fail with parallel make and silently skip tests (bug #955595)
|
# Tests don't expect LTO
|
||||||
emake check
|
filter-lto
|
||||||
|
|
||||||
|
# If we have e.g. -mfpmath=sse -march=pentium4 in CFLAGS,
|
||||||
|
# we'll get lto1 warnings for some tests which cause
|
||||||
|
# spurious failures because -mfpmath isn't passed at
|
||||||
|
# link-time. Filter accordingly.
|
||||||
|
#
|
||||||
|
# Alternatively, we could pass C{C,XX}_FOR_TARGET with
|
||||||
|
# some (ideally not all, surely would break some tests)
|
||||||
|
# stuffed in.
|
||||||
|
filter-flags '-mfpmath=*'
|
||||||
|
|
||||||
|
# lto-wrapper warnings which confuse tests
|
||||||
|
filter-flags '-Wa,*'
|
||||||
|
|
||||||
|
# bug #637066
|
||||||
|
filter-flags -Wall -Wreturn-type
|
||||||
|
|
||||||
|
# Note that we need 'check' explicitly if ever cleaning this
|
||||||
|
# up: the default `src_test` check for the 'check' target
|
||||||
|
# with `-n` may fail with parallel make and silently skip tests (bug #955595)
|
||||||
|
emake -k check \
|
||||||
|
CFLAGS_FOR_TARGET="${CFLAGS_FOR_TARGET:-${CFLAGS}}" \
|
||||||
|
CXXFLAGS_FOR_TARGET="${CXXFLAGS_FOR_TARGET:-${CXXFLAGS}}" \
|
||||||
|
LDFLAGS_FOR_TARGET="${LDFLAGS_FOR_TARGET:-${LDFLAGS}}" \
|
||||||
|
CFLAGS="${CFLAGS}" \
|
||||||
|
CXXFLAGS="${CXXFLAGS}" \
|
||||||
|
LDFLAGS="${LDFLAGS}"
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
multilib_src_install() {
|
multilib_src_install() {
|
Loading…
Reference in New Issue
Block a user