Compare commits

...
Sign in to create a new pull request.

4 commits

Author SHA1 Message Date
Nick Clifton
75e2d2f9f5 Rebase to GNU Binutils 2.46.1 2026-06-10 10:02:24 +01:00
Nick Clifton
a2e6885203 Add support for zstd compression. (#2454341) 2026-04-08 11:32:11 +01:00
Nick Clifton
f3398aab22 Fix Risc-V linker testsuite failures caused by #2428281. 2026-03-21 07:52:11 +00:00
Nick Clifton
c94bc05b04 Rebase to 2.46 release 2026-02-09 16:39:58 +00:00
3 changed files with 104 additions and 37 deletions

View file

@ -217,28 +217,6 @@ diff -rup binutils-with-gold-2.45.50-beab972c07d,orig/binutils/testsuite/binutil
strip_test_with_saving_a_symbol
# Test stripping an archive.
@@ -1186,6 +1194,10 @@ switch [copy_setup] {
"$OBJCOPY" "$OBJCOPYFLAGS" "$test5"
if [is_elf_format] {
keep_debug_symbols_and_check_links "$STRIP" "--only-keep-debug $STRIPFLAGS" "$test6"
+
+ # The RISC-V target compiles with annotation enabled and these symbols remain after stripping.
+ setup_xfail riscv*-*-*
+
keep_debug_symbols_for_elf_relocatable "$STRIP" "--only-keep-debug $STRIPFLAGS" "$test7"
}
}
@@ -1197,6 +1209,10 @@ switch [copy_setup] {
"$OBJCOPY" "$OBJCOPYFLAGS" "$test5"
if [is_elf_format] {
keep_debug_symbols_and_check_links "$STRIP" "--only-keep-debug $STRIPFLAGS" "$test6"
+
+ # The RISC-V target compiles with annotation enabled and these symbols remain after stripping.
+ setup_xfail riscv*-*-*
+
keep_debug_symbols_for_elf_relocatable "$STRIP" "--only-keep-debug $STRIPFLAGS" "$test7"
}
}
@@ -1503,7 +1519,7 @@ proc objcopy_test_without_global_symbol
# in object files, so they will fail this test.
setup_xfail aarch64*-*-* arm*-*-*
@ -264,11 +242,77 @@ diff -rup binutils-with-gold-2.45.50-beab972c07d,orig/ld/testsuite/lib/ld-lib.ex
if {![info exists ctf_available_saved]} {
set ctf_available_saved 0
--- binutils.orig/binutils/testsuite/lib/binutils-common.exp 2026-01-05 08:49:32.868601146 +0000
+++ binutils-with-gold-2.45.50-be970c68891/binutils/testsuite/lib/binutils-common.exp 2026-01-05 08:50:01.876703040 +0000
@@ -757,6 +757,9 @@ proc prune_warnings_extra { text } {
regsub -all "(^|\n)(\[^\n\]*lto-wrapper: warning: using serial compilation of \[0-9\]+ LTRANS jobs\[^\n\]*\n?)+" $text "\\1" text
regsub -all "(^|\n)(\[^\n\]*lto-wrapper: note: \[^\n\]*\n?)+" $text "\\1" text
diff -rup binutils.orig/ld/testsuite/ld-riscv-elf/data-reloc-rv32-pic.d binutils-with-gold-2.46/ld/testsuite/ld-riscv-elf/data-reloc-rv32-pic.d
--- binutils.orig/ld/testsuite/ld-riscv-elf/data-reloc-rv32-pic.d 2026-03-20 13:02:05.468700958 +0000
+++ binutils-with-gold-2.46/ld/testsuite/ld-riscv-elf/data-reloc-rv32-pic.d 2026-03-20 13:05:31.155200130 +0000
@@ -1,6 +1,6 @@
#source: data-reloc.s
#as: -march=rv32i -mabi=ilp32 -defsym __abs__=1 -defsym __addr__=1 -defsym __undef__=1
-#ld: -m[riscv_choose_ilp32_emul] -Ttext 0x8000 --defsym _start=0x0 --defsym abs=0x100 --defsym abs_local=0x200 -shared
+#ld: -m[riscv_choose_ilp32_emul] -Ttext 0x8000 --defsym _start=0x0 --defsym abs=0x100 --defsym abs_local=0x200 -shared -z notext
#objdump: -dR
.*:[ ]+file format .*
diff -rup binutils.orig/ld/testsuite/ld-riscv-elf/data-reloc-rv32-pie.d binutils-with-gold-2.46/ld/testsuite/ld-riscv-elf/data-reloc-rv32-pie.d
--- binutils.orig/ld/testsuite/ld-riscv-elf/data-reloc-rv32-pie.d 2026-03-20 13:02:05.468700958 +0000
+++ binutils-with-gold-2.46/ld/testsuite/ld-riscv-elf/data-reloc-rv32-pie.d 2026-03-20 13:05:52.846252771 +0000
@@ -1,6 +1,6 @@
#source: data-reloc.s
#as: -march=rv32i -mabi=ilp32 -defsym __abs__=1 -defsym __addr__=1
-#ld: -m[riscv_choose_ilp32_emul] -Ttext 0x8000 --defsym _start=0x0 --defsym abs=0x100 --defsym abs_local=0x200 -pie
+#ld: -m[riscv_choose_ilp32_emul] -Ttext 0x8000 --defsym _start=0x0 --defsym abs=0x100 --defsym abs_local=0x200 -pie -z notext
#objdump: -dR
.*:[ ]+file format .*
diff -rup binutils.orig/ld/testsuite/ld-riscv-elf/data-reloc-rv32-symbolic.d binutils-with-gold-2.46/ld/testsuite/ld-riscv-elf/data-reloc-rv32-symbolic.d
--- binutils.orig/ld/testsuite/ld-riscv-elf/data-reloc-rv32-symbolic.d 2026-03-20 13:02:05.468700958 +0000
+++ binutils-with-gold-2.46/ld/testsuite/ld-riscv-elf/data-reloc-rv32-symbolic.d 2026-03-20 13:06:01.427273593 +0000
@@ -1,6 +1,6 @@
#source: data-reloc.s
#as: -march=rv32i -mabi=ilp32 -defsym __abs__=1 -defsym __addr__=1 -defsym __undef__=1
-#ld: -m[riscv_choose_ilp32_emul] -Ttext 0x8000 --defsym _start=0x0 --defsym abs=0x100 --defsym abs_local=0x200 -shared -Bsymbolic
+#ld: -m[riscv_choose_ilp32_emul] -Ttext 0x8000 --defsym _start=0x0 --defsym abs=0x100 --defsym abs_local=0x200 -shared -Bsymbolic -z notext
#objdump: -dR
.*:[ ]+file format .*
diff -rup binutils.orig/ld/testsuite/ld-riscv-elf/data-reloc-rv64-pic.d binutils-with-gold-2.46/ld/testsuite/ld-riscv-elf/data-reloc-rv64-pic.d
--- binutils.orig/ld/testsuite/ld-riscv-elf/data-reloc-rv64-pic.d 2026-03-20 13:02:05.468700958 +0000
+++ binutils-with-gold-2.46/ld/testsuite/ld-riscv-elf/data-reloc-rv64-pic.d 2026-03-20 13:04:07.601997355 +0000
@@ -1,6 +1,6 @@
#source: data-reloc.s
#as: -march=rv64i -mabi=lp64 -defsym __64_bit__=1 -defsym __abs__=1 -defsym __addr__=1 -defsym __undef__=1
-#ld: -m[riscv_choose_lp64_emul] -Ttext 0x8000 --defsym _start=0x0 --defsym abs=0x100 --defsym abs_local=0x200 -shared
+#ld: -m[riscv_choose_lp64_emul] -Ttext 0x8000 --defsym _start=0x0 --defsym abs=0x100 --defsym abs_local=0x200 -shared -z notext
#objdump: -dR
.*:[ ]+file format .*
diff -rup binutils.orig/ld/testsuite/ld-riscv-elf/data-reloc-rv64-pie.d binutils-with-gold-2.46/ld/testsuite/ld-riscv-elf/data-reloc-rv64-pie.d
--- binutils.orig/ld/testsuite/ld-riscv-elf/data-reloc-rv64-pie.d 2026-03-20 13:02:05.468700958 +0000
+++ binutils-with-gold-2.46/ld/testsuite/ld-riscv-elf/data-reloc-rv64-pie.d 2026-03-20 13:04:57.106117494 +0000
@@ -1,6 +1,6 @@
#source: data-reloc.s
#as: -march=rv64i -mabi=lp64 -defsym __64_bit__=1 -defsym __abs__=1 -defsym __addr__=1
-#ld: -m[riscv_choose_lp64_emul] -Ttext 0x8000 --defsym _start=0x0 --defsym abs=0x100 --defsym abs_local=0x200 -pie
+#ld: -m[riscv_choose_lp64_emul] -Ttext 0x8000 --defsym _start=0x0 --defsym abs=0x100 --defsym abs_local=0x200 -pie -z notext
#objdump: -dR
.*:[ ]+file format .*
diff -rup binutils.orig/ld/testsuite/ld-riscv-elf/data-reloc-rv64-symbolic.d binutils-with-gold-2.46/ld/testsuite/ld-riscv-elf/data-reloc-rv64-symbolic.d
--- binutils.orig/ld/testsuite/ld-riscv-elf/data-reloc-rv64-symbolic.d 2026-03-20 13:02:05.468700958 +0000
+++ binutils-with-gold-2.46/ld/testsuite/ld-riscv-elf/data-reloc-rv64-symbolic.d 2026-03-20 13:05:14.650160073 +0000
@@ -1,6 +1,6 @@
#source: data-reloc.s
#as: -march=rv64i -mabi=lp64 -defsym __64_bit__=1 -defsym __abs__=1 -defsym __addr__=1 -defsym __undef__=1
-#ld: -m[riscv_choose_lp64_emul] -Ttext 0x8000 --defsym _start=0x0 --defsym abs=0x100 --defsym abs_local=0x200 -shared -Bsymbolic
+#ld: -m[riscv_choose_lp64_emul] -Ttext 0x8000 --defsym _start=0x0 --defsym abs=0x100 --defsym abs_local=0x200 -shared -Bsymbolic -z notext
#objdump: -dR
.*:[ ]+file format .*
--- binutils.orig/binutils/testsuite/lib/binutils-common.exp 2026-06-09 14:11:37.775595474 +0100
+++ binutils-with-gold-2.46.1/binutils/testsuite/lib/binutils-common.exp 2026-06-09 14:11:57.453043367 +0100
@@ -795,6 +795,9 @@ proc prune_warnings_extra { text } {
# Ignore warnings about linking objects with an old sframe format
regsub -all {(^|\n)([^\n]* unexpected SFrame format version [^\n]*\n[^\n]* SFrame section ignored\n?)+} $text {\1} text
+ # Skip warnings about the LTO plugin being needed.
+ regsub -all "(^|\n)(\[^\n\]*:\[^\n\]*plugin needed to handle lto object\[^\n\]*\n?)+" $text "\\1" text

View file

@ -6,7 +6,7 @@ Name: binutils%{?_with_debug:-debug}
# A version number of X.XX.90 is a pre-release snapshot.
# The variable %%{source} (see below) should be set to indicate which of these
# origins is being used.
Version: 2.45.90
Version: 2.46.1
Release: 1%{?dist}
License: GPL-3.0-or-later AND (GPL-3.0-or-later WITH Bison-exception-2.2) AND (LGPL-2.0-or-later WITH GCC-exception-2.0) AND BSD-3-Clause AND GFDL-1.3-or-later AND GPL-2.0-or-later AND LGPL-2.1-or-later AND LGPL-2.0-or-later
URL: https://sourceware.org/binutils
@ -27,6 +27,7 @@ URL: https://sourceware.org/binutils
# --without systemzlib Use the binutils version of zlib. Default is to use the system version.
# --without testsuite Do not run the testsuite. Default is to run it.
# --without xxhash Do not link against the xxhash library.
# --without zstd Do not link against the zstd library.
# Other configuration options can be set by modifying the following defines.
@ -120,8 +121,8 @@ URL: https://sourceware.org/binutils
# They are a "snapshot" of the about to be released branch sources, rather than
# a snapshot of the mainline development sources.
# %%define source official-release
%define source even-pre-release
%define source official-release
# %%define source even-pre-release
# %%define source odd-pre-release
# %%define source snapshot
# %%define source tarball
@ -151,6 +152,8 @@ URL: https://sourceware.org/binutils
%bcond_without testsuite
# Default: Use the xxhash-devel library.
%bcond_without xxhash
# Default: Use the libztsd-devel library.
%bcond_without zstd
# Note - in the future the gold linker may become deprecated.
%ifnarch riscv64
@ -216,8 +219,8 @@ URL: https://sourceware.org/binutils
#----------------------------------------------------------------------------
%if "%{source}" == "official-release"
# Source0: https://ftp.gnu.org/gnu/binutils/binutils-with-gold-%%{version}.tar.xz
Source0: https://ftp.gnu.org/gnu/binutils/binutils-%{version}.tar.xz
Source0: https://ftp.gnu.org/gnu/binutils/binutils-with-gold-%{version}.tar.xz
# Source0: https://ftp.gnu.org/gnu/binutils/binutils-%%{version}.tar.xz
%elif "%{source}" == "even-pre-release"
Source0: binutils-with-gold-%{version}.tar.xz
%elif "%{source}" == "odd-pre-release"
@ -346,10 +349,6 @@ Patch20: binutils-ld-default-z-text.patch
#----------------------------------------------------------------------------
# Purpose: Fix an issue with object attributes for the AArch64 target.
# Lifetime: TEMPORARY - should be fixed by the 2.46 release.
Patch97: binutils-aarch64-obj-attr.patch
# Purpose: Remove the Build protected-func-2 without PIE linker tests
# as these are currently failing.
# Lifetime: TEMPORARY - should be fixed by the 2.46 release.
@ -426,6 +425,10 @@ BuildRequires: elfutils-debuginfod-client-devel
BuildRequires: xxhash-devel
%endif
%if %{with zstd}
BuildRequires: libzstd-devel
%endif
Requires(post): %{_sbindir}/alternatives
Requires(preun): %{_sbindir}/alternatives
# We also need rm.
@ -721,6 +724,14 @@ compute_global_configuration()
%if %{with xxhash}
CARGS="$CARGS --with-xxhash=yes"
%else
CARGS="$CARGS --with-xxhash=no"
%endif
%if %{with zstd}
CARGS="$CARGS --with-zstd=yes"
%else
CARGS="$CARGS --with-zstd=no"
%endif
%if %{default_compress_debug}
@ -1495,6 +1506,18 @@ exit 0
#----------------------------------------------------------------------------
%changelog
* Tue Jun 09 2026 Nick Clifton <nickc@redhat.com> - 2.46.1-1
- Rebase to the 2.46.1 release.
* Wed Apr 08 2026 Nick Clifton <nickc@redhat.com> - 2.46-3
- Add support for zstd compression. (#2454341)
* Fri Mar 20 2026 Nick Clifton <nickc@redhat.com> - 2.46-2
- Fix Risc-V linker testsuite failures caused by #2428281.
* Mon Feb 09 2026 Nick Clifton <nickc@redhat.com> - 2.46-1
- Rebase to 2.46 release.
* Tue Jan 27 2026 Nick Clifton <nickc@redhat.com> - 2.45.90-1
- Rebase to pre-release snapshot.

View file

@ -1,2 +1,2 @@
SHA512 (binutils-with-gold-2.45.90.tar.xz) = f12916659d2f09cfe63071cecb317a337b43d55b83f71a44043a3027efe0a027c2c2049a5dd840190e33c21c0fbfc5cdeedab13eead4da053ee17179dc68b391
SHA512 (binutils-with-gold-2.46.1.tar.xz) = c47c0382a77133391556a9ac48586cd3ed101bfeea81e500a97e69b4056dd515351078ae78d026a1c1906648770bf828628dc39fd4cd86f84f1c9ec273d87280
SHA512 (binutils-2.19.50.0.1-output-format.sed) = 2f8686b0c8af13c98cda056824c2820416f6e2d003f70b78ccf5314525b9ee3684d421dfa83e638a2d42d06ea4d4bdaf5226b64d6ec26f7ff59c44ffb2a23dd2