Rebase to Fedora Rawhide (For RHEL 9.6)

Update to 2.43.1

last_sync: 562dcf0c885672abfa931178a3ffb8215cacaa29
resolves: RHEL-73309
side-tag: c9s-build-side-3708-stack-gate
This commit is contained in:
Miroslav Rezanina 2025-01-10 08:37:22 +01:00
parent 9ac1d08127
commit 771b8e2add
26 changed files with 1158 additions and 921 deletions

2
.gitignore vendored
View File

@ -23,3 +23,5 @@ binutils-2.20.1.tar.bz2
/binutils-2.39.tar.xz
/binutils-2.40.tar.xz
/binutils-2.41.tar.xz
/binutils-2.42.tar.xz
/binutils-2.43.1.tar.xz

View File

@ -1,7 +1,7 @@
diff -rupN --no-dereference binutils-2.41/bfd/elfnn-aarch64.c binutils-2.41-new/bfd/elfnn-aarch64.c
--- binutils-2.41/bfd/elfnn-aarch64.c 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/bfd/elfnn-aarch64.c 2023-10-17 08:36:07.259543844 +0200
@@ -5654,6 +5654,7 @@ elfNN_aarch64_final_link_relocate (reloc
diff -rup binutils.orig/bfd/elfnn-aarch64.c binutils-2.27/bfd/elfnn-aarch64.c
--- binutils.orig/bfd/elfnn-aarch64.c 2017-02-21 10:45:19.311956006 +0000
+++ binutils-2.27/bfd/elfnn-aarch64.c 2017-02-21 11:55:07.517922655 +0000
@@ -4947,6 +4947,7 @@ elfNN_aarch64_final_link_relocate (reloc
it here if it is defined in a non-shared object. */
if (h != NULL
&& h->type == STT_GNU_IFUNC

View File

@ -0,0 +1,154 @@
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

View File

@ -1,6 +1,5 @@
diff -rupN --no-dereference binutils-2.41/config/override.m4 binutils-2.41-new/config/override.m4
--- binutils-2.41/config/override.m4 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/config/override.m4 2023-10-17 08:36:14.285923364 +0200
--- binutils.orig/config/override.m4 2021-08-31 14:20:17.275574804 +0100
+++ binutils-2.37/config/override.m4 2021-08-31 14:36:37.793954247 +0100
@@ -41,7 +41,7 @@ dnl Or for updating the whole tree at on
AC_DEFUN([_GCC_AUTOCONF_VERSION_CHECK],
[m4_if(m4_defn([_GCC_AUTOCONF_VERSION]),

View File

@ -1,6 +1,6 @@
diff -rupN --no-dereference binutils-2.41/configure binutils-2.41-new/configure
--- binutils-2.41/configure 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/configure 2023-10-17 08:36:08.439607929 +0200
diff -rup binutils.orig/configure binutils-2.40/configure
--- binutils.orig/configure 2023-02-13 14:43:00.728877170 +0000
+++ binutils-2.40/configure 2023-02-13 14:43:13.671864892 +0000
@@ -5442,49 +5442,6 @@ if test -z "$LD"; then
fi
fi
@ -51,9 +51,9 @@ diff -rupN --no-dereference binutils-2.41/configure binutils-2.41-new/configure
if test -n "$ac_tool_prefix"; then
diff -rupN --no-dereference binutils-2.41/configure.ac binutils-2.41-new/configure.ac
--- binutils-2.41/configure.ac 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/configure.ac 2023-10-17 08:36:08.440607983 +0200
diff -rup binutils.orig/configure.ac binutils-2.40/configure.ac
--- binutils.orig/configure.ac 2023-02-13 14:43:00.728877170 +0000
+++ binutils-2.40/configure.ac 2023-02-13 14:43:13.671864892 +0000
@@ -1435,26 +1435,6 @@ if test -z "$LD"; then
fi
fi
@ -81,3 +81,5 @@ diff -rupN --no-dereference binutils-2.41/configure.ac binutils-2.41-new/configu
ACX_PROG_GNAT
ACX_PROG_GDC
ACX_PROG_CMP_IGNORE_INITIAL
Only in binutils-2.40: configure.ac.orig
Only in binutils-2.40: configure.orig

View File

@ -1,7 +1,7 @@
diff -rupN --no-dereference binutils-2.41/bfd/Makefile.am binutils-2.41-new/bfd/Makefile.am
--- binutils-2.41/bfd/Makefile.am 2023-10-17 08:36:03.732351438 +0200
+++ binutils-2.41-new/bfd/Makefile.am 2023-10-17 08:36:03.737351712 +0200
@@ -38,7 +38,7 @@ bfdlibdir = @bfdlibdir@
diff -rup binutils.orig/bfd/Makefile.am binutils-2.32/bfd/Makefile.am
--- binutils.orig/bfd/Makefile.am 2019-02-08 12:22:51.395684251 +0000
+++ binutils-2.32/bfd/Makefile.am 2019-02-08 12:22:53.970664973 +0000
@@ -33,7 +33,7 @@ bfdlibdir = @bfdlibdir@
bfdincludedir = @bfdincludedir@
bfdlib_LTLIBRARIES = libbfd.la
bfdinclude_HEADERS = $(BFD_H) $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h \
@ -10,10 +10,10 @@ diff -rupN --no-dereference binutils-2.41/bfd/Makefile.am binutils-2.41-new/bfd/
else !INSTALL_LIBBFD
# Empty these so that the respective installation directories will not be created.
bfdlibdir =
diff -rupN --no-dereference binutils-2.41/bfd/Makefile.in binutils-2.41-new/bfd/Makefile.in
--- binutils-2.41/bfd/Makefile.in 2023-10-17 08:36:03.733351493 +0200
+++ binutils-2.41-new/bfd/Makefile.in 2023-10-17 08:36:03.737351712 +0200
@@ -279,7 +279,7 @@ am__can_run_installinfo = \
diff -rup binutils.orig/bfd/Makefile.in binutils-2.32/bfd/Makefile.in
--- binutils.orig/bfd/Makefile.in 2019-02-08 12:21:35.291254044 +0000
+++ binutils-2.32/bfd/Makefile.in 2019-02-08 12:22:10.163992947 +0000
@@ -249,7 +249,7 @@ am__can_run_installinfo = \
esac
am__bfdinclude_HEADERS_DIST = $(INCDIR)/plugin-api.h bfd.h \
$(INCDIR)/ansidecl.h $(INCDIR)/symcat.h \
@ -22,7 +22,7 @@ diff -rupN --no-dereference binutils-2.41/bfd/Makefile.in binutils-2.41-new/bfd/
HEADERS = $(bfdinclude_HEADERS)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
@@ -504,7 +504,7 @@ libbfd_la_LDFLAGS = $(am__append_1) -rel
@@ -468,7 +468,7 @@ libbfd_la_LDFLAGS = $(am__append_1) -rel
@INSTALL_LIBBFD_FALSE@bfdinclude_HEADERS = $(am__append_2)
@INSTALL_LIBBFD_TRUE@bfdinclude_HEADERS = $(BFD_H) \
@INSTALL_LIBBFD_TRUE@ $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h \

View File

@ -0,0 +1,11 @@
--- binutils.orig/binutils/testsuite/binutils-all/ar.exp 2024-02-07 13:02:23.490031197 +0000
+++ binutils-2.42/binutils/testsuite/binutils-all/ar.exp 2024-02-07 13:03:10.285034069 +0000
@@ -1017,7 +1017,7 @@ symbol_table
argument_parsing
deterministic_archive
replacing_deterministic_member
-replacing_non_deterministic_member
+# replacing_non_deterministic_member
replacing_sde_deterministic_member
delete_an_element
move_an_element

View File

@ -1,6 +1,5 @@
diff -rupN --no-dereference binutils-2.41/gold/dwp.cc binutils-2.41-new/gold/dwp.cc
--- binutils-2.41/gold/dwp.cc 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/gold/dwp.cc 2023-10-17 08:36:16.689052035 +0200
--- binutils.orig/gold/dwp.cc 2023-05-02 13:26:44.075148082 +0100
+++ binutils-2.40/gold/dwp.cc 2023-05-02 13:27:16.189130127 +0100
@@ -2418,6 +2418,8 @@ main(int argc, char** argv)
{
Dwo_file exe_file(exe_filename);

View File

@ -1,7 +1,8 @@
diff -rupN --no-dereference binutils-2.41/gold/i386.cc binutils-2.41-new/gold/i386.cc
--- binutils-2.41/gold/i386.cc 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/gold/i386.cc 2023-10-17 08:36:13.132861427 +0200
@@ -360,7 +360,11 @@ class Target_i386 : public Sized_target<
diff --git a/gold/i386.cc b/gold/i386.cc
index bf209fe9a86..31161ff091c 100644
--- a/gold/i386.cc
+++ b/gold/i386.cc
@@ -360,7 +360,11 @@ class Target_i386 : public Sized_target<32, false>
got_(NULL), plt_(NULL), got_plt_(NULL), got_irelative_(NULL),
got_tlsdesc_(NULL), global_offset_table_(NULL), rel_dyn_(NULL),
rel_irelative_(NULL), copy_relocs_(elfcpp::R_386_COPY),
@ -14,7 +15,7 @@ diff -rupN --no-dereference binutils-2.41/gold/i386.cc binutils-2.41-new/gold/i3
{ }
// Process the relocations to determine unreferenced sections for
@@ -859,6 +863,21 @@ class Target_i386 : public Sized_target<
@@ -859,6 +863,21 @@ class Target_i386 : public Sized_target<32, false>
this->rel_dyn_section(layout));
}
@ -36,7 +37,7 @@ diff -rupN --no-dereference binutils-2.41/gold/i386.cc binutils-2.41-new/gold/i3
// Information about this specific target which we pass to the
// general Target structure.
static const Target::Target_info i386_info;
@@ -898,6 +917,26 @@ class Target_i386 : public Sized_target<
@@ -898,6 +917,26 @@ class Target_i386 : public Sized_target<32, false>
unsigned int got_mod_index_offset_;
// True if the _TLS_MODULE_BASE_ symbol has been defined.
bool tls_base_symbol_defined_;
@ -63,7 +64,7 @@ diff -rupN --no-dereference binutils-2.41/gold/i386.cc binutils-2.41-new/gold/i3
};
const Target::Target_info Target_i386::i386_info =
@@ -1042,6 +1081,126 @@ Target_i386::rel_irelative_section(Layou
@@ -1042,6 +1081,126 @@ Target_i386::rel_irelative_section(Layout* layout)
return this->rel_irelative_;
}

View File

@ -0,0 +1,16 @@
diff -rup binutils.orig/gold/options.h binutils-2.41/gold/options.h
--- binutils.orig/gold/options.h 2024-01-04 09:52:09.282002253 +0000
+++ binutils-2.41/gold/options.h 2024-01-04 09:52:51.890972630 +0000
@@ -855,6 +855,12 @@ class General_options
N_("(ARM only) Do not warn about objects with incompatible "
"enum sizes"));
+ DEFINE_bool_ignore(error_execstack, options::TWO_DASHES, '\0',
+ N_("Ignored"), N_("Ignored"));
+
+ DEFINE_bool_ignore(error_rwx_segments, options::TWO_DASHES, '\0',
+ N_("Ignored"), N_("Ignored"));
+
DEFINE_special(exclude_libs, options::TWO_DASHES, '\0',
N_("Exclude libraries from automatic export"),
N_(("lib,lib ...")));

View File

@ -1,7 +1,7 @@
diff -rupN --no-dereference binutils-2.41/gold/layout.cc binutils-2.41-new/gold/layout.cc
--- binutils-2.41/gold/layout.cc 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/gold/layout.cc 2023-10-17 08:36:10.778734550 +0200
@@ -872,6 +872,7 @@ Layout::get_output_section(const char* n
diff -rup binutils.orig/gold/layout.cc binutils-2.32/gold/layout.cc
--- binutils.orig/gold/layout.cc 2019-06-24 14:37:36.013086899 +0100
+++ binutils-2.32/gold/layout.cc 2019-06-24 14:41:40.054517479 +0100
@@ -868,6 +868,7 @@ Layout::get_output_section(const char* n
&& (same_name->flags() & elfcpp::SHF_TLS) == 0)
os = same_name;
}
@ -9,7 +9,7 @@ diff -rupN --no-dereference binutils-2.41/gold/layout.cc binutils-2.41-new/gold/
else if ((flags & elfcpp::SHF_TLS) == 0)
{
elfcpp::Elf_Xword zero_flags = 0;
@@ -882,6 +883,7 @@ Layout::get_output_section(const char* n
@@ -878,6 +879,7 @@ Layout::get_output_section(const char* n
if (p != this->section_name_map_.end())
os = p->second;
}

View File

@ -0,0 +1,27 @@
diff --git a/gold/options.cc b/gold/options.cc
index c9834b66159..91d7802fffe 100644
--- a/gold/options.cc
+++ b/gold/options.cc
@@ -989,7 +989,7 @@ parse_short_option(int argc, const char** argv, int pos_in_argv_i,
}
// If we're a -z option, we need to parse our argument as a
- // long-option, e.g. "-z stacksize=8192".
+ // long-option, e.g. "-z stack-size=8192".
if (retval == &dash_z)
{
int dummy_i = 0;
diff --git a/gold/options.h b/gold/options.h
index 46f658f23ea..d16e38066da 100644
--- a/gold/options.h
+++ b/gold/options.h
@@ -1110,6 +1110,9 @@ class General_options
N_("Generate package metadata note"),
N_("[=JSON]"));
+ DEFINE_bool_ignore(pack_relative_relocs, options::DASH_Z, '\0',
+ N_("Ignored"), N_("Ignored"));
+
DEFINE_bool(pie, options::ONE_DASH, '\0', false,
N_("Create a position independent executable"),
N_("Do not create a position independent executable"));

View File

@ -1,71 +0,0 @@
diff -rupN --no-dereference binutils-2.41/gold/powerpc.cc binutils-2.41-new/gold/powerpc.cc
--- binutils-2.41/gold/powerpc.cc 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/gold/powerpc.cc 2023-10-17 08:36:20.308244748 +0200
@@ -3714,12 +3714,7 @@ Target_powerpc<size, big_endian>::do_rel
unsigned int prev_brlt_size = 0;
if (pass == 1)
{
- bool thread_safe
- = this->abiversion() < 2 && parameters->options().plt_thread_safe();
- if (size == 64
- && this->abiversion() < 2
- && !thread_safe
- && !parameters->options().user_set_plt_thread_safe())
+ if (size == 64 && this->abiversion() < 2)
{
static const char* const thread_starter[] =
{
@@ -3747,29 +3742,37 @@ Target_powerpc<size, big_endian>::do_rel
/* libgo */
"__go_go",
};
+ bool thread_safe = parameters->options().plt_thread_safe();
- if (parameters->options().shared())
- thread_safe = true;
- else
+ if (!thread_safe
+ && !parameters->options().user_set_plt_thread_safe())
{
- for (unsigned int i = 0;
- i < sizeof(thread_starter) / sizeof(thread_starter[0]);
- i++)
+ if (parameters->options().shared())
+ thread_safe = true;
+ else
{
- Symbol* sym = symtab->lookup(thread_starter[i], NULL);
- thread_safe = (sym != NULL
- && sym->in_reg()
- && sym->in_real_elf());
- if (thread_safe)
- break;
+ for (unsigned int i = 0;
+ i < sizeof(thread_starter) / sizeof(thread_starter[0]);
+ i++)
+ {
+ Symbol* sym = symtab->lookup(thread_starter[i], NULL);
+ thread_safe = (sym != NULL
+ && sym->in_reg()
+ && sym->in_real_elf());
+ if (thread_safe)
+ break;
+ }
}
}
+ this->plt_thread_safe_ = thread_safe;
}
- this->plt_thread_safe_ = thread_safe;
- if (parameters->options().output_is_position_independent())
- this->rela_dyn_size_
- = this->rela_dyn_section(layout)->current_data_size();
+ if (size == 64
+ && parameters->options().output_is_position_independent())
+ {
+ gold_assert (this->rela_dyn_);
+ this->rela_dyn_size_ = this->rela_dyn_->current_data_size();
+ }
this->stub_group_size_ = parameters->options().stub_group_size();
bool no_size_errors = true;

View File

@ -1,28 +1,8 @@
diff -rupN --no-dereference binutils-2.41/bfd/config.bfd binutils-2.41-new/bfd/config.bfd
--- binutils-2.41/bfd/config.bfd 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/bfd/config.bfd 2023-10-17 08:36:11.974799088 +0200
@@ -499,7 +499,7 @@ case "${targ}" in
;;
#ifdef BFD64
- bpf-*-none)
+ bpf-*-none | bpf-*)
targ_defvec=bpf_elf64_le_vec
targ_selvecs=bpf_elf64_be_vec
targ_underscore=yes
@@ -1497,7 +1497,7 @@ case "${targ}" in
;;
*)
- echo 1>&2 "*** BFD does not support target ${targ}."
+ echo 1>&2 "*** BFD does not support target '${targ}'. Honest."
echo 1>&2 "*** Look in bfd/config.bfd for supported targets."
exit 1
;;
diff -rupN --no-dereference binutils-2.41/gold/configure binutils-2.41-new/gold/configure
--- binutils-2.41/gold/configure 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/gold/configure 2023-10-17 08:36:11.972798980 +0200
@@ -5255,7 +5255,8 @@ for targ in $target $canon_targets; do
Only in binutils-2.34/gold: autom4te.cache
diff -rup binutils.orig/gold/configure binutils-2.34/gold/configure
--- binutils.orig/gold/configure 2020-04-20 12:35:13.048297305 +0100
+++ binutils-2.34/gold/configure 2020-04-20 14:02:06.743725696 +0100
@@ -5180,7 +5180,8 @@ for targ in $target $canon_targets; do
. ${srcdir}/configure.tgt
if test "$targ_obj" = "UNKNOWN"; then
@ -32,10 +12,10 @@ diff -rupN --no-dereference binutils-2.41/gold/configure binutils-2.41-new/gold/
else
targetobjs="$targetobjs ${targ_obj}.\$(OBJEXT)"
if test "$targ_extra_obj" != ""; then
diff -rupN --no-dereference binutils-2.41/gold/configure.ac binutils-2.41-new/gold/configure.ac
--- binutils-2.41/gold/configure.ac 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/gold/configure.ac 2023-10-17 08:36:11.973799034 +0200
@@ -182,7 +182,7 @@ for targ in $target $canon_targets; do
diff -rup binutils.orig/gold/configure.ac binutils-2.34/gold/configure.ac
--- binutils.orig/gold/configure.ac 2020-04-20 12:35:13.050297291 +0100
+++ binutils-2.34/gold/configure.ac 2020-04-20 14:01:46.435868770 +0100
@@ -181,7 +181,7 @@ for targ in $target $canon_targets; do
. ${srcdir}/configure.tgt
if test "$targ_obj" = "UNKNOWN"; then
@ -44,10 +24,9 @@ diff -rupN --no-dereference binutils-2.41/gold/configure.ac binutils-2.41-new/go
else
targetobjs="$targetobjs ${targ_obj}.\$(OBJEXT)"
if test "$targ_extra_obj" != ""; then
diff -rupN --no-dereference binutils-2.41/ld/configure.tgt binutils-2.41-new/ld/configure.tgt
--- binutils-2.41/ld/configure.tgt 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/ld/configure.tgt 2023-10-17 08:36:11.973799034 +0200
@@ -267,7 +267,7 @@ bfin-*-linux-uclibc*) targ_emul=elf32bfi
--- binutils.orig/ld/configure.tgt 2020-04-20 12:35:12.465301359 +0100
+++ binutils-2.34/ld/configure.tgt 2020-04-20 14:17:52.123066333 +0100
@@ -220,7 +220,7 @@ bfin-*-linux-uclibc*) targ_emul=elf32bfi
targ_extra_emuls="elf32bfin"
targ_extra_libpath=$targ_extra_emuls
;;
@ -56,7 +35,7 @@ diff -rupN --no-dereference binutils-2.41/ld/configure.tgt binutils-2.41-new/ld/
;;
cr16-*-elf*) targ_emul=elf32cr16
;;
@@ -1087,7 +1087,7 @@ loongarch64-*) targ_emul=elf64loongarch
@@ -1026,7 +1026,7 @@ z8k-*-coff) targ_emul=z8002
targ_extra_ofiles=
;;
*)
@ -65,3 +44,23 @@ diff -rupN --no-dereference binutils-2.41/ld/configure.tgt binutils-2.41-new/ld/
echo 2>&1 "*** see ld/configure.tgt for supported targets"
exit 1
--- binutils.orig/bfd/config.bfd 2020-04-20 12:35:13.038297375 +0100
+++ binutils-2.34/bfd/config.bfd 2020-04-20 14:25:26.452869193 +0100
@@ -473,7 +473,7 @@ case "${targ}" in
;;
#ifdef BFD64
- bpf-*-none)
+ bpf-*-none | bpf-*)
targ_defvec=bpf_elf64_le_vec
targ_selvecs=bpf_elf64_be_vec
targ_underscore=yes
@@ -1427,7 +1427,7 @@ case "${targ}" in
;;
*)
- echo 1>&2 "*** BFD does not support target ${targ}."
+ echo 1>&2 "*** BFD does not support target '${targ}'. Honest."
echo 1>&2 "*** Look in bfd/config.bfd for supported targets."
exit 1
;;

View File

@ -1,30 +0,0 @@
diff -rupN --no-dereference binutils-2.41/bfd/elf.c binutils-2.41-new/bfd/elf.c
--- binutils-2.41/bfd/elf.c 2023-10-17 08:36:10.773734280 +0200
+++ binutils-2.41-new/bfd/elf.c 2023-10-17 08:36:21.496307731 +0200
@@ -9479,6 +9479,8 @@ _bfd_elf_slurp_version_tables (bfd *abfd
if (elf_use_dt_symtab_p (abfd))
iverneed->vn_filename
= elf_tdata (abfd)->dt_strtab + iverneed->vn_file;
+ else if (hdr == NULL)
+ goto error_return_bad_verref;
else
iverneed->vn_filename
= bfd_elf_string_from_elf_section (abfd, hdr->sh_link,
@@ -9516,6 +9518,8 @@ _bfd_elf_slurp_version_tables (bfd *abfd
if (elf_use_dt_symtab_p (abfd))
ivernaux->vna_nodename
= elf_tdata (abfd)->dt_strtab + ivernaux->vna_name;
+ else if (hdr == NULL)
+ goto error_return_bad_verref;
else
ivernaux->vna_nodename
= bfd_elf_string_from_elf_section (abfd, hdr->sh_link,
@@ -9546,7 +9550,7 @@ _bfd_elf_slurp_version_tables (bfd *abfd
iverneed->vn_nextref = NULL;
if (iverneed->vn_next == 0)
break;
- if (i + 1 < hdr->sh_info)
+ if (hdr != NULL && (i + 1 < hdr->sh_info))
iverneed->vn_nextref = iverneed + 1;
if (iverneed->vn_next

View File

@ -1,6 +1,6 @@
diff -rupN --no-dereference binutils-2.41/ltmain.sh binutils-2.41-new/ltmain.sh
--- binutils-2.41/ltmain.sh 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/ltmain.sh 2023-10-17 08:36:15.518989456 +0200
diff -rup binutils.orig/ltmain.sh binutils-2.37/ltmain.sh
--- binutils.orig/ltmain.sh 2022-01-27 16:23:09.304207432 +0000
+++ binutils-2.37/ltmain.sh 2022-01-27 16:23:18.380143759 +0000
@@ -7103,6 +7103,7 @@ EOF
rpath="$finalize_rpath"
test "$mode" != relink && rpath="$compile_rpath$rpath"
@ -25,3 +25,4 @@ diff -rupN --no-dereference binutils-2.41/ltmain.sh binutils-2.41-new/ltmain.sh
if test -n "$hardcode_libdir_flag_spec"; then
if test -n "$hardcode_libdir_separator"; then
if test -z "$hardcode_libdirs"; then
Only in binutils-2.37: ltmain.sh.orig

View File

@ -1,7 +1,6 @@
diff -rupN --no-dereference binutils-2.41/bfd/bfd-in2.h binutils-2.41-new/bfd/bfd-in2.h
--- binutils-2.41/bfd/bfd-in2.h 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/bfd/bfd-in2.h 2023-10-17 08:36:04.910415849 +0200
@@ -31,11 +31,6 @@
--- a/bfd/bfd-in.h 2012-08-02 10:56:34.561769686 +0100
+++ b/bfd/bfd-in.h 2012-08-02 11:13:27.134797755 +0100
@@ -25,11 +25,6 @@
#ifndef __BFD_H_SEEN__
#define __BFD_H_SEEN__
@ -13,10 +12,9 @@ diff -rupN --no-dereference binutils-2.41/bfd/bfd-in2.h binutils-2.41-new/bfd/bf
#ifdef __cplusplus
extern "C" {
#endif
diff -rupN --no-dereference binutils-2.41/bfd/bfd-in.h binutils-2.41-new/bfd/bfd-in.h
--- binutils-2.41/bfd/bfd-in.h 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/bfd/bfd-in.h 2023-10-17 08:36:04.909415794 +0200
@@ -23,11 +23,6 @@
--- a/bfd/bfd-in2.h 2012-08-02 10:56:34.349769680 +0100
+++ b/bfd/bfd-in2.h 2012-08-02 11:13:40.015798113 +0100
@@ -32,11 +32,6 @@
#ifndef __BFD_H_SEEN__
#define __BFD_H_SEEN__

View File

@ -1,27 +1,6 @@
diff -rupN --no-dereference binutils-2.41/bfd/elfxx-x86.c binutils-2.41-new/bfd/elfxx-x86.c
--- binutils-2.41/bfd/elfxx-x86.c 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/bfd/elfxx-x86.c 2023-10-17 08:36:06.092480328 +0200
@@ -105,7 +105,7 @@ elf_x86_allocate_dynrelocs (struct elf_l
plt_entry_size = htab->plt.plt_entry_size;
resolved_to_zero = UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh);
-
+#if 0
/* We can't use the GOT PLT if pointer equality is needed since
finish_dynamic_symbol won't clear symbol value and the dynamic
linker won't update the GOT slot. We will get into an infinite
@@ -123,7 +123,7 @@ elf_x86_allocate_dynrelocs (struct elf_l
/* Use the GOT PLT. */
eh->plt_got.refcount = 1;
}
-
+#endif
/* Since STT_GNU_IFUNC symbol must go through PLT, we handle it
here if it is defined and referenced in a non-shared object. */
if (h->type == STT_GNU_IFUNC
diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-i386/pltgot-1.d binutils-2.41-new/ld/testsuite/ld-i386/pltgot-1.d
--- binutils-2.41/ld/testsuite/ld-i386/pltgot-1.d 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/ld/testsuite/ld-i386/pltgot-1.d 2023-10-17 08:36:06.088480110 +0200
diff -rup binutils.orig/ld/testsuite/ld-i386/pltgot-1.d binutils-2.29.1/ld/testsuite/ld-i386/pltgot-1.d
--- binutils.orig/ld/testsuite/ld-i386/pltgot-1.d 2017-11-15 13:32:39.335065263 +0000
+++ binutils-2.29.1/ld/testsuite/ld-i386/pltgot-1.d 2017-11-15 15:03:55.649727195 +0000
@@ -2,6 +2,7 @@
#readelf: -S --wide
#as: --32
@ -30,9 +9,9 @@ diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-i386/pltgot-1.d binuti
#...
+\[ *[0-9]+\] \.plt +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +0+10 +.*
#...
diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-i386/pltgot-2.d binutils-2.41-new/ld/testsuite/ld-i386/pltgot-2.d
--- binutils-2.41/ld/testsuite/ld-i386/pltgot-2.d 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/ld/testsuite/ld-i386/pltgot-2.d 2023-10-17 08:36:06.089480165 +0200
diff -rup binutils.orig/ld/testsuite/ld-i386/pltgot-2.d binutils-2.29.1/ld/testsuite/ld-i386/pltgot-2.d
--- binutils.orig/ld/testsuite/ld-i386/pltgot-2.d 2017-11-15 13:32:39.329065335 +0000
+++ binutils-2.29.1/ld/testsuite/ld-i386/pltgot-2.d 2017-11-15 15:04:20.803430034 +0000
@@ -3,7 +3,6 @@
#readelf: -d --wide
#as: --32
@ -41,10 +20,10 @@ diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-i386/pltgot-2.d binuti
#...
+0x[0-9a-f]+ +\(PLTREL.*
#...
diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-i386/pr19636-2d.d binutils-2.41-new/ld/testsuite/ld-i386/pr19636-2d.d
--- binutils-2.41/ld/testsuite/ld-i386/pr19636-2d.d 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/ld/testsuite/ld-i386/pr19636-2d.d 2023-10-17 08:36:06.089480165 +0200
@@ -8,7 +8,7 @@ Relocation section '\.rel\.dyn' at offse
diff -rup binutils.orig/ld/testsuite/ld-i386/pr19636-2d.d binutils-2.29.1/ld/testsuite/ld-i386/pr19636-2d.d
--- binutils.orig/ld/testsuite/ld-i386/pr19636-2d.d 2017-11-15 13:32:39.336065251 +0000
+++ binutils-2.29.1/ld/testsuite/ld-i386/pr19636-2d.d 2017-11-15 15:03:00.413379749 +0000
@@ -9,7 +9,7 @@ Relocation section '\.rel\.dyn' at offse
[0-9a-f]+ +[0-9a-f]+ +R_386_32 +0+ +func
[0-9a-f]+ +[0-9a-f]+ +R_386_PC32 +0+ +func
[0-9a-f]+ +[0-9a-f]+ +R_386_GLOB_DAT +0+ +func
@ -53,10 +32,10 @@ diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-i386/pr19636-2d.d binu
Symbol table '\.dynsym' contains [0-9]+ entries:
+Num: +Value +Size Type +Bind +Vis +Ndx Name
#...
diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-i386/pr19636-2e.d binutils-2.41-new/ld/testsuite/ld-i386/pr19636-2e.d
--- binutils-2.41/ld/testsuite/ld-i386/pr19636-2e.d 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/ld/testsuite/ld-i386/pr19636-2e.d 2023-10-17 08:36:06.089480165 +0200
@@ -8,7 +8,7 @@ Relocation section '\.rel\.dyn' at offse
diff -rup binutils.orig/ld/testsuite/ld-i386/pr19636-2e.d binutils-2.29.1/ld/testsuite/ld-i386/pr19636-2e.d
--- binutils.orig/ld/testsuite/ld-i386/pr19636-2e.d 2017-11-15 13:32:39.330065323 +0000
+++ binutils-2.29.1/ld/testsuite/ld-i386/pr19636-2e.d 2017-11-15 15:03:28.928042882 +0000
@@ -9,7 +9,7 @@ Relocation section '\.rel\.dyn' at offse
[0-9a-f]+ +[0-9a-f]+ +R_386_32 +0+ +func
[0-9a-f]+ +[0-9a-f]+ +R_386_PC32 +0+ +func
[0-9a-f]+ +[0-9a-f]+ +R_386_GLOB_DAT +0+ +func
@ -65,21 +44,9 @@ diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-i386/pr19636-2e.d binu
Symbol table '\.dynsym' contains [0-9]+ entries:
+Num: +Value +Size Type +Bind +Vis +Ndx Name
#...
diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-i386/pr20830.d binutils-2.41-new/ld/testsuite/ld-i386/pr20830.d
--- binutils-2.41/ld/testsuite/ld-i386/pr20830.d 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/ld/testsuite/ld-i386/pr20830.d 2023-10-17 08:36:06.092480328 +0200
@@ -19,7 +19,7 @@ Contents of the .eh_frame section:
DW_CFA_offset: r8 \(eip\) at cfa-4
DW_CFA_nop
DW_CFA_nop
-
+#pass
0+18 00000010 0000001c FDE cie=00000000 pc=00000128..00000133
DW_CFA_nop
DW_CFA_nop
diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-x86-64/pltgot-1.d binutils-2.41-new/ld/testsuite/ld-x86-64/pltgot-1.d
--- binutils-2.41/ld/testsuite/ld-x86-64/pltgot-1.d 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/ld/testsuite/ld-x86-64/pltgot-1.d 2023-10-17 08:36:06.090480219 +0200
diff -rup binutils.orig/ld/testsuite/ld-x86-64/pltgot-1.d binutils-2.29.1/ld/testsuite/ld-x86-64/pltgot-1.d
--- binutils.orig/ld/testsuite/ld-x86-64/pltgot-1.d 2017-11-15 13:32:39.415064300 +0000
+++ binutils-2.29.1/ld/testsuite/ld-x86-64/pltgot-1.d 2017-11-15 15:08:39.333375801 +0000
@@ -2,8 +2,4 @@
#readelf: -S --wide
#as: --64
@ -89,9 +56,9 @@ diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-x86-64/pltgot-1.d binu
-#...
- +\[ *[0-9]+\] \.got\.plt +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +0+18 +.*
#pass
diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-x86-64/pltgot-2.d binutils-2.41-new/ld/testsuite/ld-x86-64/pltgot-2.d
--- binutils-2.41/ld/testsuite/ld-x86-64/pltgot-2.d 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/ld/testsuite/ld-x86-64/pltgot-2.d 2023-10-17 08:36:06.090480219 +0200
diff -rup binutils.orig/ld/testsuite/ld-x86-64/pltgot-2.d binutils-2.29.1/ld/testsuite/ld-x86-64/pltgot-2.d
--- binutils.orig/ld/testsuite/ld-x86-64/pltgot-2.d 2017-11-15 13:32:39.404064432 +0000
+++ binutils-2.29.1/ld/testsuite/ld-x86-64/pltgot-2.d 2017-11-15 15:08:59.031143095 +0000
@@ -3,7 +3,6 @@
#readelf: -d --wide
#as: --64
@ -100,17 +67,17 @@ diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-x86-64/pltgot-2.d binu
#...
+0x[0-9a-f]+ +\(PLTREL.*
#...
diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-x86-64/plt-main.rd binutils-2.41-new/ld/testsuite/ld-x86-64/plt-main.rd
--- binutils-2.41/ld/testsuite/ld-x86-64/plt-main.rd 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/ld/testsuite/ld-x86-64/plt-main.rd 2023-10-17 08:36:06.090480219 +0200
diff -rup binutils.orig/ld/testsuite/ld-x86-64/plt-main.rd binutils-2.29.1/ld/testsuite/ld-x86-64/plt-main.rd
--- binutils.orig/ld/testsuite/ld-x86-64/plt-main.rd 2017-11-15 13:32:39.407064397 +0000
+++ binutils-2.29.1/ld/testsuite/ld-x86-64/plt-main.rd 2017-11-15 15:06:17.244054423 +0000
@@ -1,4 +1,3 @@
-#failif
#...
[0-9a-f ]+R_X86_64_JUMP_SLOT +0+ +bar \+ 0
#...
diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-x86-64/pr20830a.d binutils-2.41-new/ld/testsuite/ld-x86-64/pr20830a.d
--- binutils-2.41/ld/testsuite/ld-x86-64/pr20830a.d 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/ld/testsuite/ld-x86-64/pr20830a.d 2023-10-17 08:36:06.090480219 +0200
diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr20830a.d binutils-2.29.1/ld/testsuite/ld-x86-64/pr20830a.d
--- binutils.orig/ld/testsuite/ld-x86-64/pr20830a.d 2017-11-15 13:32:39.412064336 +0000
+++ binutils-2.29.1/ld/testsuite/ld-x86-64/pr20830a.d 2017-11-15 15:15:09.918750288 +0000
@@ -20,6 +20,7 @@ Contents of the .eh_frame section:
DW_CFA_offset: r16 \(rip\) at cfa-8
DW_CFA_nop
@ -119,9 +86,9 @@ diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-x86-64/pr20830a.d binu
0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001c8..00000000000001d4
DW_CFA_nop
diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-x86-64/pr20830a-now.d binutils-2.41-new/ld/testsuite/ld-x86-64/pr20830a-now.d
--- binutils-2.41/ld/testsuite/ld-x86-64/pr20830a-now.d 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/ld/testsuite/ld-x86-64/pr20830a-now.d 2023-10-17 08:36:06.091480274 +0200
diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr20830a-now.d binutils-2.29.1/ld/testsuite/ld-x86-64/pr20830a-now.d
--- binutils.orig/ld/testsuite/ld-x86-64/pr20830a-now.d 2017-11-15 13:32:39.413064324 +0000
+++ binutils-2.29.1/ld/testsuite/ld-x86-64/pr20830a-now.d 2017-11-15 15:16:08.227055104 +0000
@@ -20,6 +20,7 @@ Contents of the .eh_frame section:
DW_CFA_offset: r16 \(rip\) at cfa-8
DW_CFA_nop
@ -130,9 +97,9 @@ diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-x86-64/pr20830a-now.d
0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001c8..00000000000001d4
DW_CFA_nop
diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-x86-64/pr20830b.d binutils-2.41-new/ld/testsuite/ld-x86-64/pr20830b.d
--- binutils-2.41/ld/testsuite/ld-x86-64/pr20830b.d 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/ld/testsuite/ld-x86-64/pr20830b.d 2023-10-17 08:36:06.091480274 +0200
diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr20830b.d binutils-2.29.1/ld/testsuite/ld-x86-64/pr20830b.d
--- binutils.orig/ld/testsuite/ld-x86-64/pr20830b.d 2017-11-15 13:32:39.413064324 +0000
+++ binutils-2.29.1/ld/testsuite/ld-x86-64/pr20830b.d 2017-11-15 15:16:20.115913358 +0000
@@ -20,7 +20,8 @@ Contents of the .eh_frame section:
DW_CFA_offset: r16 \(rip\) at cfa-8
DW_CFA_nop
@ -143,9 +110,9 @@ diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-x86-64/pr20830b.d binu
0+18 0000000000000010 0000001c FDE cie=00000000 pc=0000000000000138..0000000000000144
DW_CFA_nop
DW_CFA_nop
diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-x86-64/pr20830b-now.d binutils-2.41-new/ld/testsuite/ld-x86-64/pr20830b-now.d
--- binutils-2.41/ld/testsuite/ld-x86-64/pr20830b-now.d 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/ld/testsuite/ld-x86-64/pr20830b-now.d 2023-10-17 08:36:06.091480274 +0200
diff -rup binutils.orig/ld/testsuite/ld-x86-64/pr20830b-now.d binutils-2.29.1/ld/testsuite/ld-x86-64/pr20830b-now.d
--- binutils.orig/ld/testsuite/ld-x86-64/pr20830b-now.d 2017-11-15 13:32:39.411064348 +0000
+++ binutils-2.29.1/ld/testsuite/ld-x86-64/pr20830b-now.d 2017-11-15 15:16:29.012807282 +0000
@@ -20,7 +20,8 @@ Contents of the .eh_frame section:
DW_CFA_offset: r16 \(rip\) at cfa-8
DW_CFA_nop
@ -156,9 +123,9 @@ diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-x86-64/pr20830b-now.d
0+18 0000000000000010 0000001c FDE cie=00000000 pc=0000000000000138..0000000000000144
DW_CFA_nop
DW_CFA_nop
diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-x86-64/tlspic2.rd binutils-2.41-new/ld/testsuite/ld-x86-64/tlspic2.rd
--- binutils-2.41/ld/testsuite/ld-x86-64/tlspic2.rd 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/ld/testsuite/ld-x86-64/tlspic2.rd 2023-10-17 08:36:06.091480274 +0200
diff -rup binutils.orig/ld/testsuite/ld-x86-64/tlspic2.rd binutils-2.29.1/ld/testsuite/ld-x86-64/tlspic2.rd
--- binutils.orig/ld/testsuite/ld-x86-64/tlspic2.rd 2017-11-15 13:32:39.417064276 +0000
+++ binutils-2.29.1/ld/testsuite/ld-x86-64/tlspic2.rd 2017-11-15 15:05:02.950932110 +0000
@@ -14,6 +14,7 @@ Section Headers:
+\[[ 0-9]+\] .dynsym +.*
+\[[ 0-9]+\] .dynstr +.*
@ -167,3 +134,34 @@ diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-x86-64/tlspic2.rd binu
+\[[ 0-9]+\] .plt +.*
+\[[ 0-9]+\] .plt.got +.*
+\[[ 0-9]+\] .text +PROGBITS +0+1000 0+1000 0+31a 00 +AX +0 +0 4096
--- binutils.orig/bfd/elfxx-x86.c 2018-01-22 15:59:25.875788033 +0000
+++ binutils-2.30.0/bfd/elfxx-x86.c 2018-01-22 16:00:20.789146597 +0000
@@ -107,7 +107,7 @@ elf_x86_allocate_dynrelocs (struct elf_l
plt_entry_size = htab->plt.plt_entry_size;
resolved_to_zero = UNDEFINED_WEAK_RESOLVED_TO_ZERO (info, eh);
-
+#if 0
/* We can't use the GOT PLT if pointer equality is needed since
finish_dynamic_symbol won't clear symbol value and the dynamic
linker won't update the GOT slot. We will get into an infinite
@@ -125,7 +125,7 @@ elf_x86_allocate_dynrelocs (struct elf_l
/* Use the GOT PLT. */
eh->plt_got.refcount = 1;
}
-
+#endif
/* Since STT_GNU_IFUNC symbol must go through PLT, we handle it
here if it is defined and referenced in a non-shared object. */
if (h->type == STT_GNU_IFUNC
--- binutils.orig/ld/testsuite/ld-i386/pr20830.d 2018-07-09 09:49:51.277239857 +0100
+++ binutils-2.30.90/ld/testsuite/ld-i386/pr20830.d 2018-07-09 10:32:41.113356733 +0100
@@ -19,7 +19,7 @@ Contents of the .eh_frame section:
DW_CFA_offset: r8 \(eip\) at cfa-4
DW_CFA_nop
DW_CFA_nop
-
+#pass
0+18 00000010 0000001c FDE cie=00000000 pc=00000128..00000133
DW_CFA_nop
DW_CFA_nop

View File

@ -1,60 +1,6 @@
diff -rupN --no-dereference binutils-2.41/binutils/testsuite/binutils-all/objcopy.exp binutils-2.41-new/binutils/testsuite/binutils-all/objcopy.exp
--- binutils-2.41/binutils/testsuite/binutils-all/objcopy.exp 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/binutils/testsuite/binutils-all/objcopy.exp 2023-10-17 08:36:19.150183227 +0200
@@ -1409,6 +1409,8 @@ proc objcopy_test_without_global_symbol
# The AArch64 and ARM targets preserve mapping symbols
# in object files, so they will fail this test.
setup_xfail aarch64*-*-* arm*-*-*
+# The RISC-V target compiles with annotation enabled and these symbols remain after stripping.
+setup_xfail riscv*-*-*
objcopy_test_without_global_symbol
diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-elf/dwarf.exp binutils-2.41-new/ld/testsuite/ld-elf/dwarf.exp
--- binutils-2.41/ld/testsuite/ld-elf/dwarf.exp 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/ld/testsuite/ld-elf/dwarf.exp 2023-10-17 08:36:19.150183227 +0200
@@ -29,6 +29,10 @@ if ![is_elf_format] {
return
}
+if { [istarget riscv*-*-*] } then {
+ return
+}
+
# Skip targets where -shared is not supported
if ![check_shared_lib_support] {
diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-elf/tls.exp binutils-2.41-new/ld/testsuite/ld-elf/tls.exp
--- binutils-2.41/ld/testsuite/ld-elf/tls.exp 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/ld/testsuite/ld-elf/tls.exp 2023-10-17 08:36:19.150183227 +0200
@@ -28,6 +28,10 @@ if { !([istarget *-*-linux*]
return
}
+if { [istarget riscv*-*-*] } then {
+ return
+}
+
# Check to see if the C compiler works.
if { ![check_compiler_available] } {
return
diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-plugin/plugin.exp binutils-2.41-new/ld/testsuite/ld-plugin/plugin.exp
--- binutils-2.41/ld/testsuite/ld-plugin/plugin.exp 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/ld/testsuite/ld-plugin/plugin.exp 2023-10-17 08:36:19.150183227 +0200
@@ -132,6 +132,10 @@ if [is_pecoff_format] {
append libs " --image-base=0x10000000"
}
+if { [istarget riscv*-*-*] } then {
+ return
+}
+
set plugin_tests [list \
[list "load plugin" "-plugin $plugin_path \
$testobjfiles $libs" "" "" "" {{ld plugin-1.d}} "main.x" ] \
diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-riscv-elf/attr-phdr.d binutils-2.41-new/ld/testsuite/ld-riscv-elf/attr-phdr.d
--- binutils-2.41/ld/testsuite/ld-riscv-elf/attr-phdr.d 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/ld/testsuite/ld-riscv-elf/attr-phdr.d 2023-10-17 08:36:19.149183174 +0200
diff -rup binutils.orig/ld/testsuite/ld-riscv-elf/attr-phdr.d binutils-2.40/ld/testsuite/ld-riscv-elf/attr-phdr.d
--- binutils.orig/ld/testsuite/ld-riscv-elf/attr-phdr.d 2023-02-16 10:11:38.656875289 +0000
+++ binutils-2.40/ld/testsuite/ld-riscv-elf/attr-phdr.d 2023-02-16 10:49:26.786573665 +0000
@@ -12,8 +12,8 @@ Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
RISCV_ATTRIBUT .*
@ -66,9 +12,9 @@ diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-riscv-elf/attr-phdr.d
00 .riscv.attributes
- 01 .text
+#pass
diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-riscv-elf/pcgp-relax-01.d binutils-2.41-new/ld/testsuite/ld-riscv-elf/pcgp-relax-01.d
--- binutils-2.41/ld/testsuite/ld-riscv-elf/pcgp-relax-01.d 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/ld/testsuite/ld-riscv-elf/pcgp-relax-01.d 2023-10-17 08:36:19.149183174 +0200
diff -rup binutils.orig/ld/testsuite/ld-riscv-elf/pcgp-relax-01.d binutils-2.40/ld/testsuite/ld-riscv-elf/pcgp-relax-01.d
--- binutils.orig/ld/testsuite/ld-riscv-elf/pcgp-relax-01.d 2023-02-16 10:11:38.659875285 +0000
+++ binutils-2.40/ld/testsuite/ld-riscv-elf/pcgp-relax-01.d 2023-02-16 10:42:54.803431287 +0000
@@ -8,7 +8,7 @@
Disassembly of section \.text:
@ -78,40 +24,126 @@ diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-riscv-elf/pcgp-relax-0
.*:[ ]+[0-9a-f]+[ ]+jal[ ]+ra,[0-9a-f]+ <_start>
.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a1,gp,\-[0-9]+ # [0-9a-f]+ <data_g>
.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a2,gp,\-[0-9]+ # [0-9a-f]+ <data_g>
diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-riscv-elf/pcgp-relax-01-norelaxgp.d binutils-2.41-new/ld/testsuite/ld-riscv-elf/pcgp-relax-01-norelaxgp.d
--- binutils-2.41/ld/testsuite/ld-riscv-elf/pcgp-relax-01-norelaxgp.d 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/ld/testsuite/ld-riscv-elf/pcgp-relax-01-norelaxgp.d 2023-10-17 08:36:19.151183281 +0200
@@ -8,11 +8,11 @@
Disassembly of section \.text:
0+[0-9a-f]+ <_start>:
-.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a0,a0,[0-9]+
+.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a0,a0,.*
.*:[ ]+[0-9a-f]+[ ]+jal[ ]+ra,[0-9a-f]+ <_start>
.*:[ ]+[0-9a-f]+[ ]+auipc[ ]+a1,0x[0-9a-f]+
-.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a1,a1,[0-9]+ # [0-9a-f]+ <data_g>
+.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a1,a1,.* # [0-9a-f]+ <data_g>
.*:[ ]+[0-9a-f]+[ ]+lui[ ]+a2,0x[0-9a-f]+
-.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a2,a2,[0-9]+ # [0-9a-f]+ <data_g>
+.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a2,a2,.* # [0-9a-f]+ <data_g>
.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a3,tp,0 # 0 <data_t>
.*:[ ]+[0-9a-f]+[ ]+auipc[ ]+a0,0x[0-9a-f]+
diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-riscv-elf/pcgp-relax-02.d binutils-2.41-new/ld/testsuite/ld-riscv-elf/pcgp-relax-02.d
--- binutils-2.41/ld/testsuite/ld-riscv-elf/pcgp-relax-02.d 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/ld/testsuite/ld-riscv-elf/pcgp-relax-02.d 2023-10-17 08:36:19.149183174 +0200
diff -rup binutils.orig/ld/testsuite/ld-riscv-elf/pcgp-relax-02.d binutils-2.40/ld/testsuite/ld-riscv-elf/pcgp-relax-02.d
--- binutils.orig/ld/testsuite/ld-riscv-elf/pcgp-relax-02.d 2023-02-16 10:11:38.659875285 +0000
+++ binutils-2.40/ld/testsuite/ld-riscv-elf/pcgp-relax-02.d 2023-02-16 10:43:49.540306593 +0000
@@ -11,5 +11,5 @@ Disassembly of section .text:
[0-9a-f]+ <_start>:
.*:[ ]+[0-9a-f]+[ ]+auipc[ ]+a1.*
.*:[ ]+[0-9a-f]+[ ]+addi?[ ]+a0,gp.*<data_a>
-.*:[ ]+[0-9a-f]+[ ]+addi?[ ]+a1,a1.*<data_b>
.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a0,gp.*<data_a>
-.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a1,a1.*<data_b>
+.*:[ ]+[0-9a-f]+[ ]+mv[ ]+a1,a1
#pass
diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-riscv-elf/pcrel-lo-addend-2a.d binutils-2.41-new/ld/testsuite/ld-riscv-elf/pcrel-lo-addend-2a.d
--- binutils-2.41/ld/testsuite/ld-riscv-elf/pcrel-lo-addend-2a.d 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/ld/testsuite/ld-riscv-elf/pcrel-lo-addend-2a.d 2023-10-17 08:36:19.149183174 +0200
diff -rup binutils.orig/ld/testsuite/ld-riscv-elf/pcrel-lo-addend-2a.d binutils-2.40/ld/testsuite/ld-riscv-elf/pcrel-lo-addend-2a.d
--- binutils.orig/ld/testsuite/ld-riscv-elf/pcrel-lo-addend-2a.d 2023-02-16 10:11:38.659875285 +0000
+++ binutils-2.40/ld/testsuite/ld-riscv-elf/pcrel-lo-addend-2a.d 2023-02-16 10:46:55.570899994 +0000
@@ -2,4 +2,5 @@
#source: pcrel-lo-addend-2a.s
#as: -march=rv32ic
#ld: -m[riscv_choose_ilp32_emul] --no-relax
+#skip: *-*-*
#error: .*dangerous relocation: %pcrel_lo overflow with an addend, the value of %pcrel_hi is 0x1000 without any addend, but may be 0x2000 after adding the %pcrel_lo addend
diff -rup binutils.orig/ld/testsuite/ld-elf/dwarf.exp binutils-2.40/ld/testsuite/ld-elf/dwarf.exp
--- binutils.orig/ld/testsuite/ld-elf/dwarf.exp 2023-02-16 10:11:38.515875516 +0000
+++ binutils-2.40/ld/testsuite/ld-elf/dwarf.exp 2023-02-16 11:08:52.209377332 +0000
@@ -29,6 +29,10 @@ if ![is_elf_format] {
return
}
+if { [istarget riscv*-*-*] } then {
+ return
+}
+
# Skip targets where -shared is not supported
if ![check_shared_lib_support] {
diff -rup binutils.orig/ld/testsuite/ld-elf/tls.exp binutils-2.40/ld/testsuite/ld-elf/tls.exp
--- binutils.orig/ld/testsuite/ld-elf/tls.exp 2023-02-16 10:11:38.540875476 +0000
+++ binutils-2.40/ld/testsuite/ld-elf/tls.exp 2023-02-16 11:08:56.944369374 +0000
@@ -28,6 +28,10 @@ if { !([istarget *-*-linux*]
return
}
+if { [istarget riscv*-*-*] } then {
+ return
+}
+
# Check to see if the C compiler works.
if { ![check_compiler_available] } {
return
--- binutils.orig/binutils/testsuite/binutils-all/objcopy.exp 2023-08-24 07:48:30.429195480 +0100
+++ binutils-2.41/binutils/testsuite/binutils-all/objcopy.exp 2023-08-24 07:57:05.535302711 +0100
@@ -1409,6 +1409,8 @@ proc objcopy_test_without_global_symbol
# The AArch64 and ARM targets preserve mapping symbols
# in object files, so they will fail this test.
setup_xfail aarch64*-*-* arm*-*-*
+# The RISC-V target compiles with annotation enabled and these symbols remain after stripping.
+setup_xfail riscv*-*-*
objcopy_test_without_global_symbol
--- binutils.orig/ld/testsuite/ld-plugin/plugin.exp 2023-08-24 07:48:31.808196076 +0100
+++ binutils-2.41/ld/testsuite/ld-plugin/plugin.exp 2023-08-24 07:59:30.285716568 +0100
@@ -132,6 +132,10 @@ if [is_pecoff_format] {
append libs " --image-base=0x10000000"
}
+if { [istarget riscv*-*-*] } then {
+ return
+}
+
set plugin_tests [list \
[list "load plugin" "-plugin $plugin_path \
$testobjfiles $libs" "" "" "" {{ld plugin-1.d}} "main.x" ] \
--- binutils.orig/binutils/testsuite/binutils-all/compress.exp 2023-12-11 10:09:16.923374463 +0000
+++ binutils-2.41/binutils/testsuite/binutils-all/compress.exp 2023-12-12 09:00:15.150036675 +0000
@@ -818,6 +818,10 @@ proc test_gnu_debuglink {} {
}
}
+if { [istarget riscv*-*-*] } then {
+ return
+}
+
if {[is_elf_format]} then {
test_gnu_debuglink
}
--- binutils-2.41/ld/testsuite/ld-riscv-elf/pcgp-relax-01-norelaxgp.d 2023-07-03 00:00:00.000000000 +0100
+++ binutils.new/ld/testsuite/ld-riscv-elf/pcgp-relax-01-norelaxgp.d 2023-12-12 11:52:54.564057931 +0000
@@ -8,10 +8,10 @@
Disassembly of section \.text:
0+[0-9a-f]+ <_start>:
-.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a0,a0,[0-9]+
+.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a0,a0,\-[0-9]+
.*:[ ]+[0-9a-f]+[ ]+jal[ ]+ra,[0-9a-f]+ <_start>
.*:[ ]+[0-9a-f]+[ ]+auipc[ ]+a1,0x[0-9a-f]+
-.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a1,a1,[0-9]+ # [0-9a-f]+ <data_g>
+.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a1,a1,\-[0-9]+ # [0-9a-f]+ <data_g>
.*:[ ]+[0-9a-f]+[ ]+lui[ ]+a2,0x[0-9a-f]+
.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a2,a2,[0-9]+ # [0-9a-f]+ <data_g>
.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a3,tp,0 # 0 <data_t>
--- binutils.orig/binutils/testsuite/binutils-all/objcopy.exp 2023-12-12 14:21:10.225342926 +0000
+++ binutils-2.41/binutils/testsuite/binutils-all/objcopy.exp 2023-12-12 14:22:12.453421499 +0000
@@ -1410,7 +1410,7 @@ proc objcopy_test_without_global_symbol
# in object files, so they will fail this test.
setup_xfail aarch64*-*-* arm*-*-*
# The RISC-V target compiles with annotation enabled and these symbols remain after stripping.
-setup_xfail riscv*-*-*
+# setup_xfail riscv*-*-*
objcopy_test_without_global_symbol
--- binutils.orig/ld/testsuite/ld-ifunc/ifunc.exp 2024-02-08 10:12:23.739591113 +0000
+++ binutils-2.42/ld/testsuite/ld-ifunc/ifunc.exp 2024-02-08 10:14:58.243670115 +0000
@@ -666,6 +666,10 @@ run_cc_link_tests [list \
] \
]
+if {[istarget "riscv*-*-*"]} {
+ return
+}
+
run_ld_link_exec_tests [list \
[list \
"Run pr18808" \

View File

@ -1,28 +0,0 @@
diff -rupN --no-dereference binutils-2.41/bfd/elf.c binutils-2.41-new/bfd/elf.c
--- binutils-2.41/bfd/elf.c 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/bfd/elf.c 2023-10-17 08:36:09.594670522 +0200
@@ -827,7 +827,13 @@ setup_group (bfd *abfd, Elf_Internal_Shd
}
}
- if (elf_group_name (newsect) == NULL)
+ if (elf_group_name (newsect) == NULL
+ /* OS specific sections might be in a group (eg ARM's ARM_EXIDX section)
+ but they will not have been added to the group because they do not
+ have contents that the ELF code in the BFD library knows how to
+ process. This is OK though - we rely upon the target backends to
+ handle these sections for us. */
+ && hdr->sh_type < SHT_LOOS)
{
/* xgettext:c-format */
_bfd_error_handler (_("%pB: no group info for section '%pA'"),
@@ -935,7 +941,8 @@ _bfd_elf_setup_sections (bfd *abfd)
else if (idx->shdr->bfd_section)
elf_sec_group (idx->shdr->bfd_section) = shdr->bfd_section;
else if (idx->shdr->sh_type != SHT_RELA
- && idx->shdr->sh_type != SHT_REL)
+ && idx->shdr->sh_type != SHT_REL
+ && idx->shdr->sh_type < SHT_LOOS)
{
/* There are some unknown sections in the group. */
_bfd_error_handler

View File

@ -0,0 +1,13 @@
--- binutils.orig/ld/testsuite/ld-elf/linux-x86.exp 2024-01-24 11:52:35.288014542 +0000
+++ binutils-2.41/ld/testsuite/ld-elf/linux-x86.exp 2024-01-24 17:31:39.356167357 +0000
@@ -225,6 +225,10 @@ if { [check_ifunc_attribute_available] }
# Old gcc silently ignores __attribute__ ((aligned())) with too big alignment.
proc compiler_honours_aligned { } {
global CC_FOR_TARGET READELF srcdir subdir
+
+ # Temporary fix for CentOS-10 kernel issue. (RHEL-22466)
+ return 0
+
ld_compile $CC_FOR_TARGET $srcdir/$subdir/p_align-1.c tmpdir/p_align-1.o
set output [run_host_cmd "$READELF" "-SW tmpdir/p_align-1.o"]
if { [regexp { [.]data *PROGBITS .* 8388608[\n]} $output] } {

File diff suppressed because it is too large Load Diff

View File

@ -1,36 +0,0 @@
diff -rup binutils.orig/ld/ld.1 binutils-2.41/ld/ld.1
--- binutils.orig/ld/ld.1 2023-08-03 12:47:14.427004953 +0100
+++ binutils-2.41/ld/ld.1 2023-08-03 12:49:10.672145873 +0100
@@ -2669,7 +2669,7 @@ systems may not understand them. If you
\&\fB\-\-enable\-new\-dtags\fR, the new dynamic tags will be created as needed
and older dynamic tags will be omitted.
If you specify \fB\-\-disable\-new\-dtags\fR, no new dynamic tags will be
-created. By default, the new dynamic tags are not created. Note that
+created. By default, the new dynamic tags are created. Note that
those options are only available for ELF systems.
.IP \fB\-\-hash\-size=\fR\fInumber\fR 4
.IX Item "--hash-size=number"
diff -rup binutils.orig/ld/ld.info binutils-2.41/ld/ld.info
--- binutils.orig/ld/ld.info 2023-08-03 12:47:14.427004953 +0100
+++ binutils-2.41/ld/ld.info 2023-08-03 12:49:58.829204257 +0100
@@ -2366,7 +2366,7 @@ GNU linker:
--enable-new-dtags, the new dynamic tags will be created as
needed and older dynamic tags will be omitted. If you specify
--disable-new-dtags, no new dynamic tags will be created. By
- default, the new dynamic tags are not created. Note that those
+ default, the new dynamic tags are created. Note that those
options are only available for ELF systems.
--hash-size=NUMBER
diff -rup binutils.orig/ld/ld.texi binutils-2.41/ld/ld.texi
--- binutils.orig/ld/ld.texi 2023-08-03 12:50:58.176276215 +0100
+++ binutils-2.41/ld/ld.texi 2023-08-03 12:41:11.902610960 +0100
@@ -2946,7 +2946,7 @@ systems may not understand them. If you
@option{--enable-new-dtags}, the new dynamic tags will be created as needed
and older dynamic tags will be omitted.
If you specify @option{--disable-new-dtags}, no new dynamic tags will be
-created. By default, the new dynamic tags are not created. Note that
+created. By default, the new dynamic tags are created. Note that
those options are only available for ELF systems.
@kindex --hash-size=@var{number}

View File

@ -1,7 +1,7 @@
diff -rupN --no-dereference binutils-2.41/bfd/Makefile.am binutils-2.41-new/bfd/Makefile.am
--- binutils-2.41/bfd/Makefile.am 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/bfd/Makefile.am 2023-10-17 08:36:02.532285680 +0200
@@ -966,8 +966,8 @@ DISTCLEANFILES += $(BUILD_CFILES) $(BUIL
diff -rup binutils.orig/bfd/Makefile.am binutils-2.38/bfd/Makefile.am
--- binutils.orig/bfd/Makefile.am 2022-02-09 14:10:42.659300681 +0000
+++ binutils-2.38/bfd/Makefile.am 2022-02-09 14:12:40.562532916 +0000
@@ -977,8 +977,8 @@ DISTCLEANFILES = $(BUILD_CFILES) $(BUILD
bfdver.h: $(srcdir)/version.h $(srcdir)/development.sh $(srcdir)/Makefile.in
$(AM_V_GEN)\
bfd_version=`echo "$(VERSION)" | $(SED) -e 's/\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\).*/\1.00\2.00\3.00\4.00\5/' -e 's/\([^\.]*\)\..*\(..\)\..*\(..\)\..*\(..\)\..*\(..\)$$/\1\2\3\4\5/'` ;\
@ -12,7 +12,7 @@ diff -rupN --no-dereference binutils-2.41/bfd/Makefile.am binutils-2.41-new/bfd/
bfd_version_package="\"$(PKGVERSION)\"" ;\
report_bugs_to="\"$(REPORT_BUGS_TO)\"" ;\
. $(srcdir)/development.sh ;\
@@ -978,7 +978,7 @@ bfdver.h: $(srcdir)/version.h $(srcdir)/
@@ -989,7 +989,7 @@ bfdver.h: $(srcdir)/version.h $(srcdir)/
fi ;\
$(SED) -e "s,@bfd_version@,$$bfd_version," \
-e "s,@bfd_version_string@,$$bfd_version_string," \
@ -21,10 +21,10 @@ diff -rupN --no-dereference binutils-2.41/bfd/Makefile.am binutils-2.41-new/bfd/
-e "s,@report_bugs_to@,$$report_bugs_to," \
< $(srcdir)/version.h > $@; \
echo "$${bfd_soversion}" > libtool-soversion
diff -rupN --no-dereference binutils-2.41/bfd/Makefile.in binutils-2.41-new/bfd/Makefile.in
--- binutils-2.41/bfd/Makefile.in 2023-07-03 01:00:00.000000000 +0200
+++ binutils-2.41-new/bfd/Makefile.in 2023-10-17 08:36:02.533285735 +0200
@@ -2425,8 +2425,8 @@ stmp-lcoff-h: $(LIBCOFF_H_FILES) $(MKDOC
diff -rup binutils.orig/bfd/Makefile.in binutils-2.38/bfd/Makefile.in
--- binutils.orig/bfd/Makefile.in 2022-02-09 14:10:42.653300720 +0000
+++ binutils-2.38/bfd/Makefile.in 2022-02-09 14:19:03.362040188 +0000
@@ -2094,8 +2094,8 @@ stmp-lcoff-h: $(LIBCOFF_H_FILES) $(MKDOC
bfdver.h: $(srcdir)/version.h $(srcdir)/development.sh $(srcdir)/Makefile.in
$(AM_V_GEN)\
bfd_version=`echo "$(VERSION)" | $(SED) -e 's/\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\).*/\1.00\2.00\3.00\4.00\5/' -e 's/\([^\.]*\)\..*\(..\)\..*\(..\)\..*\(..\)\..*\(..\)$$/\1\2\3\4\5/'` ;\
@ -35,7 +35,7 @@ diff -rupN --no-dereference binutils-2.41/bfd/Makefile.in binutils-2.41-new/bfd/
bfd_version_package="\"$(PKGVERSION)\"" ;\
report_bugs_to="\"$(REPORT_BUGS_TO)\"" ;\
. $(srcdir)/development.sh ;\
@@ -2437,7 +2437,7 @@ bfdver.h: $(srcdir)/version.h $(srcdir)/
@@ -2106,7 +2106,7 @@ bfdver.h: $(srcdir)/version.h $(srcdir)/
fi ;\
$(SED) -e "s,@bfd_version@,$$bfd_version," \
-e "s,@bfd_version_string@,$$bfd_version_string," \

View File

@ -3,11 +3,11 @@
%define enable_new_dtags 0
Name: mingw-binutils
Version: 2.41
Release: 3%{?dist}
Version: 2.43.1
Release: 2%{?dist}
Summary: Cross-compiled version of binutils for Win32 and Win64 environments
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 LGPL-2.1-or-later AND LGPL-2.0-or-later
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: http://www.gnu.org/software/binutils/
Source0: http://ftp.gnu.org/gnu/binutils/binutils-%{version}.tar.xz
@ -63,12 +63,12 @@ Patch06: binutils-2.27-aarch64-ifunc.patch
Patch07: binutils-do-not-link-with-static-libstdc++.patch
# Purpose: Allow OS specific sections in section groups.
# Lifetime: Fixed in 2.42 (maybe)
Patch08: binutils-special-sections-in-groups.patch
# Lifetime: Fixed in 2.43 (maybe)
# Patch08: binutils-special-sections-in-groups.patch
# Purpose: Stop gold from aborting when input sections with the same name
# have different flags.
# Lifetime: Fixed in 2.42 (maybe)
# Lifetime: Fixed in 2.43 (maybe)
Patch09: binutils-gold-mismatched-section-flags.patch
# Purpose: Change the gold configuration script to only warn about
@ -84,21 +84,15 @@ Patch11: binutils-gold-i386-gnu-property-notes.patch
# Purpose: Allow the binutils to be configured with any (recent) version of
# autoconf.
# Lifetime: Fixed in 2.42 (maybe ?)
# Lifetime: Fixed in 2.44 (maybe ?)
Patch12: binutils-autoconf-version.patch
# Purpose: Stop libtool from inserting useless runpaths into binaries.
# Lifetime: Who knows.
Patch13: binutils-libtool-no-rpath.patch
%if %{enable_new_dtags}
# Purpose: Change ld man page so that it says that --enable-new-dtags is the default.
# Lifetime: Permanent
Patch14: binutils-update-linker-manual.patch
%endif
# Purpose: Stop an abort when using dwp to process a file with no dwo links.
# Lifetime: Fixed in 2.42 (maybe)
# Lifetime: Fixed in 2.44 (maybe)
Patch15: binutils-gold-empty-dwp.patch
# Purpose: Fix binutils testsuite failures.
@ -109,14 +103,21 @@ Patch16: binutils-testsuite-fixes.patch
# Lifetime: Permanent, but varies with each rebase.
Patch17: binutils-riscv-testsuite-fixes.patch
# Purpose: Fix the GOLD linker's handling of 32-bit PowerPC binaries.
# Lifetime: Fixed in 2.42
Patch18: binutils-gold-powerpc.patch
# Purpose: Make the GOLD linker ignore the "-z pack-relative-relocs" command line option.
# Lifetime: Fixed in 2.44 (maybe)
Patch18: binutils-gold-pack-relative-relocs.patch
# Purpose: Fix a potential NULL pointer dereference when parsing corrupt
# ELF symbol version information.
# Lifetime: Fixed in 2.42
Patch19: binutils-handle-corrupt-version-info.patch
# Purpose: Let the gold lihnker ignore --error-execstack and --error-rwx-segments.
# Lifetime: Fixed in 2.44 (maybe)
Patch19: binutils-gold-ignore-execstack-error.patch
# Purpose: Fix the ar test of non-deterministic archives.
# Lifetime: Fixed in 2.44
Patch20: binutils-fix-ar-test.patch
# Purpose: Suppress the x86 linker's p_align-1 tests due to kernel bug on CentOS-10
# Lifetime: TEMPORARY
Patch99: binutils-suppress-ld-align-tests.patch
BuildRequires: make
@ -125,9 +126,9 @@ BuildRequires: flex
BuildRequires: bison
BuildRequires: texinfo
BuildRequires: zlib-devel
BuildRequires: mingw32-filesystem >= 133
BuildRequires: mingw64-filesystem >= 133
BuildRequires: ucrt64-filesystem >= 133
BuildRequires: mingw32-filesystem
BuildRequires: mingw64-filesystem
BuildRequires: ucrt64-filesystem
%if %{run_testsuite}
BuildRequires: dejagnu
BuildRequires: sharutils
@ -450,6 +451,18 @@ rm -rf %{buildroot}%{_mandir}/man1/*
%changelog
* Wed Oct 02 2024 Davide Cavalca <dcavalca@fedoraproject.org> - 2.43.1-2
- Fix invalid SPDX expression in license tag
* Tue Aug 20 2024 Sandro Mani <manisandro@gmail.com> - 2.43.1-1
- Update to 2.43.1
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.42-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sun Feb 18 2024 Sandro Mani <manisandro@gmail.com> - 2.42-1
- Update to 2.42
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.41-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

View File

@ -1 +1 @@
SHA512 (binutils-2.41.tar.xz) = 5df45d0bd6ddabdce4f35878c041e46a92deef01e7dea5facc97fd65cc06b59abc6fba0eb454b68e571c7e14038dc823fe7f2263843e6e627b7444eaf0fe9374
SHA512 (binutils-2.43.1.tar.xz) = 20977ad17729141a2c26d358628f44a0944b84dcfefdec2ba029c2d02f40dfc41cc91c0631044560d2bd6f9a51e1f15846b4b311befbe14f1239f14ff7d57824