summaryrefslogtreecommitdiff
path: root/sys-devel/binutils
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel/binutils')
-rw-r--r--sys-devel/binutils/Manifest4
-rw-r--r--sys-devel/binutils/binutils-2.37_p1-r10.ebuild (renamed from sys-devel/binutils/binutils-2.35.2-r10.ebuild)26
-rw-r--r--sys-devel/binutils/files/binutils-2.35.1-cet.patch103
-rw-r--r--sys-devel/binutils/files/binutils-2.35.2-powerpc-tests.patch136
-rw-r--r--sys-devel/binutils/files/binutils-configure-LANG.patch65
5 files changed, 17 insertions, 317 deletions
diff --git a/sys-devel/binutils/Manifest b/sys-devel/binutils/Manifest
index 4ac4c002..fdccfc44 100644
--- a/sys-devel/binutils/Manifest
+++ b/sys-devel/binutils/Manifest
@@ -1,2 +1,2 @@
-DIST binutils-2.35.2-patches-1.tar.xz 11836 BLAKE2B 0141349c9618992d1ab1e0309f7ed8fbc43b60a58be1dfed05eae8a8fee857241d9e112ae673da6fc9778767675f536ece818cb85567367bb1c8f87a0693623f SHA512 35de5f227c745c5fb800784fe657b2a6216faf43e2498e8481e7b0dc79b0d2f86b3b6a10b896e060319a77a51c61d2e1b7a951ae962b3a6ef8c1a2a261d9bb6c
-DIST binutils-2.35.2.tar.xz 22056908 BLAKE2B 9c392e0db2b482442f9476f30bd80cf2796321cbf7be79cf21af7bef167b6074c4ae009dcf9b438d2f2f4a23381c935176b2cfa85de1a526ab46e0fd844a7ca5 SHA512 9974ede5978d32e0d68fef23da48fa00bd06b0bff7ec45b00ca075c126d6bbe0cf2defc03ecc3f17bc6cc85b64271a13009c4049d7ba17de26e84e3a6e2c0348
+DIST binutils-2.37_p1-patches-0.tar.xz 1392 BLAKE2B 128930a381022fea5d1fcb0695953e8dada2513b088b8540fe08d4e0da93ec18b6bf9c78acad6ec5a8982ae2c115d143462ef0bb7bfd63cfeb06c10ad472c2f8 SHA512 44666821f96349e96685ffcfd53a80a94659e38fc63eeeb980d0eed13aab03ae3e2d5059b4932cd9018f2f7698cdb5e15b443d60c01b2bd1385eeb0c698e0e24
+DIST binutils-2.37_p1.tar.xz 22992196 BLAKE2B a8aa0f386d03a5b1466166ac7c40989c228351ccf0949a9b462b4d4615d70ab7e1a45351299140a42baf39c317b8007733c253eb547ee1dfadb612addde11621 SHA512 46c297ec2a7a5b81d1c6e3f16486a6dc2860a07520fe2dd8871d1eb5160065bbe2cc6b0415d5352bf12284133e5817a4e429e6077182d615e969bd1a8f52ed28
diff --git a/sys-devel/binutils/binutils-2.35.2-r10.ebuild b/sys-devel/binutils/binutils-2.37_p1-r10.ebuild
index a4d7d130..e5e61cf2 100644
--- a/sys-devel/binutils/binutils-2.35.2-r10.ebuild
+++ b/sys-devel/binutils/binutils-2.37_p1-r10.ebuild
@@ -19,7 +19,7 @@ REQUIRED_USE="default-gold? ( gold )"
# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/...
# for the patchsets
-PATCH_VER=1
+PATCH_VER=0
PATCH_DEV=dilfridge
if [[ ${PV} == 9999* ]]; then
@@ -27,12 +27,13 @@ if [[ ${PV} == 9999* ]]; then
SLOT=${PV}
else
PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}}
- PATCH_DEV=${PATCH_DEV:-slyfox}
- SRC_URI="mirror://gnu/binutils/binutils-${PV}.tar.xz"
+ PATCH_DEV=${PATCH_DEV:-dilfridge}
+ SRC_URI="mirror://gnu/binutils/binutils-${PV}.tar.xz https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PV}.tar.xz"
[[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI}
https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
- SLOT="2.35"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+ SLOT=$(ver_cut 1-2)
+ # live ebuild
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
#
@@ -67,11 +68,6 @@ BDEPEND="
RESTRICT="!test? ( test )"
-PATCHES=(
- "${FILESDIR}"/${PN}-2.35.1-cet.patch
- "${FILESDIR}"/${PN}-2.35.2-powerpc-tests.patch
-)
-
MY_BUILDDIR=${WORKDIR}/build
src_unpack() {
@@ -86,10 +82,16 @@ src_unpack() {
EGIT_CHECKOUT_DIR=${S}
git-r3_src_unpack
else
- unpack ${P}.tar.xz
+ unpack ${P/-hppa64/}.tar.xz
cd "${WORKDIR}" || die
unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz
+
+ # _p patch versions are Gentoo specific tarballs ...
+ local dir=${P%_p?}
+ dir=${dir/-hppa64/}
+
+ S=${WORKDIR}/${dir}
fi
cd "${WORKDIR}" || die
@@ -252,6 +254,8 @@ src_configure() {
--enable-install-libiberty
# Available from 2.35 on
--enable-textrel-check=warning
+ # Works better than vapier's patch... #808787
+ --enable-new-dtags
--disable-werror
--with-bugurl="$(toolchain-binutils_bugurl)"
--with-pkgversion="$(toolchain-binutils_pkgversion)"
diff --git a/sys-devel/binutils/files/binutils-2.35.1-cet.patch b/sys-devel/binutils/files/binutils-2.35.1-cet.patch
deleted file mode 100644
index 7477ff90..00000000
--- a/sys-devel/binutils/files/binutils-2.35.1-cet.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-https://bugs.gentoo.org/771765
-https://sourceware.org/PR27397
-
-On i586-like CPUs endbr32 added by -Wl,-z,ibt,-z,shstk
-generates crashing binaries and causes ./configure failure.
-
-From 847e4b3207f97762dc641db8d3b188081c3370c3 Mon Sep 17 00:00:00 2001
-From: "H.J. Lu" <hjl.tools@gmail.com>
-Date: Fri, 12 Feb 2021 16:30:23 -0800
-Subject: [PATCH] GCC_CET_HOST_FLAGS: Check if host supports multi-byte NOPs
-
----
- config/cet.m4 | 19 ++++++++++++++++---
- libiberty/configure | 29 +++++++++++++++++++++++++++++
- 2 files changed, 45 insertions(+), 3 deletions(-)
-
-diff --git a/config/cet.m4 b/config/cet.m4
-index c67fb4f35b6..7718be1afe8 100644
---- a/config/cet.m4
-+++ b/config/cet.m4
-@@ -130,6 +130,18 @@ fi
- if test x$may_have_cet = xyes; then
- if test x$cross_compiling = xno; then
- AC_TRY_RUN([
-+int
-+main ()
-+{
-+ asm ("endbr32");
-+ return 0;
-+}
-+ ],
-+ [have_multi_byte_nop=yes],
-+ [have_multi_byte_nop=no])
-+ have_cet=no
-+ if test x$have_multi_byte_nop = xyes; then
-+ AC_TRY_RUN([
- static void
- foo (void)
- {
-@@ -155,9 +167,10 @@ main ()
- bar ();
- return 0;
- }
-- ],
-- [have_cet=no],
-- [have_cet=yes])
-+ ],
-+ [have_cet=no],
-+ [have_cet=yes])
-+ fi
- if test x$enable_cet = xno -a x$have_cet = xyes; then
- AC_MSG_ERROR([Intel CET must be enabled on Intel CET enabled host])
- fi
-diff --git a/libiberty/configure b/libiberty/configure
-index 160b8c9e8b1..29a690d44fc 100755
---- a/libiberty/configure
-+++ b/libiberty/configure
-@@ -5539,6 +5539,34 @@ else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
-
-+int
-+main ()
-+{
-+ asm ("endbr32");
-+ return 0;
-+}
-+
-+_ACEOF
-+if ac_fn_c_try_run "$LINENO"; then :
-+ have_multi_byte_nop=yes
-+else
-+ have_multi_byte_nop=no
-+fi
-+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-+ conftest.$ac_objext conftest.beam conftest.$ac_ext
-+fi
-+
-+ have_cet=no
-+ if test x$have_multi_byte_nop = xyes; then
-+ if test "$cross_compiling" = yes; then :
-+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+as_fn_error $? "cannot run test program while cross compiling
-+See \`config.log' for more details" "$LINENO" 5; }
-+else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+
- static void
- foo (void)
- {
-@@ -5575,6 +5603,7 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
- fi
-
-+ fi
- if test x$enable_cet = xno -a x$have_cet = xyes; then
- as_fn_error $? "Intel CET must be enabled on Intel CET enabled host" "$LINENO" 5
- fi
---
-2.29.2
-
diff --git a/sys-devel/binutils/files/binutils-2.35.2-powerpc-tests.patch b/sys-devel/binutils/files/binutils-2.35.2-powerpc-tests.patch
deleted file mode 100644
index 711194b1..00000000
--- a/sys-devel/binutils/files/binutils-2.35.2-powerpc-tests.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-From: Alan Modra <amodra@gmail.com>
-Date: Mon, 16 Nov 2020 22:08:05 +0000 (+1030)
-Subject: PR26882, --enable-textrel-check=warning test failures on powerpc
-X-Git-Tag: binutils-2_36~578
-X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=7cc340055d3993a25ded914aef88f784f16d46bc;hp=6f2643dbd2192e6fff77a5e6fec5141d209fd7d0
-
-PR26882, --enable-textrel-check=warning test failures on powerpc
-
- PR 26882
- * testsuite/ld-powerpc/dotsym3.d: Add "-z notext" to ld options.
- * testsuite/ld-powerpc/dotsym4.d: Likewise.
- * testsuite/ld-powerpc/ppc476-shared.d: Likewise.
- * testsuite/ld-powerpc/ppc476-shared2.d: Likewise.
- * testsuite/ld-powerpc/powerpc.exp: Likewise for various tests.
- * testsuite/ld-undefined/weak-fundef.s: Add BLPLT variant.
- * testsuite/ld-undefined/weak-undef.exp: Define BLPLT for ppc32.
----
-
-diff --git a/ld/testsuite/ld-powerpc/dotsym3.d b/ld/testsuite/ld-powerpc/dotsym3.d
-index fac2f8ec732..215a9c2a6c1 100644
---- a/ld/testsuite/ld-powerpc/dotsym3.d
-+++ b/ld/testsuite/ld-powerpc/dotsym3.d
-@@ -1,7 +1,7 @@
- #source: nodotsym.s
- #source: dotsymref.s
- #as: -a64
--#ld: -melf64ppc -Ttext=0x1000 -shared
-+#ld: -melf64ppc -Ttext=0x1000 -shared -z notext
- #objdump: -dR
-
- .*: file format .*
-diff --git a/ld/testsuite/ld-powerpc/dotsym4.d b/ld/testsuite/ld-powerpc/dotsym4.d
-index fdd92f3da76..d774e83bcf6 100644
---- a/ld/testsuite/ld-powerpc/dotsym4.d
-+++ b/ld/testsuite/ld-powerpc/dotsym4.d
-@@ -1,7 +1,7 @@
- #source: dotsymref.s
- #source: nodotsym.s
- #as: -a64
--#ld: -melf64ppc -Ttext=0x1000 -shared
-+#ld: -melf64ppc -Ttext=0x1000 -shared -z notext
- #objdump: -dR
-
- .*: file format .*
-diff --git a/ld/testsuite/ld-powerpc/powerpc.exp b/ld/testsuite/ld-powerpc/powerpc.exp
-index 74af28d7421..2cbefb841c2 100644
---- a/ld/testsuite/ld-powerpc/powerpc.exp
-+++ b/ld/testsuite/ld-powerpc/powerpc.exp
-@@ -99,7 +99,7 @@ proc supports_ppc64 { } {
- # readelf: Apply readelf options on result. Compare with regex (last arg).
-
- set ppcelftests {
-- {"Reloc section order" "-melf32ppc -shared -z nocombreloc" "" "-a32" {reloc.s}
-+ {"Reloc section order" "-melf32ppc -shared -z nocombreloc -z notext" "" "-a32" {reloc.s}
- {{objdump -hw reloc.d}} "reloc.so"}
- {"APUinfo section processing" "-melf32ppc" ""
- "-a32 -me500" {apuinfo1.s apuinfo-nul.s apuinfo2.s}
-@@ -134,7 +134,7 @@ set ppcelftests {
- {{readelf -WSsrl tlsexe32no.r} {objdump -dr tlsexe32no.d}
- {objdump -sj.got tlsexe32no.g} {objdump -sj.tdata tlsexe32.t}}
- "tlsexe32no"}
-- {"TLS32 shared" "-shared -melf32ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tls32.o" "" "" {}
-+ {"TLS32 shared" "-shared -melf32ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv -z notext tmpdir/tls32.o" "" "" {}
- {{readelf -WSsrl tlsso32.r} {objdump -dr tlsso32.d}
- {objdump -sj.got tlsso32.g} {objdump -sj.tdata tlsso32.t}}
- "tls32.so"}
-@@ -202,7 +202,7 @@ set ppc64elftests {
- {{readelf -WSsrl tlsexeno.r} {objdump -dr tlsexeno.d}
- {objdump -sj.got tlsexeno.g} {objdump -sj.tdata tlsexe.t}}
- "tlsexeno"}
-- {"TLS shared" "-shared -melf64ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tls.o" "" "" {}
-+ {"TLS shared" "-shared -melf64ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv -z notext tmpdir/tls.o" "" "" {}
- {{readelf -WSsrl tlsso.r} {objdump -dr tlsso.d}
- {objdump -sj.got tlsso.g} {objdump -sj.tdata tlsso.t}}
- "tls.so"}
-@@ -229,7 +229,7 @@ set ppc64elftests {
- {{readelf -WSsrl tlsexetoc.r} {objdump -dr tlsexetocno.d}
- {objdump -sj.got tlsexetocno.g} {objdump -sj.tdata tlsexetoc.t}}
- "tlsexetocno"}
-- {"TLSTOC shared" "-shared -melf64ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tlstoc.o" "" "" {}
-+ {"TLSTOC shared" "-shared -melf64ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv -z notext tmpdir/tlstoc.o" "" "" {}
- {{readelf -WSsrl tlstocso.r} {objdump -dr tlstocso.d}
- {objdump -sj.got tlstocso.g} {objdump -sj.tdata tlstocso.t}}
- "tlstoc.so"}
-diff --git a/ld/testsuite/ld-powerpc/ppc476-shared.d b/ld/testsuite/ld-powerpc/ppc476-shared.d
-index 7953cb44e25..3b2cc8a155c 100644
---- a/ld/testsuite/ld-powerpc/ppc476-shared.d
-+++ b/ld/testsuite/ld-powerpc/ppc476-shared.d
-@@ -1,6 +1,6 @@
- #source: ppc476-shared.s
- #as: -a32
--#ld: -melf32ppc -q -shared -z common-page-size=0x10000 --ppc476-workaround -T ppc476-shared.lnk
-+#ld: -melf32ppc -q -shared -z common-page-size=0x10000 -z notext --ppc476-workaround -T ppc476-shared.lnk
- #objdump: -dr
- #target: powerpc*-*-*
-
-diff --git a/ld/testsuite/ld-powerpc/ppc476-shared2.d b/ld/testsuite/ld-powerpc/ppc476-shared2.d
-index 26a5c41f988..48917fd4d92 100644
---- a/ld/testsuite/ld-powerpc/ppc476-shared2.d
-+++ b/ld/testsuite/ld-powerpc/ppc476-shared2.d
-@@ -1,6 +1,6 @@
- #source: ppc476-shared.s
- #as: -a32
--#ld: -melf32ppc -shared -z common-page-size=0x10000 --ppc476-workaround -T ppc476-shared.lnk
-+#ld: -melf32ppc -shared -z common-page-size=0x10000 -z notext --ppc476-workaround -T ppc476-shared.lnk
- #objdump: -R
- #target: powerpc*-*-*
-
-diff --git a/ld/testsuite/ld-undefined/weak-fundef.s b/ld/testsuite/ld-undefined/weak-fundef.s
-index 2c20f799417..de8f641b6c2 100644
---- a/ld/testsuite/ld-undefined/weak-fundef.s
-+++ b/ld/testsuite/ld-undefined/weak-fundef.s
-@@ -5,6 +5,9 @@
- bl undef_weak_fun
- nop
- .endif
-+ .ifdef BLPLT
-+ bl undef_weak_fun@plt
-+ .endif
- .ifdef CALLPLT
- call undef_weak_fun@plt
- .endif
-diff --git a/ld/testsuite/ld-undefined/weak-undef.exp b/ld/testsuite/ld-undefined/weak-undef.exp
-index 50c8e1483e3..14b6774c5bc 100644
---- a/ld/testsuite/ld-undefined/weak-undef.exp
-+++ b/ld/testsuite/ld-undefined/weak-undef.exp
-@@ -105,7 +105,8 @@ set asflags ""
- switch -glob $target_triplet {
- aarch64* -
- arm* -
-- powerpc* { set asflags "--defsym BL=1" }
-+ powerpc64* { set asflags "--defsym BL=1" }
-+ powerpc* { set asflags "--defsym BLPLT=1" }
- hppa* { set asflags "--defsym HPPA=1" }
- i\[3-7\]86* -
- x86_64* { set asflags "--defsym CALLPLT=1" }
diff --git a/sys-devel/binutils/files/binutils-configure-LANG.patch b/sys-devel/binutils/files/binutils-configure-LANG.patch
deleted file mode 100644
index 5521d196..00000000
--- a/sys-devel/binutils/files/binutils-configure-LANG.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-The LANG vars aren't reset early enough so when sed tries to use [a-zA-Z] in
-option parsing, it may break.
-
-http://bugs.gentoo.org/103483
-http://bugs.gentoo.org/122216
-
---- configure
-+++ configure
-@@ -54,6 +54,19 @@
- infodir='${prefix}/info'
- mandir='${prefix}/man'
-
-+# NLS nuisances.
-+for as_var in \
-+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
-+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
-+ LC_TELEPHONE LC_TIME
-+do
-+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
-+ eval $as_var=C; export $as_var
-+ else
-+ unset $as_var
-+ fi
-+done
-+
- # Initialize some other variables.
- subdirs=
- MFLAGS= MAKEFLAGS=
-@@ -452,16 +463,6 @@
- esac
- done
-
--# NLS nuisances.
--# Only set these to C if already set. These must not be set unconditionally
--# because not all systems understand e.g. LANG=C (notably SCO).
--# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
--# Non-C LC_CTYPE values break the ctype check.
--if test "${LANG+set}" = set; then LANG=C; export LANG; fi
--if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
--if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
--if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
--
- # confdefs.h avoids OS command line length limits that DEFS can exceed.
- rm -rf conftest* confdefs.h
- # AIX cpp loses on an empty file, so make sure it contains at least a newline.
-@@ -1850,6 +1850,19 @@
- # Compiler output produced by configure, useful for debugging
- # configure, is in ./config.log if it exists.
-
-+# NLS nuisances.
-+for as_var in \
-+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
-+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
-+ LC_TELEPHONE LC_TIME
-+do
-+ if (set +x; test -z "`(eval \$as_var=C; export \$as_var) 2>&1`"); then
-+ eval \$as_var=C; export \$as_var
-+ else
-+ unset \$as_var
-+ fi
-+done
-+
- ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
- for ac_option
- do