public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/cross-binutils] rawhide: 2.47
@ 2026-09-08  8:53 Peter Robinson
  0 siblings, 0 replies; only message in thread
From: Peter Robinson @ 2026-09-08  8:53 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/cross-binutils
Branch : rawhide
Commit : 783d7f7f496af2c24dbef2ee2c9bbd2caf0512f3
Author : Peter Robinson <pbrobinson@gmail.com>
Date   : 2026-09-08T09:53:27+01:00
Stats  : +113/-546 in 7 file(s)
URL    : https://src.fedoraproject.org/rpms/cross-binutils/c/783d7f7f496af2c24dbef2ee2c9bbd2caf0512f3?branch=rawhide

Log:
2.47

---
diff --git a/binutils-LTO-restore-wrapper-symbol.patch b/binutils-LTO-restore-wrapper-symbol.patch
deleted file mode 100644
index 946e114..0000000
--- a/binutils-LTO-restore-wrapper-symbol.patch
+++ /dev/null
@@ -1,154 +0,0 @@
-From 3221c470f0765886a49a1a3d2ec602e4104a377b Mon Sep 17 00:00:00 2001
-From: "H.J. Lu" <hjl.tools@gmail.com>
-Date: Fri, 2 Aug 2024 19:52:00 -0700
-Subject: [PATCH] LTO: Restore the wrapper symbol check for standard function
-
-Call unwrap_hash_lookup to restore the wrapper symbol check for standard
-function since reference to standard function may not show up in LTO
-symbol table:
-
-[hjl@gnu-tgl-3 pr31956-3]$ nm foo.o
-00000000 T main
-         U __real_malloc
-00000000 T __wrap_malloc
-[hjl@gnu-tgl-3 pr31956-3]$  lto-dump -list foo.o
-Type   Visibility  Size  Name
-function  default     0  malloc
-function  default     0  __real_malloc
-function  default     3  main
-function  default     5  __wrap_malloc
-[hjl@gnu-tgl-3 pr31956-3]$ make
-gcc -O2 -flto -Wall   -c -o foo.o foo.c
-gcc -Wl,--wrap=malloc -O2 -flto -Wall -o x foo.o
-/usr/local/bin/ld: /tmp/ccsPW0a9.ltrans0.ltrans.o: in function `main':
-<artificial>:(.text.startup+0xa): undefined reference to `__wrap_malloc'
-collect2: error: ld returned 1 exit status
-make: *** [Makefile:22: x] Error 1
-[hjl@gnu-tgl-3 pr31956-3]$
-
-Also add a test to verify that the unused wrapper is removed.
-
-	PR ld/31956
-	* plugin.c (get_symbols): Restore the wrapper symbol check for
-	standard function.
-	* testsuite/ld-plugin/lto.exp: Run the malloc test and the
-	unused test.
-	* testsuite/ld-plugin/pr31956c.c: New file.
-	* testsuite/ld-plugin/pr31956d.c: New file.
-	* testsuite/ld-plugin/pr31956d.d: New file.
-
-Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
----
- ld/plugin.c                       | 14 ++++++++++++--
- ld/testsuite/ld-plugin/lto.exp    | 16 ++++++++++++++++
- ld/testsuite/ld-plugin/pr31956c.c | 19 +++++++++++++++++++
- ld/testsuite/ld-plugin/pr31956d.c |  7 +++++++
- ld/testsuite/ld-plugin/pr31956d.d |  4 ++++
- 5 files changed, 58 insertions(+), 2 deletions(-)
- create mode 100644 ld/testsuite/ld-plugin/pr31956c.c
- create mode 100644 ld/testsuite/ld-plugin/pr31956d.c
- create mode 100644 ld/testsuite/ld-plugin/pr31956d.d
-
-diff --git a/ld/plugin.c b/ld/plugin.c
-index 03ee9880d10..51c4765cc5b 100644
---- a/ld/plugin.c
-+++ b/ld/plugin.c
-@@ -778,8 +778,18 @@ get_symbols (const void *handle, int nsyms, struct ld_plugin_symbol *syms,
- 	{
- 	  blhe = h;
- 	  /* Check if a symbol is a wrapper symbol.  */
--	  if (blhe && blhe->wrapper_symbol)
--	    wrap_status = wrapper;
-+	  if (blhe)
-+	    {
-+	      if (blhe->wrapper_symbol)
-+		wrap_status = wrapper;
-+	      else if (link_info.wrap_hash != NULL)
-+		{
-+		  struct bfd_link_hash_entry *unwrap
-+		    = unwrap_hash_lookup (&link_info, (bfd *) abfd, blhe);
-+		  if (unwrap != NULL && unwrap != h)
-+		    wrap_status = wrapper;
-+		}
-+	    }
- 	}
-       else
- 	{
-diff --git a/ld/testsuite/ld-plugin/lto.exp b/ld/testsuite/ld-plugin/lto.exp
-index ad59e2abd61..1a8c3736307 100644
---- a/ld/testsuite/ld-plugin/lto.exp
-+++ b/ld/testsuite/ld-plugin/lto.exp
-@@ -546,6 +546,22 @@ set lto_link_elf_tests [list \
-    {} \
-    "pr31956b" \
-   ] \
-+  [list \
-+   "PR ld/31956 (malloc)" \
-+   "-Wl,--wrap=malloc" \
-+   "-O2 -flto" \
-+   {pr31956c.c} \
-+   {} \
-+   "pr31956c" \
-+  ] \
-+  [list \
-+   "PR ld/31956 (unused)" \
-+   "-Wl,--wrap=parse_line" \
-+   "-O2 -flto" \
-+   {pr31956d.c} \
-+   {{"nm" {} "pr31956d.d"}} \
-+   "pr31956d" \
-+  ] \
-   [list \
-    "Build pr30281.so" \
-    "-shared -Wl,--version-script,pr30281.t \
-diff --git a/ld/testsuite/ld-plugin/pr31956c.c b/ld/testsuite/ld-plugin/pr31956c.c
-new file mode 100644
-index 00000000000..4a46b2b49a8
---- /dev/null
-+++ b/ld/testsuite/ld-plugin/pr31956c.c
-@@ -0,0 +1,19 @@
-+#include <stdlib.h>
-+
-+extern void *__real_malloc (size_t);
-+
-+void *
-+__wrap_malloc (size_t n)
-+{
-+  if (n == 0)
-+    return NULL;
-+  else
-+    return __real_malloc (n);
-+};
-+
-+int
-+main (void)
-+{
-+  void *ptr = malloc (30);
-+  return ptr == NULL ? 1 : 0;
-+}
-diff --git a/ld/testsuite/ld-plugin/pr31956d.c b/ld/testsuite/ld-plugin/pr31956d.c
-new file mode 100644
-index 00000000000..cb7f2d50643
---- /dev/null
-+++ b/ld/testsuite/ld-plugin/pr31956d.c
-@@ -0,0 +1,7 @@
-+void __wrap_parse_line(void) {};
-+
-+int
-+main (void)
-+{
-+  return 0;
-+}
-diff --git a/ld/testsuite/ld-plugin/pr31956d.d b/ld/testsuite/ld-plugin/pr31956d.d
-new file mode 100644
-index 00000000000..b579cdc7353
---- /dev/null
-+++ b/ld/testsuite/ld-plugin/pr31956d.d
-@@ -0,0 +1,4 @@
-+#failif
-+#...
-+[0-9a-f]+ T .*parse_line
-+#...
--- 
-2.45.2
-

diff --git a/binutils-gcc-10-fixes.patch b/binutils-gcc-10-fixes.patch
deleted file mode 100644
index 4233279..0000000
--- a/binutils-gcc-10-fixes.patch
+++ /dev/null
@@ -1,180 +0,0 @@
-diff -rup binutils.orig/gold/gdb-index.cc binutils-2.34.0/gold/gdb-index.cc
---- binutils.orig/gold/gdb-index.cc	2020-07-24 09:12:29.241306445 +0100
-+++ binutils-2.34.0/gold/gdb-index.cc	2020-07-24 09:15:48.332095898 +0100
-@@ -817,7 +817,7 @@ Gdb_index_info_reader::get_qualified_nam
- void
- Gdb_index_info_reader::record_cu_ranges(Dwarf_die* die)
- {
--  unsigned int shndx;
-+  unsigned int shndx = 0;
-   unsigned int shndx2;
- 
-   off_t ranges_offset = die->ref_attribute(elfcpp::DW_AT_ranges, &shndx);
-diff -rup binutils.orig/gold/layout.cc binutils-2.34.0/gold/layout.cc
---- binutils.orig/gold/layout.cc	2020-07-24 09:12:29.243306433 +0100
-+++ binutils-2.34.0/gold/layout.cc	2020-07-24 09:15:11.464320064 +0100
-@@ -1986,7 +1986,7 @@ Layout::attach_allocated_section_to_segm
-   seg_flags |= os->extra_segment_flags();
- 
-   // Check for --section-start.
--  uint64_t addr;
-+  uint64_t addr = 0;
-   bool is_address_set = parameters->options().section_start(os->name(), &addr);
- 
-   // In general the only thing we really care about for PT_LOAD
-diff -rup binutils.orig/binutils/dlltool.c binutils-2.34.0/binutils/dlltool.c
---- binutils.orig/binutils/dlltool.c	2020-07-24 09:12:28.974308069 +0100
-+++ binutils-2.34.0/binutils/dlltool.c	2020-07-24 12:09:37.527121295 +0100
-@@ -1305,7 +1305,7 @@ run (const char *what, char *args)
-   int pid, wait_status;
-   int i;
-   const char **argv;
--  char *errmsg_fmt, *errmsg_arg;
-+  char *errmsg_fmt = "", *errmsg_arg = "";
-   char *temp_base = choose_temp_base ();
- 
-   inform (_("run: %s %s"), what, args);
-diff -rup binutils.orig/gas/config/tc-arm.c binutils-2.34.0/gas/config/tc-arm.c
---- binutils.orig/gas/config/tc-arm.c	2020-07-24 09:12:32.368287432 +0100
-+++ binutils-2.34.0/gas/config/tc-arm.c	2020-07-24 12:14:19.842360634 +0100
-@@ -28416,9 +28416,12 @@ md_apply_fix (fixS *	fixP,
- 	 perform relaxation.  */
-       if (value == -2)
- 	{
--	  newval = md_chars_to_number (buf, THUMB_SIZE);
--	  newval = 0xbf00; /* NOP encoding T1 */
--	  md_number_to_chars (buf, newval, THUMB_SIZE);
-+	  if (fixP->fx_done || !seg->use_rela_p)
-+	    {
-+	      newval = md_chars_to_number (buf, THUMB_SIZE);
-+	      newval = 0xbf00; /* NOP encoding T1 */
-+	      md_number_to_chars (buf, newval, THUMB_SIZE);
-+	    }
- 	}
-       else
- 	{
-@@ -28631,17 +28634,14 @@ md_apply_fix (fixS *	fixP,
-     case BFD_RELOC_ARM_GOTFUNCDESC:
-     case BFD_RELOC_ARM_GOTOFFFUNCDESC:
-     case BFD_RELOC_ARM_FUNCDESC:
--      if (arm_fdpic)
--	{
--	  if (fixP->fx_done || !seg->use_rela_p)
--	    md_number_to_chars (buf, 0, 4);
--	}
--      else
-+      if (!arm_fdpic)
- 	{
- 	  as_bad_where (fixP->fx_file, fixP->fx_line,
- 			_("Relocation supported only in FDPIC mode"));
--      }
--      break;
-+	  break;
-+	}
-+      value = 0;
-+      /* Fall through.  */
- #endif
- 
-     case BFD_RELOC_RVA:
-diff -rup binutils.orig/gas/config/tc-arm.c binutils-2.34.0/gas/config/tc-arm.c
---- binutils.orig/gas/config/tc-arm.c	2020-07-24 12:16:02.099719884 +0100
-+++ binutils-2.34.0/gas/config/tc-arm.c	2020-07-24 12:34:17.690858328 +0100
-@@ -28641,7 +28641,7 @@ md_apply_fix (fixS *	fixP,
- 	  break;
- 	}
-       value = 0;
--      /* Fall through.  */
-+      goto fred;
- #endif
- 
-     case BFD_RELOC_RVA:
-@@ -28653,6 +28653,7 @@ md_apply_fix (fixS *	fixP,
- #ifdef TE_PE
-     case BFD_RELOC_32_SECREL:
- #endif
-+    fred:
-       if (fixP->fx_done || !seg->use_rela_p)
- #ifdef TE_WINCE
- 	/* For WinCE we only do this for pcrel fixups.  */
-diff -rup binutils.orig/gas/config/tc-arm.c binutils-2.34.0/gas/config/tc-arm.c
---- binutils.orig/gas/config/tc-arm.c	2020-07-24 13:28:26.926553452 +0100
-+++ binutils-2.34.0/gas/config/tc-arm.c	2020-07-24 13:31:57.835215763 +0100
-@@ -28416,12 +28416,8 @@ md_apply_fix (fixS *	fixP,
- 	 perform relaxation.  */
-       if (value == -2)
- 	{
--	  if (fixP->fx_done || !seg->use_rela_p)
--	    {
--	      newval = md_chars_to_number (buf, THUMB_SIZE);
--	      newval = 0xbf00; /* NOP encoding T1 */
--	      md_number_to_chars (buf, newval, THUMB_SIZE);
--	    }
-+	  newval = 0xbf00; /* NOP encoding T1 */
-+	  goto jim;
- 	}
-       else
- 	{
-@@ -28432,6 +28428,7 @@ md_apply_fix (fixS *	fixP,
- 	    {
- 	      newval = md_chars_to_number (buf, THUMB_SIZE);
- 	      newval |= ((value & 0x3e) << 2) | ((value & 0x40) << 3);
-+	    jim:
- 	      md_number_to_chars (buf, newval, THUMB_SIZE);
- 	    }
- 	}
-diff -rup binutils.orig/binutils/mclex.c binutils-2.34.0/binutils/mclex.c
---- binutils.orig/binutils/mclex.c	2020-07-24 13:28:26.297557441 +0100
-+++ binutils-2.34.0/binutils/mclex.c	2020-07-24 14:46:53.587940149 +0100
-@@ -207,7 +207,7 @@ enum_severity (int e)
- static void
- mc_add_keyword_ascii (const char *sz, int rid, const char *grp, rc_uint_type nv, const char *sv)
- {
--  unichar *usz, *usv = NULL;
-+  unichar *usz = NULL, *usv = NULL;
-   rc_uint_type usz_len;
- 
-   unicode_from_codepage (&usz_len, &usz, sz, CP_ACP);
-diff -rup binutils.orig/binutils/windmc.c binutils-2.34.0/binutils/windmc.c
---- binutils.orig/binutils/windmc.c	2020-07-24 13:28:26.279557556 +0100
-+++ binutils-2.34.0/binutils/windmc.c	2020-07-24 14:48:05.460477478 +0100
-@@ -338,7 +338,7 @@ mc_add_node_lang (mc_node *root, const m
- static char *
- convert_unicode_to_ACP (const unichar *usz)
- {
--  char *s;
-+  char *s = NULL;
-   rc_uint_type l;
- 
-   if (! usz)
-@@ -607,10 +607,10 @@ mc_generate_bin_item (mc_node_lang *n, r
-   else
-     {
-       rc_uint_type txt_len, l;
--      char *cvt_txt;
-+      char *cvt_txt = NULL;
- 
-       codepage_from_unicode( &l, n->message, &cvt_txt, n->lang->lang_info.wincp);
--      if (! cvt_txt)
-+      if (cvt_txt == NULL)
- 	fatal ("Failed to convert message to language codepage.\n");
-       txt_len = strlen (cvt_txt);
-       if (mcset_automatic_null_termination && txt_len > 0)
-@@ -1107,7 +1107,7 @@ main (int argc, char **argv)
- 
-   /* Load the input file and do code page transformations to UTF16.  */
-   {
--    unichar *u;
-+    unichar *u = NULL;
-     rc_uint_type ul;
-     char *buff;
-     bfd_size_type flen;
---- binutils.orig/binutils/srconv.c	2020-07-24 15:37:25.847459208 +0100
-+++ binutils-2.34.0/binutils/srconv.c	2020-07-24 15:39:12.853773423 +0100
-@@ -316,6 +316,7 @@ wr_hd (struct coff_ofile *p)
-   struct IT_hd hd;
- 
-   hd.spare1 = 0;
-+  hd.spare2 = 0;
-   if (bfd_get_file_flags (abfd) & EXEC_P)
-     hd.mt = MTYPE_ABS_LM;
-   else

diff --git a/binutils-revert-note-id-move.patch b/binutils-revert-note-id-move.patch
deleted file mode 100644
index 2763327..0000000
--- a/binutils-revert-note-id-move.patch
+++ /dev/null
@@ -1,124 +0,0 @@
---- binutils.orig/ld/scripttempl/elf.sc	2024-11-01 10:17:24.308959289 +0000
-+++ binutils-2.43.50-22c62092858/ld/scripttempl/elf.sc	2024-11-01 10:17:39.730019895 +0000
-@@ -397,19 +397,6 @@ fi
- # ===========================================================================
- # Functions for generating parts of the linker script
- 
--# Helper function for putting comments into scripts.
--# Useful when trying to track down script composition problems.
--# Use by adding:
--#   emit_comment "a message"
--# wherever necessary.
--
--emit_comment()
--{
--cat <<EOF
--  /* $1 */
--EOF
--}
--
- emit_header()
- {
- cat <<EOF
-@@ -438,6 +425,7 @@ emit_early_ro()
- {
-   cat <<EOF
-   ${INITIAL_READONLY_SECTIONS}
-+  .note.gnu.build-id ${RELOCATING-0}: { *(.note.gnu.build-id) }
- EOF
- }
- 
-@@ -448,11 +436,6 @@ cat <<EOF
-   ${CREATE_SHLIB-${CREATE_PIE-${RELOCATING+PROVIDE (__executable_start = ${TEXT_START_ADDR}); . = ${TEXT_BASE_ADDRESS};}}}
-   ${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_TEXT_START_ADDR}${SIZEOF_HEADERS_CODE};}}
-   ${CREATE_PIE+${RELOCATING+PROVIDE (__executable_start = ${SHLIB_TEXT_START_ADDR}); . = ${SHLIB_TEXT_START_ADDR}${SIZEOF_HEADERS_CODE};}}
--
--  /* Place build-id as close to the ELF headers as possible.  This
--     maximises the chance the build-id will be present in core files,
--     which GDB can then use to locate the associated debuginfo file.  */
--  .note.gnu.build-id ${RELOCATING-0}: { *(.note.gnu.build-id) }
- EOF
- }
- 
-@@ -574,7 +557,6 @@ EOF
- align_text()
- {
- cat <<EOF
--  ${RELOCATING+/* Align the text segment.  */}
-   ${RELOCATING+${TEXT_SEGMENT_ALIGN}}
- EOF
- }
-@@ -816,28 +798,11 @@ EOF
-   emit_executable_start
- 
-   if test -z "${ALL_TEXT_BEFORE_RO}"; then
--    # We are allowed to put R/O sections before code sections.
--
-     test -n "${SEPARATE_CODE}" || emit_early_ro
-     test -n "${NON_ALLOC_DYN}${SEPARATE_CODE}" || emit_dyn
--
--    # We only need the alignment if we have emitted some sections.
--    if test -z "${SEPARATE_CODE}"; then
--      align_text
--    elif test -z "${NON_ALLOC_DYN}${SEPARATE_CODE}"; then
--      align_text
--    fi
-   fi
-   
--  # We do not align the code segment here as doing so will increase the file size.
--  # Normally having the text segment at the start of the file will automatically
--  # mean that it is aligned(*), and if we have emitted any r/o sections due to the
--  # tests of SEPARATE_CODE above, then extra alignment will have already been
--  # generated.
--  #
--  # *: Including the ELF headers and .note.gnu.build-id section in the code segment
--  # is a very small theoretical risk.
--
-+  align_text  
-   emit_text
- 
-   align_rodata
-diff -rup binutils.orig/ld/testsuite/ld-i386/pr32191.d binutils-2.43.50-22c62092858/ld/testsuite/ld-i386/pr32191.d
---- binutils.orig/ld/testsuite/ld-i386/pr32191.d	2024-11-01 13:56:39.584115148 +0000
-+++ binutils-2.43.50-22c62092858/ld/testsuite/ld-i386/pr32191.d	2024-11-01 13:58:30.962432716 +0000
-@@ -2,6 +2,7 @@
- #as: --32 -mx86-used-note=yes
- #ld: -shared -m elf_i386 -z separate-code --build-id --rosegment
- #readelf: -lW
-+#xfail: *-*-*
- 
- #...
-  +[0-9]+ +\.note\.gnu\.build-id \.text 
-diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr32191-x32.d binutils-2.43.50-22c62092858/ld/testsuite/ld-x86-64/pr32191-x32.d
---- binutils.orig/ld/testsuite/ld-x86-64/pr32191-x32.d	2024-11-01 13:56:39.652115341 +0000
-+++ binutils-2.43.50-22c62092858/ld/testsuite/ld-x86-64/pr32191-x32.d	2024-11-01 13:59:27.626595088 +0000
-@@ -2,6 +2,7 @@
- #as: --x32 -mx86-used-note=yes
- #ld: -shared -m elf32_x86_64 -z separate-code --build-id --rosegment
- #readelf: -lW
-+#xfail: *-*-*
- 
- #...
-  +[0-9]+ +\.note\.gnu\.build-id \.text 
-diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr32191.d binutils-2.43.50-22c62092858/ld/testsuite/ld-x86-64/pr32191.d
---- binutils.orig/ld/testsuite/ld-x86-64/pr32191.d	2024-11-01 13:56:39.652115341 +0000
-+++ binutils-2.43.50-22c62092858/ld/testsuite/ld-x86-64/pr32191.d	2024-11-01 13:59:12.906552493 +0000
-@@ -2,6 +2,7 @@
- #as: --64 -mx86-used-note=yes
- #ld: -shared -m elf_x86_64 -z separate-code --build-id --rosegment
- #readelf: -lW
-+#xfail: *-*-*
- 
- #...
-  +[0-9]+ +\.note\.gnu\.build-id \.text 
-diff -rup bin.orig/ld/testsuite/ld-elf/pr23658-1e.d binutils-2.43.50-55e32b3c682/ld/testsuite/ld-elf/pr23658-1e.d
---- bin.orig/ld/testsuite/ld-elf/pr23658-1e.d	2024-11-04 12:18:57.021055380 +0000
-+++ binutils-2.43.50-55e32b3c682/ld/testsuite/ld-elf/pr23658-1e.d	2024-11-04 12:19:06.522083958 +0000
-@@ -16,6 +16,7 @@
- #xfail: *-*-hpux*
- #xfail: arc*-* avr-* m68hc1*-* microblaze*-* nds32*-* spu-*-* xstormy16-*-*
- #noxfail: microblaze*-linux*
-+#xfail: *-*-*
- 
- #...
-  +[0-9]+ +\.note.gnu.build-id +

diff --git a/binutils-riscv-testsuite-fixes.patch b/binutils-riscv-testsuite-fixes.patch
index 2a5ce5d..ba7ed8e 100644
--- a/binutils-riscv-testsuite-fixes.patch
+++ b/binutils-riscv-testsuite-fixes.patch
@@ -242,75 +242,9 @@ 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
  
-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 } {
+--- fred/binutils/testsuite/lib/binutils-common.exp	2026-03-16 09:18:37.205413649 +0000
++++ binutils-with-gold-2.46.50-d712202846b/binutils/testsuite/lib/binutils-common.exp	2026-03-16 09:18:49.559358668 +0000
+@@ -803,6 +803,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
  
@@ -320,3 +254,16 @@ diff -rup binutils.orig/ld/testsuite/ld-riscv-elf/data-reloc-rv64-symbolic.d bin
      return $text
  }
  
+--- binutils.orig/ld/testsuite/ld-elf/shared.exp	2026-06-10 15:32:21.012274073 +0100
++++ binutils-with-gold-2.46.50-48997323b0f/ld/testsuite/ld-elf/shared.exp	2026-06-10 15:34:41.397899263 +0100
+@@ -1859,6 +1859,10 @@ run_cc_link_tests [list \
+ 	"pr29655.so" \
+     ] \
+ ]
++
++# FIXME: Find out why the Risc-V fails this test.
++setup_xfail "riscv64-*-*"
++
+ # PR 29655 (cont.): Check that in PIC code linked as PDE taking the address
+ # of a function defined in a DSO results in the function address (from GOT)
+ # and not the "canonical PLT" address from the PDE.

diff --git a/binutils-testsuite-fixes.patch b/binutils-testsuite-fixes.patch
index aae90e4..439eeb6 100644
--- a/binutils-testsuite-fixes.patch
+++ b/binutils-testsuite-fixes.patch
@@ -27,17 +27,6 @@
      if ![regexp $want $got] then {
  	fail "$testname -s option $got\n"
      } else {
---- binutils.orig/binutils/testsuite/binutils-all/objdump.exp	2023-08-03 13:09:07.631503783 +0100
-+++ binutils-2.41/binutils/testsuite/binutils-all/objdump.exp	2023-08-03 14:51:54.621295727 +0100
-@@ -921,7 +921,7 @@ proc test_objdump_S { } {
-     }
- }
- 
--test_objdump_S
-+# test_objdump_S
- 
- # Test objdump --private
- proc test_objdump_P {} {
 --- binutils.orig/ld/testsuite/ld-scripts/ld-version.d	2023-08-03 13:09:07.949504208 +0100
 +++ binutils-2.41/ld/testsuite/ld-scripts/ld-version.d	2023-08-03 15:13:01.374590134 +0100
 @@ -4,4 +4,4 @@
@@ -1081,3 +1070,80 @@ diff -rup bin.orig/ld/testsuite/ld-x86-64/sframe-pltgot-2.d binutils-2.43.50-55e
      ]
  }
  
+--- fred/binutils/testsuite/binutils-all/objdump.exp	2026-02-16 09:03:27.457277379 +0000
++++ binutils-with-gold-2.46.50-2d306bf8a70/binutils/testsuite/binutils-all/objdump.exp	2026-02-16 09:03:30.592967621 +0000
+@@ -957,7 +957,7 @@ proc test_objdump_S { } {
+     }
+ }
+ 
+-test_objdump_S
++# test_objdump_S
+ 
+ # Test objdump --map-global-vars on file containing dwarf-2 encoding information.
+ 
+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 .*

diff --git a/cross-binutils.spec b/cross-binutils.spec
index 7fb184a..489bdbf 100644
--- a/cross-binutils.spec
+++ b/cross-binutils.spec
@@ -65,7 +65,7 @@
 %define default_generate_notes 0
 
 Name: %{cross}-binutils
-Version: 2.46.1
+Version: 2.47
 Release: 1%{?dist}
 Summary: A GNU collection of cross-compilation binary utilities
 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
@@ -75,7 +75,7 @@ URL: https://sourceware.org/binutils
 # many controversial patches so we stick with the official FSF version
 # instead.
 
-Source: http://ftp.gnu.org/gnu/binutils/binutils-with-gold-%{version}.tar.xz
+Source: http://ftp.gnu.org/gnu/binutils/binutils-%{version}.tar.xz
 
 Source2: binutils-2.19.50.0.1-output-format.sed
 
@@ -156,8 +156,7 @@ Patch13: binutils-aarch64-small-plt0.patch
 
 # Purpose:  Fix ld testsuite failures when enable_textrel is set.
 # Lifetime: Permanent.
-Patch20: binutils-ld-default-z-text.patch
-
+Patch21: binutils-ld-default-z-text.patch
 
 #----------------------------------------------------------------------------
 
@@ -275,7 +274,7 @@ Cross-build binary image generation, manipulation and query tools. \
 #
 ###############################################################################
 %prep
-%global srcdir binutils-with-gold-%{version}
+%global srcdir binutils-%{version}
 %setup -q -n %{srcdir} -c
 cd %{srcdir}
 %patch -P01 -p1
@@ -291,7 +290,7 @@ cd %{srcdir}
 %patch -P11 -p1
 %patch -P12 -p1
 %patch -P13 -p1
-%patch -P20 -p1
+%patch -P21 -p1
 %patch -P98 -p1
 %patch -P99 -p1
 
@@ -423,6 +422,13 @@ function config_target () {
     export CFLAGS="$RPM_OPT_FLAGS -Wno-unused-const-variable -std=gnu11"
     CARGS=
 
+    # The binutils build system enables -Werror by default, which is a problem
+    # because there is a known issue with the libiberty library sources:
+    #   libiberty/make-relative-prefix.c:230:1: error: stack usage might be
+    #   unbounded [-Werror=stack-usage=]
+    # So we explicitly disable werror for builds.
+    CARGS="$CARGS --enable-werror=no"
+
     case $target in i?86*|sparc*|ppc*|s390*|sh*|arm*|aarch64*|riscv*)
 	    CARGS="$CARGS --enable-64-bit-bfd"
 	    ;;
@@ -551,7 +557,10 @@ cd %{cross}-binutils
     --program-prefix=%{cross}- \
     --disable-shared \
     --enable-gprofng=no \
-    --with-bugurl=http://bugzilla.redhat.com/bugzilla/
+    --with-bugurl=http://bugzilla.redhat.com/bugzilla/ \
+    --enable-werror=no \
+    %{nil}
+
 %make_build tooldir=%{_prefix} all
 cd ..
 
@@ -775,6 +784,9 @@ cd -
 %do_files xtensa-linux-gnu	%{build_xtensa}
 
 %changelog
+* Tue Sep 08 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 2.47-1
+- Update to 2.47
+
 * Mon Sep 07 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 2.46.1-1
 - Update to the binutils 2.46.1 release
 

diff --git a/sources b/sources
index ac270e1..23fca3d 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (binutils-with-gold-2.46.1.tar.xz) = c47c0382a77133391556a9ac48586cd3ed101bfeea81e500a97e69b4056dd515351078ae78d026a1c1906648770bf828628dc39fd4cd86f84f1c9ec273d87280
+SHA512 (binutils-2.47.tar.xz) = 3126a1064374d8da40d4d70630c204ed1e75d542c447d53fca9778c7ceff095c28e9b445e15a313fef9729082d7966471ee6b5b715d479aa6d568528743e1d98

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-09-08  8:53 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-08  8:53 [rpms/cross-binutils] rawhide: 2.47 Peter Robinson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox