From ee47ffc8f8d37d5eb860a94870610a413eb55b0d Mon Sep 17 00:00:00 2001 From: eabdullin Date: Wed, 15 May 2024 07:49:15 +0000 Subject: [PATCH] Import from AlmaLinux stable repository --- .gitignore | 2 +- .mingw-binutils.metadata | 2 +- SOURCES/CVE-2022-38533.patch | 19 - SOURCES/binutils-2.27-aarch64-ifunc.patch | 11 + SOURCES/binutils-autoconf-version.patch | 6 +- ...ls-do-not-link-with-static-libstdc++.patch | 18 +- SOURCES/binutils-export-demangle.h.patch | 16 +- .../binutils-filename-in-error-messages.patch | 126 -- SOURCES/binutils-fix-testsuite-failures.patch | 304 --- ...utils-gas-dwarf-skip-empty-functions.patch | 67 - SOURCES/binutils-gold-empty-dwp.patch | 12 + ...inutils-gold-i386-gnu-property-notes.patch | 6 +- ...nutils-gold-mismatched-section-flags.patch | 10 +- SOURCES/binutils-gold-powerpc.patch | 71 + SOURCES/binutils-gold-warn-unsupported.patch | 34 +- ...binutils-handle-corrupt-version-info.patch | 30 + SOURCES/binutils-libtool-no-rpath.patch | 6 +- SOURCES/binutils-no-config-h-check.patch | 14 +- SOURCES/binutils-package-metadata.patch | 197 -- SOURCES/binutils-readelf-other-sym-info.patch | 36 - SOURCES/binutils-revert-PLT-elision.patch | 160 +- SOURCES/binutils-riscv-testsuite-fixes.patch | 117 ++ .../binutils-special-sections-in-groups.patch | 10 +- SOURCES/binutils-testsuite-fixes.patch | 1763 +++++++---------- SOURCES/binutils-version.patch | 20 +- SPECS/mingw-binutils.spec | 121 +- 26 files changed, 1122 insertions(+), 2056 deletions(-) delete mode 100644 SOURCES/CVE-2022-38533.patch create mode 100644 SOURCES/binutils-2.27-aarch64-ifunc.patch delete mode 100644 SOURCES/binutils-filename-in-error-messages.patch delete mode 100644 SOURCES/binutils-fix-testsuite-failures.patch delete mode 100644 SOURCES/binutils-gas-dwarf-skip-empty-functions.patch create mode 100644 SOURCES/binutils-gold-empty-dwp.patch create mode 100644 SOURCES/binutils-gold-powerpc.patch create mode 100644 SOURCES/binutils-handle-corrupt-version-info.patch delete mode 100644 SOURCES/binutils-package-metadata.patch delete mode 100644 SOURCES/binutils-readelf-other-sym-info.patch create mode 100644 SOURCES/binutils-riscv-testsuite-fixes.patch diff --git a/.gitignore b/.gitignore index 1237d14..85a28a3 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/binutils-2.39.tar.xz +SOURCES/binutils-2.41.tar.xz diff --git a/.mingw-binutils.metadata b/.mingw-binutils.metadata index c1e2fdd..9cb01f7 100644 --- a/.mingw-binutils.metadata +++ b/.mingw-binutils.metadata @@ -1 +1 @@ -f17653e7b1d1fa5242a408919845da23e8cc5141 SOURCES/binutils-2.39.tar.xz +0e008260a958bbd10182ee3384672ae0a310eece SOURCES/binutils-2.41.tar.xz diff --git a/SOURCES/CVE-2022-38533.patch b/SOURCES/CVE-2022-38533.patch deleted file mode 100644 index 8262b4e..0000000 --- a/SOURCES/CVE-2022-38533.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -rupN --no-dereference binutils-2.39/bfd/coffcode.h binutils-2.39-new/bfd/coffcode.h ---- binutils-2.39/bfd/coffcode.h 2022-07-08 11:46:47.000000000 +0200 -+++ binutils-2.39-new/bfd/coffcode.h 2022-10-30 12:41:41.408023817 +0100 -@@ -4284,10 +4284,13 @@ coff_set_section_contents (bfd * abfd, - - rec = (bfd_byte *) location; - recend = rec + count; -- while (rec < recend) -+ while (recend - rec >= 4) - { -+ size_t len = bfd_get_32 (abfd, rec); -+ if (len == 0 || len > (size_t) (recend - rec) / 4) -+ break; -+ rec += len * 4; - ++section->lma; -- rec += bfd_get_32 (abfd, rec) * 4; - } - - BFD_ASSERT (rec == recend); diff --git a/SOURCES/binutils-2.27-aarch64-ifunc.patch b/SOURCES/binutils-2.27-aarch64-ifunc.patch new file mode 100644 index 0000000..37e6a62 --- /dev/null +++ b/SOURCES/binutils-2.27-aarch64-ifunc.patch @@ -0,0 +1,11 @@ +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 + it here if it is defined in a non-shared object. */ + if (h != NULL + && h->type == STT_GNU_IFUNC ++ && (input_section->flags & SEC_ALLOC) + && h->def_regular) + { + asection *plt; diff --git a/SOURCES/binutils-autoconf-version.patch b/SOURCES/binutils-autoconf-version.patch index c555904..3fa1746 100644 --- a/SOURCES/binutils-autoconf-version.patch +++ b/SOURCES/binutils-autoconf-version.patch @@ -1,6 +1,6 @@ -diff -rupN --no-dereference binutils-2.39/config/override.m4 binutils-2.39-new/config/override.m4 ---- binutils-2.39/config/override.m4 2022-07-08 11:46:47.000000000 +0200 -+++ binutils-2.39-new/config/override.m4 2022-10-30 12:41:36.883023796 +0100 +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 @@ -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]), diff --git a/SOURCES/binutils-do-not-link-with-static-libstdc++.patch b/SOURCES/binutils-do-not-link-with-static-libstdc++.patch index ae1f1c2..7bbdcbc 100644 --- a/SOURCES/binutils-do-not-link-with-static-libstdc++.patch +++ b/SOURCES/binutils-do-not-link-with-static-libstdc++.patch @@ -1,7 +1,7 @@ -diff -rupN --no-dereference binutils-2.39/configure binutils-2.39-new/configure ---- binutils-2.39/configure 2022-07-08 11:55:40.000000000 +0200 -+++ binutils-2.39-new/configure 2022-10-30 12:41:28.785023757 +0100 -@@ -5276,49 +5276,6 @@ if test -z "$LD"; then +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 +@@ -5442,49 +5442,6 @@ if test -z "$LD"; then fi fi @@ -51,10 +51,10 @@ diff -rupN --no-dereference binutils-2.39/configure binutils-2.39-new/configure if test -n "$ac_tool_prefix"; then -diff -rupN --no-dereference binutils-2.39/configure.ac binutils-2.39-new/configure.ac ---- binutils-2.39/configure.ac 2022-08-05 13:02:04.000000000 +0200 -+++ binutils-2.39-new/configure.ac 2022-10-30 12:41:28.786023757 +0100 -@@ -1314,26 +1314,6 @@ if test -z "$LD"; 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 +@@ -1435,26 +1435,6 @@ if test -z "$LD"; then fi fi @@ -79,5 +79,5 @@ diff -rupN --no-dereference binutils-2.39/configure.ac binutils-2.39-new/configu -fi - ACX_PROG_GNAT + ACX_PROG_GDC ACX_PROG_CMP_IGNORE_INITIAL - diff --git a/SOURCES/binutils-export-demangle.h.patch b/SOURCES/binutils-export-demangle.h.patch index 237f719..a25c97c 100644 --- a/SOURCES/binutils-export-demangle.h.patch +++ b/SOURCES/binutils-export-demangle.h.patch @@ -1,6 +1,6 @@ -diff -rupN --no-dereference binutils-2.39/bfd/Makefile.am binutils-2.39-new/bfd/Makefile.am ---- binutils-2.39/bfd/Makefile.am 2022-10-30 12:41:22.907023730 +0100 -+++ binutils-2.39-new/bfd/Makefile.am 2022-10-30 12:41:22.912023730 +0100 +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@ bfdincludedir = @bfdincludedir@ bfdlib_LTLIBRARIES = libbfd.la @@ -10,10 +10,10 @@ diff -rupN --no-dereference binutils-2.39/bfd/Makefile.am binutils-2.39-new/bfd/ else !INSTALL_LIBBFD # Empty these so that the respective installation directories will not be created. bfdlibdir = -diff -rupN --no-dereference binutils-2.39/bfd/Makefile.in binutils-2.39-new/bfd/Makefile.in ---- binutils-2.39/bfd/Makefile.in 2022-10-30 12:41:22.908023730 +0100 -+++ binutils-2.39-new/bfd/Makefile.in 2022-10-30 12:41:22.912023730 +0100 -@@ -290,7 +290,7 @@ am__can_run_installinfo = \ +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 = \ 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.39/bfd/Makefile.in binutils-2.39-new/bfd/ HEADERS = $(bfdinclude_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive -@@ -511,7 +511,7 @@ libbfd_la_LDFLAGS = $(am__append_1) -rel +@@ -504,7 +504,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 \ diff --git a/SOURCES/binutils-filename-in-error-messages.patch b/SOURCES/binutils-filename-in-error-messages.patch deleted file mode 100644 index c9b406e..0000000 --- a/SOURCES/binutils-filename-in-error-messages.patch +++ /dev/null @@ -1,126 +0,0 @@ -diff -rupN --no-dereference binutils-2.39/binutils/readelf.c binutils-2.39-new/binutils/readelf.c ---- binutils-2.39/binutils/readelf.c 2022-07-08 11:46:47.000000000 +0200 -+++ binutils-2.39-new/binutils/readelf.c 2022-10-30 12:41:25.339023741 +0100 -@@ -22710,46 +22710,53 @@ process_file (char * file_name) - Filedata * filedata = NULL; - struct stat statbuf; - char armag[SARMAG]; -- bool ret = true; -+ bool ret = false; -+ char * name; -+ char * saved_program_name; -+ -+ /* Overload program_name to include file_name. Doing this means -+ that warning/error messages will positively identify the file -+ concerned even when multiple instances of readelf are running. */ -+ name = xmalloc (strlen (program_name) + strlen (file_name) + 3); -+ sprintf (name, "%s: %s", program_name, file_name); -+ saved_program_name = program_name; -+ program_name = name; - - if (stat (file_name, &statbuf) < 0) - { - if (errno == ENOENT) -- error (_("'%s': No such file\n"), file_name); -+ error (_("No such file\n")); - else -- error (_("Could not locate '%s'. System error message: %s\n"), -- file_name, strerror (errno)); -- return false; -+ error (_("Could not locate file. System error message: %s\n"), -+ strerror (errno)); -+ goto done; - } - - if (! S_ISREG (statbuf.st_mode)) - { -- error (_("'%s' is not an ordinary file\n"), file_name); -- return false; -+ error (_("Not an ordinary file\n")); -+ goto done; - } - - filedata = calloc (1, sizeof * filedata); - if (filedata == NULL) - { - error (_("Out of memory allocating file data structure\n")); -- return false; -+ goto done; - } - - filedata->file_name = file_name; - filedata->handle = fopen (file_name, "rb"); - if (filedata->handle == NULL) - { -- error (_("Input file '%s' is not readable.\n"), file_name); -- free (filedata); -- return false; -+ error (_("Not readable\n")); -+ goto done; - } - - if (fread (armag, SARMAG, 1, filedata->handle) != 1) - { -- error (_("%s: Failed to read file's magic number\n"), file_name); -- fclose (filedata->handle); -- free (filedata); -- return false; -+ error (_("Failed to read file's magic number\n")); -+ goto done; - } - - filedata->file_size = (bfd_size_type) statbuf.st_size; -@@ -22757,33 +22764,39 @@ process_file (char * file_name) - - if (memcmp (armag, ARMAG, SARMAG) == 0) - { -- if (! process_archive (filedata, false)) -- ret = false; -+ if (process_archive (filedata, false)) -+ ret = true; - } - else if (memcmp (armag, ARMAGT, SARMAG) == 0) - { -- if ( ! process_archive (filedata, true)) -- ret = false; -+ if (process_archive (filedata, true)) -+ ret = true; - } - else - { - if (do_archive_index && !check_all) -- error (_("File %s is not an archive so its index cannot be displayed.\n"), -- file_name); -+ error (_("Not an archive so its index cannot be displayed.\n")); - - rewind (filedata->handle); - filedata->archive_file_size = filedata->archive_file_offset = 0; - -- if (! process_object (filedata)) -- ret = false; -+ if (process_object (filedata)) -+ ret = true; - } - -- fclose (filedata->handle); -- free (filedata->section_headers); -- free (filedata->program_headers); -- free (filedata->string_table); -- free (filedata->dump.dump_sects); -- free (filedata); -+ done: -+ if (filedata) -+ { -+ if (filedata->handle != NULL) -+ fclose (filedata->handle); -+ free (filedata->section_headers); -+ free (filedata->program_headers); -+ free (filedata->string_table); -+ free (filedata->dump.dump_sects); -+ free (filedata); -+ } -+ free (program_name); -+ program_name = saved_program_name; - - free (ba_cache.strtab); - ba_cache.strtab = NULL; diff --git a/SOURCES/binutils-fix-testsuite-failures.patch b/SOURCES/binutils-fix-testsuite-failures.patch deleted file mode 100644 index 87d4b29..0000000 --- a/SOURCES/binutils-fix-testsuite-failures.patch +++ /dev/null @@ -1,304 +0,0 @@ -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-elfvers/vers24.rd binutils-2.39-new/ld/testsuite/ld-elfvers/vers24.rd ---- binutils-2.39/ld/testsuite/ld-elfvers/vers24.rd 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-elfvers/vers24.rd 2022-10-30 12:41:31.100023768 +0100 -@@ -7,9 +7,9 @@ Symbol table '.dynsym' contains [0-9]+ e - # And ensure the dynamic symbol table contains at least x@VERS.0 - # and foo@@VERS.0 symbols - #... -- +[0-9]+: [0-9a-f]+ +(4 +OBJECT +GLOBAL +DEFAULT +[0-9]+ _?x|[0-9]+ +FUNC +GLOBAL +DEFAULT .* [0-9]+ _?foo@)@VERS\.0 -+ +[0-9]+: [0-9a-f]+ +(4 +OBJECT +GLOBAL +DEFAULT +[0-9]+ _?x|[0-9]+ +FUNC +GLOBAL +DEFAULT .* [0-9]+ _?foo@)@VERS\.0.* - #... -- +[0-9]+: [0-9a-f]+ +(4 +OBJECT +GLOBAL +DEFAULT +[0-9]+ _?x|[0-9]+ +FUNC +GLOBAL +DEFAULT .* [0-9]+ _?foo@)@VERS\.0 -+ +[0-9]+: [0-9a-f]+ +(4 +OBJECT +GLOBAL +DEFAULT +[0-9]+ _?x|[0-9]+ +FUNC +GLOBAL +DEFAULT .* [0-9]+ _?foo@)@VERS\.0.* - #... - Symbol table '.symtab' contains [0-9]+ entries: - #pass -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-10.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-10.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-10.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-10.d 2022-10-30 12:41:31.099023768 +0100 -@@ -32,7 +32,8 @@ hook called: claim_file tmpdir/func.o \[ - hook called: claim_file tmpdir/libtext.a \[@.* not claimed - #... - hook called: all symbols read. --Sym: '_?func' Resolution: LDPR_PREVAILING_DEF -+Sym: '_?func' Resolution: LDPR_PREVAILING_DEF_IRONLY - Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY -+#... - hook called: cleanup. - #... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-11.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-11.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-11.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-11.d 2022-10-30 12:41:31.099023768 +0100 -@@ -35,8 +35,9 @@ hook called: claim_file tmpdir/func.o \[ - hook called: claim_file tmpdir/libtext.a \[@.* CLAIMED - #... - hook called: all symbols read. --Sym: '_?func' Resolution: LDPR_PREVAILING_DEF -+Sym: '_?func' Resolution: LDPR_PREVAILING_DEF_IRONLY - Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY --Sym: '_?text' Resolution: LDPR_PREVAILING_DEF -+Sym: '_?text' Resolution: LDPR_PREVAILING_DEF_IRONLY -+#... - hook called: cleanup. - #... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-13.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-13.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-13.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-13.d 2022-10-30 12:41:31.095023768 +0100 -@@ -23,5 +23,3 @@ hook called: claim_file tmpdir/main.o \[ - hook called: claim_file .*/ld/testsuite/ld-plugin/func.c \[@0/.* CLAIMED - hook called: claim_file tmpdir/text.o \[@0/.* not claimed - #... --.*main.c.*: undefined reference to `\.?func' --#... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-14.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-14.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-14.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-14.d 2022-10-30 12:41:31.095023768 +0100 -@@ -27,7 +27,6 @@ hook called: claim_file .*/ld/testsuite/ - hook called: claim_file tmpdir/text.o \[@0/.* not claimed - #... - hook called: all symbols read. --.*: tmpdir/main.o: in function `main': --.*main.c.*: undefined reference to `\.?func' -+#... - hook called: cleanup. - #... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-15.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-15.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-15.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-15.d 2022-10-30 12:41:31.095023768 +0100 -@@ -28,7 +28,6 @@ hook called: claim_file .*/ld/testsuite/ - hook called: claim_file tmpdir/text.o \[@0/.* not claimed - #... - hook called: all symbols read. --.*: tmpdir/main.o: in function `main': --.*main.c.*: undefined reference to `\.?func' -+#... - hook called: cleanup. - #... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-16.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-16.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-16.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-16.d 2022-10-30 12:41:31.096023768 +0100 -@@ -30,9 +30,8 @@ hook called: claim_file .*/ld/testsuite/ - hook called: claim_file tmpdir/text.o \[@0/.* not claimed - #... - hook called: all symbols read. --Sym: '_?func' Resolution: LDPR_PREVAILING_DEF -+Sym: '_?func' Resolution: LDPR_PREVAILING_DEF_IRONLY - Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY --.*: tmpdir/main.o: in function `main': --.*main.c.*: undefined reference to `\.?func' -+#... - hook called: cleanup. - #... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-17.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-17.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-17.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-17.d 2022-10-30 12:41:31.096023768 +0100 -@@ -31,7 +31,8 @@ hook called: claim_file .*/ld/testsuite/ - hook called: claim_file tmpdir/text.o \[@0/.* not claimed - #... - hook called: all symbols read. --Sym: '_?func' Resolution: LDPR_PREVAILING_DEF -+Sym: '_?func' Resolution: LDPR_PREVAILING_DEF_IRONLY - Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY -+#... - hook called: cleanup. - #... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-18.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-18.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-18.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-18.d 2022-10-30 12:41:31.100023768 +0100 -@@ -32,7 +32,8 @@ hook called: claim_file .*/ld/testsuite/ - hook called: claim_file tmpdir/libtext.a \[@.* not claimed - #... - hook called: all symbols read. --Sym: '_?func' Resolution: LDPR_PREVAILING_DEF -+Sym: '_?func' Resolution: LDPR_PREVAILING_DEF_IRONLY - Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY -+#... - hook called: cleanup. - #... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-19.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-19.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-19.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-19.d 2022-10-30 12:41:31.100023768 +0100 -@@ -35,8 +35,9 @@ hook called: claim_file .*/ld/testsuite/ - hook called: claim_file tmpdir/libtext.a \[@.* CLAIMED - #... - hook called: all symbols read. --Sym: '_?func' Resolution: LDPR_PREVAILING_DEF -+Sym: '_?func' Resolution: LDPR_PREVAILING_DEF_IRONLY - Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY --Sym: '_?text' Resolution: LDPR_PREVAILING_DEF -+Sym: '_?text' Resolution: LDPR_PREVAILING_DEF_IRONLY -+#... - hook called: cleanup. - #... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-20.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-20.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-20.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-20.d 2022-10-30 12:41:31.096023768 +0100 -@@ -2,6 +2,5 @@ hook called: all symbols read. - Input: func.c \(tmpdir/libfunc.a\) - Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.* - Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.* --.*: tmpdir/main.o: in function `main': --.*main.c.*: undefined reference to `\.?func' -+#... - hook called: cleanup. -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-21.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-21.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-21.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-21.d 2022-10-30 12:41:31.096023768 +0100 -@@ -2,6 +2,5 @@ hook called: all symbols read. - Input: .*/ld/testsuite/ld-plugin/func.c \(.*/ld/testsuite/ld-plugin/func.c\) - Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.* - Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.* --.*: tmpdir/main.o: in function `main': --.*main.c.*: undefined reference to `\.?func' -+#... - hook called: cleanup. -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-22.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-22.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-22.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-22.d 2022-10-30 12:41:31.097023768 +0100 -@@ -2,6 +2,5 @@ Claimed: tmpdir/libfunc.a \[@.* - hook called: all symbols read. - Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.* - Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.* --.*: tmpdir/main.o: in function `main': --.*main.c.*: undefined reference to `\.?func' -+#... - hook called: cleanup. -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-23.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-23.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-23.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-23.d 2022-10-30 12:41:31.097023768 +0100 -@@ -2,6 +2,5 @@ Claimed: .*/ld/testsuite/ld-plugin/func. - hook called: all symbols read. - Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.* - Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.* --.*: tmpdir/main.o: in function `main': --.*main.c.*: undefined reference to `\.?func' -+#... - hook called: cleanup. -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-24.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-24.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-24.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-24.d 2022-10-30 12:41:31.097023768 +0100 -@@ -2,4 +2,5 @@ hook called: all symbols read. - Input: .*/ld/testsuite/ld-plugin/func.c \(.*/ld/testsuite/ld-plugin/func.c\) - Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.* - Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.* -+#... - hook called: cleanup. -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-25.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-25.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-25.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-25.d 2022-10-30 12:41:31.097023768 +0100 -@@ -2,4 +2,5 @@ Claimed: .*/ld/testsuite/ld-plugin/func. - hook called: all symbols read. - Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.* - Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.* -+#... - hook called: cleanup. -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-28.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-28.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-28.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-28.d 2022-10-30 12:41:31.100023768 +0100 -@@ -1 +1,2 @@ - .*: error: Error -+#... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-29.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-29.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-29.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-29.d 2022-10-30 12:41:31.098023768 +0100 -@@ -1 +1,2 @@ - .*: warning: Warning -+#... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-30.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-30.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-30.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-30.d 2022-10-30 12:41:31.098023768 +0100 -@@ -24,3 +24,4 @@ hook called: claim_file tmpdir/main.o \[ - hook called: claim_file tmpdir/func.o \[@0/.* not claimed - hook called: claim_file tmpdir/text.o \[@0/.* not claimed - hook called: claim_file tmpdir/libempty.a \[@.* not claimed -+#pass -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-6.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-6.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-6.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-6.d 2022-10-30 12:41:31.098023768 +0100 -@@ -27,7 +27,6 @@ hook called: claim_file tmpdir/func.o \[ - hook called: claim_file tmpdir/text.o \[@0/.* not claimed - #... - hook called: all symbols read. --.*: tmpdir/main.o: in function `main': --.*main.c.*: undefined reference to `\.?func' -+#... - hook called: cleanup. - #... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-7.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-7.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-7.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-7.d 2022-10-30 12:41:31.098023768 +0100 -@@ -28,7 +28,6 @@ hook called: claim_file tmpdir/func.o \[ - hook called: claim_file tmpdir/text.o \[@0/.* not claimed - #... - hook called: all symbols read. --.*: tmpdir/main.o: in function `main': --.*main.c.*: undefined reference to `\.?func' -+#... - hook called: cleanup. - #... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-8.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-8.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-8.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-8.d 2022-10-30 12:41:31.100023768 +0100 -@@ -30,9 +30,8 @@ hook called: claim_file tmpdir/func.o \[ - hook called: claim_file tmpdir/text.o \[@0/.* not claimed - #... - hook called: all symbols read. --Sym: '_?func' Resolution: LDPR_PREVAILING_DEF -+Sym: '_?func' Resolution: LDPR_PREVAILING_DEF_IRONLY - Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY --.*: tmpdir/main.o: in function `main': --.*main.c.*: undefined reference to `\.?func' -+#... - hook called: cleanup. - #... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-9.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-9.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-9.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-9.d 2022-10-30 12:41:31.099023768 +0100 -@@ -31,7 +31,8 @@ hook called: claim_file tmpdir/func.o \[ - hook called: claim_file tmpdir/text.o \[@0/.* not claimed - #... - hook called: all symbols read. --Sym: '_?func' Resolution: LDPR_PREVAILING_DEF -+Sym: '_?func' Resolution: LDPR_PREVAILING_DEF_IRONLY - Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY -+#... - hook called: cleanup. - #... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin.exp binutils-2.39-new/ld/testsuite/ld-plugin/plugin.exp ---- binutils-2.39/ld/testsuite/ld-plugin/plugin.exp 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin.exp 2022-10-30 12:41:31.101023768 +0100 -@@ -117,6 +117,12 @@ if { $can_compile && !$failed_compile } - } - } - -+# I do not know why, but the underscore prefix test is going -+# wrong on ppc64le targets. So override it here. -+if { [istarget powerpc*-*-linux*] || [istarget x86_64*-*-linux*] } { -+ set _ "" -+} -+ - set testobjfiles "tmpdir/main.o tmpdir/func.o tmpdir/text.o" - set testobjfiles_notext "tmpdir/main.o tmpdir/func.o" - set testsrcfiles "tmpdir/main.o $srcdir/$subdir/func.c tmpdir/text.o" -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/pr20070.d binutils-2.39-new/ld/testsuite/ld-plugin/pr20070.d ---- binutils-2.39/ld/testsuite/ld-plugin/pr20070.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/pr20070.d 2022-10-30 12:41:31.099023768 +0100 -@@ -5,5 +5,6 @@ Sym: 'weakdef' Resolution: LDPR_PREVAILI - Sym: 'undef' Resolution: LDPR_UNDEF - Sym: 'weakundef' Resolution: LDPR_UNDEF - Sym: 'common' Resolution: LDPR_PREVAILING_DEF_IRONLY -+#... - hook called: cleanup. - #... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-srec/srec.exp binutils-2.39-new/ld/testsuite/ld-srec/srec.exp ---- binutils-2.39/ld/testsuite/ld-srec/srec.exp 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-srec/srec.exp 2022-10-30 12:41:31.099023768 +0100 -@@ -21,6 +21,8 @@ - - # Get the offset from an S-record line to the start of the data. - -+return -+ - proc srec_off { l } { - if [string match "S1*" $l] { - return 8 diff --git a/SOURCES/binutils-gas-dwarf-skip-empty-functions.patch b/SOURCES/binutils-gas-dwarf-skip-empty-functions.patch deleted file mode 100644 index 5f0371c..0000000 --- a/SOURCES/binutils-gas-dwarf-skip-empty-functions.patch +++ /dev/null @@ -1,67 +0,0 @@ -diff -rupN --no-dereference binutils-2.39/gas/dwarf2dbg.c binutils-2.39-new/gas/dwarf2dbg.c ---- binutils-2.39/gas/dwarf2dbg.c 2022-07-08 11:46:47.000000000 +0200 -+++ binutils-2.39-new/gas/dwarf2dbg.c 2022-10-30 12:41:40.297023812 +0100 -@@ -2882,6 +2882,7 @@ out_debug_info (segT info_seg, segT abbr - { - const char *name; - size_t len; -+ expressionS size = { .X_op = O_constant }; - - /* Skip warning constructs (see above). */ - if (symbol_get_bfdsym (symp)->flags & BSF_WARNING) -@@ -2895,6 +2896,18 @@ out_debug_info (segT info_seg, segT abbr - if (!S_IS_DEFINED (symp) || !S_IS_FUNCTION (symp)) - continue; - -+#if defined (OBJ_ELF) /* || defined (OBJ_MAYBE_ELF) */ -+ size.X_add_number = S_GET_SIZE (symp); -+ if (size.X_add_number == 0 && IS_ELF -+ && symbol_get_obj (symp)->size != NULL) -+ { -+ size.X_op = O_add; -+ size.X_op_symbol = make_expr_symbol (symbol_get_obj (symp)->size); -+ } -+#endif -+ if (size.X_op == O_constant && size.X_add_number == 0) -+ continue; -+ - subseg_set (str_seg, 0); - name_sym = symbol_temp_new_now_octets (); - name = S_GET_NAME (symp); -@@ -2920,29 +2933,17 @@ out_debug_info (segT info_seg, segT abbr - emit_expr (&exp, sizeof_address); - - /* DW_AT_high_pc */ -- exp.X_op = O_constant; --#if defined (OBJ_ELF) /* || defined (OBJ_MAYBE_ELF) */ -- exp.X_add_number = S_GET_SIZE (symp); -- if (exp.X_add_number == 0 && IS_ELF -- && symbol_get_obj (symp)->size != NULL) -- { -- exp.X_op = O_add; -- exp.X_op_symbol = make_expr_symbol (symbol_get_obj (symp)->size); -- } --#else -- exp.X_add_number = 0; --#endif - if (DWARF2_VERSION < 4) - { -- if (exp.X_op == O_constant) -- exp.X_op = O_symbol; -- exp.X_add_symbol = symp; -- emit_expr (&exp, sizeof_address); -+ if (size.X_op == O_constant) -+ size.X_op = O_symbol; -+ size.X_add_symbol = symp; -+ emit_expr (&size, sizeof_address); - } -- else if (exp.X_op == O_constant) -- out_uleb128 (exp.X_add_number); -+ else if (size.X_op == O_constant) -+ out_uleb128 (size.X_add_number); - else -- emit_leb128_expr (symbol_get_value_expression (exp.X_op_symbol), 0); -+ emit_leb128_expr (symbol_get_value_expression (size.X_op_symbol), 0); - } - - /* End of children. */ diff --git a/SOURCES/binutils-gold-empty-dwp.patch b/SOURCES/binutils-gold-empty-dwp.patch new file mode 100644 index 0000000..dfc1d7a --- /dev/null +++ b/SOURCES/binutils-gold-empty-dwp.patch @@ -0,0 +1,12 @@ +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 +@@ -2418,6 +2418,8 @@ main(int argc, char** argv) + { + Dwo_file exe_file(exe_filename); + exe_file.read_executable(&files); ++ if (files.empty()) ++ gold_fatal(_("Could not find any dwo links in specified EXE")); + } + + // Add any additional files listed on command line. diff --git a/SOURCES/binutils-gold-i386-gnu-property-notes.patch b/SOURCES/binutils-gold-i386-gnu-property-notes.patch index a1c729b..28bf2c7 100644 --- a/SOURCES/binutils-gold-i386-gnu-property-notes.patch +++ b/SOURCES/binutils-gold-i386-gnu-property-notes.patch @@ -1,6 +1,6 @@ -diff -rupN --no-dereference binutils-2.39/gold/i386.cc binutils-2.39-new/gold/i386.cc ---- binutils-2.39/gold/i386.cc 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/gold/i386.cc 2022-10-30 12:41:35.714023790 +0100 +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< got_(NULL), plt_(NULL), got_plt_(NULL), got_irelative_(NULL), got_tlsdesc_(NULL), global_offset_table_(NULL), rel_dyn_(NULL), diff --git a/SOURCES/binutils-gold-mismatched-section-flags.patch b/SOURCES/binutils-gold-mismatched-section-flags.patch index 855b3ee..e1c9bb4 100644 --- a/SOURCES/binutils-gold-mismatched-section-flags.patch +++ b/SOURCES/binutils-gold-mismatched-section-flags.patch @@ -1,7 +1,7 @@ -diff -rupN --no-dereference binutils-2.39/gold/layout.cc binutils-2.39-new/gold/layout.cc ---- binutils-2.39/gold/layout.cc 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/gold/layout.cc 2022-10-30 12:41:32.255023774 +0100 -@@ -869,6 +869,7 @@ Layout::get_output_section(const char* n +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 && (same_name->flags() & elfcpp::SHF_TLS) == 0) os = same_name; } @@ -9,7 +9,7 @@ diff -rupN --no-dereference binutils-2.39/gold/layout.cc binutils-2.39-new/gold/ else if ((flags & elfcpp::SHF_TLS) == 0) { elfcpp::Elf_Xword zero_flags = 0; -@@ -879,6 +880,7 @@ Layout::get_output_section(const char* n +@@ -882,6 +883,7 @@ Layout::get_output_section(const char* n if (p != this->section_name_map_.end()) os = p->second; } diff --git a/SOURCES/binutils-gold-powerpc.patch b/SOURCES/binutils-gold-powerpc.patch new file mode 100644 index 0000000..8b83cbe --- /dev/null +++ b/SOURCES/binutils-gold-powerpc.patch @@ -0,0 +1,71 @@ +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::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::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; diff --git a/SOURCES/binutils-gold-warn-unsupported.patch b/SOURCES/binutils-gold-warn-unsupported.patch index bb3399d..20a1f98 100644 --- a/SOURCES/binutils-gold-warn-unsupported.patch +++ b/SOURCES/binutils-gold-warn-unsupported.patch @@ -1,7 +1,7 @@ -diff -rupN --no-dereference binutils-2.39/bfd/config.bfd binutils-2.39-new/bfd/config.bfd ---- binutils-2.39/bfd/config.bfd 2022-07-08 11:46:47.000000000 +0200 -+++ binutils-2.39-new/bfd/config.bfd 2022-10-30 12:41:33.412023779 +0100 -@@ -490,7 +490,7 @@ case "${targ}" in +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 @@ -10,7 +10,7 @@ diff -rupN --no-dereference binutils-2.39/bfd/config.bfd binutils-2.39-new/bfd/c targ_defvec=bpf_elf64_le_vec targ_selvecs=bpf_elf64_be_vec targ_underscore=yes -@@ -1478,7 +1478,7 @@ case "${targ}" in +@@ -1497,7 +1497,7 @@ case "${targ}" in ;; *) @@ -19,10 +19,10 @@ diff -rupN --no-dereference binutils-2.39/bfd/config.bfd binutils-2.39-new/bfd/c echo 1>&2 "*** Look in bfd/config.bfd for supported targets." exit 1 ;; -diff -rupN --no-dereference binutils-2.39/gold/configure binutils-2.39-new/gold/configure ---- binutils-2.39/gold/configure 2022-07-08 11:58:08.000000000 +0200 -+++ binutils-2.39-new/gold/configure 2022-10-30 12:41:33.410023779 +0100 -@@ -5223,7 +5223,8 @@ for targ in $target $canon_targets; do +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 . ${srcdir}/configure.tgt if test "$targ_obj" = "UNKNOWN"; then @@ -32,9 +32,9 @@ diff -rupN --no-dereference binutils-2.39/gold/configure binutils-2.39-new/gold/ else targetobjs="$targetobjs ${targ_obj}.\$(OBJEXT)" if test "$targ_extra_obj" != ""; then -diff -rupN --no-dereference binutils-2.39/gold/configure.ac binutils-2.39-new/gold/configure.ac ---- binutils-2.39/gold/configure.ac 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/gold/configure.ac 2022-10-30 12:41:33.411023779 +0100 +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 . ${srcdir}/configure.tgt @@ -44,10 +44,10 @@ diff -rupN --no-dereference binutils-2.39/gold/configure.ac binutils-2.39-new/go else targetobjs="$targetobjs ${targ_obj}.\$(OBJEXT)" if test "$targ_extra_obj" != ""; then -diff -rupN --no-dereference binutils-2.39/ld/configure.tgt binutils-2.39-new/ld/configure.tgt ---- binutils-2.39/ld/configure.tgt 2022-07-29 09:37:48.000000000 +0200 -+++ binutils-2.39-new/ld/configure.tgt 2022-10-30 12:41:33.411023779 +0100 -@@ -258,7 +258,7 @@ bfin-*-linux-uclibc*) targ_emul=elf32bfi +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 targ_extra_emuls="elf32bfin" targ_extra_libpath=$targ_extra_emuls ;; @@ -56,7 +56,7 @@ diff -rupN --no-dereference binutils-2.39/ld/configure.tgt binutils-2.39-new/ld/ ;; cr16-*-elf*) targ_emul=elf32cr16 ;; -@@ -1078,7 +1078,7 @@ loongarch64-*) targ_emul=elf64loongarch +@@ -1087,7 +1087,7 @@ loongarch64-*) targ_emul=elf64loongarch targ_extra_ofiles= ;; *) diff --git a/SOURCES/binutils-handle-corrupt-version-info.patch b/SOURCES/binutils-handle-corrupt-version-info.patch new file mode 100644 index 0000000..1287065 --- /dev/null +++ b/SOURCES/binutils-handle-corrupt-version-info.patch @@ -0,0 +1,30 @@ +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 diff --git a/SOURCES/binutils-libtool-no-rpath.patch b/SOURCES/binutils-libtool-no-rpath.patch index 398736f..e4a6f6c 100644 --- a/SOURCES/binutils-libtool-no-rpath.patch +++ b/SOURCES/binutils-libtool-no-rpath.patch @@ -1,6 +1,6 @@ -diff -rupN --no-dereference binutils-2.39/ltmain.sh binutils-2.39-new/ltmain.sh ---- binutils-2.39/ltmain.sh 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ltmain.sh 2022-10-30 12:41:38.049023801 +0100 +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 @@ -7103,6 +7103,7 @@ EOF rpath="$finalize_rpath" test "$mode" != relink && rpath="$compile_rpath$rpath" diff --git a/SOURCES/binutils-no-config-h-check.patch b/SOURCES/binutils-no-config-h-check.patch index 0f84b9e..ceed2c1 100644 --- a/SOURCES/binutils-no-config-h-check.patch +++ b/SOURCES/binutils-no-config-h-check.patch @@ -1,7 +1,7 @@ -diff -rupN --no-dereference binutils-2.39/bfd/bfd-in2.h binutils-2.39-new/bfd/bfd-in2.h ---- binutils-2.39/bfd/bfd-in2.h 2022-08-01 09:12:32.000000000 +0200 -+++ binutils-2.39-new/bfd/bfd-in2.h 2022-10-30 12:41:24.134023735 +0100 -@@ -30,11 +30,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 @@ #ifndef __BFD_H_SEEN__ #define __BFD_H_SEEN__ @@ -13,9 +13,9 @@ diff -rupN --no-dereference binutils-2.39/bfd/bfd-in2.h binutils-2.39-new/bfd/bf #ifdef __cplusplus extern "C" { #endif -diff -rupN --no-dereference binutils-2.39/bfd/bfd-in.h binutils-2.39-new/bfd/bfd-in.h ---- binutils-2.39/bfd/bfd-in.h 2022-08-01 09:12:32.000000000 +0200 -+++ binutils-2.39-new/bfd/bfd-in.h 2022-10-30 12:41:24.133023735 +0100 +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 @@ #ifndef __BFD_H_SEEN__ #define __BFD_H_SEEN__ diff --git a/SOURCES/binutils-package-metadata.patch b/SOURCES/binutils-package-metadata.patch deleted file mode 100644 index a224888..0000000 --- a/SOURCES/binutils-package-metadata.patch +++ /dev/null @@ -1,197 +0,0 @@ -diff -rupN --no-dereference binutils-2.39/elfcpp/elfcpp.h binutils-2.39-new/elfcpp/elfcpp.h ---- binutils-2.39/elfcpp/elfcpp.h 2022-07-08 11:46:47.000000000 +0200 -+++ binutils-2.39-new/elfcpp/elfcpp.h 2022-10-30 12:41:39.175023806 +0100 -@@ -999,7 +999,9 @@ enum - // string. - NT_GNU_GOLD_VERSION = 4, - // Program property note, as described in "Linux Extensions to the gABI". -- NT_GNU_PROPERTY_TYPE_0 = 5 -+ NT_GNU_PROPERTY_TYPE_0 = 5, -+ // FDO .note.package notes as defined on https://systemd.io/ELF_PACKAGE_METADATA/ -+ FDO_PACKAGING_METADATA = 0xcafe1a7e - }; - - // The OS values which may appear in word 0 of a NT_GNU_ABI_TAG note. -diff -rupN --no-dereference binutils-2.39/gold/configure.ac binutils-2.39-new/gold/configure.ac ---- binutils-2.39/gold/configure.ac 2022-10-30 12:41:34.538023785 +0100 -+++ binutils-2.39-new/gold/configure.ac 2022-10-30 12:41:39.173023806 +0100 -@@ -591,6 +591,32 @@ if test "$threads" = "yes"; then - fi - AM_CONDITIONAL(THREADS, test "$threads" = "yes") - -+# Used to validate --package-metadata= input. Disabled by default. -+AC_ARG_ENABLE([jansson], -+ [AS_HELP_STRING([--enable-jansson], -+ [enable jansson [default=no]])], -+ [enable_jansson=$enableval], -+ [enable_jansson="no"]) -+ -+if test "x$enable_jansson" != "xno"; then -+ PKG_PROG_PKG_CONFIG -+ AS_IF([test -n "$PKG_CONFIG"], -+ [ -+ PKG_CHECK_MODULES(JANSSON, [jansson], -+ [ -+ AC_DEFINE(HAVE_JANSSON, 1, [The jansson library is to be used]) -+ AC_SUBST([JANSSON_CFLAGS]) -+ AC_SUBST([JANSSON_LIBS]) -+ ], -+ [ -+ AC_MSG_ERROR([Cannot find jansson library]) -+ ]) -+ ], -+ [ -+ AC_MSG_ERROR([Cannot find pkg-config]) -+ ]) -+fi -+ - dnl We have to check these in C, not C++, because autoconf generates - dnl tests which have no type information, and current glibc provides - dnl multiple declarations of functions like basename when compiling -diff -rupN --no-dereference binutils-2.39/gold/layout.cc binutils-2.39-new/gold/layout.cc ---- binutils-2.39/gold/layout.cc 2022-10-30 12:41:33.405023779 +0100 -+++ binutils-2.39-new/gold/layout.cc 2022-10-30 12:41:39.174023806 +0100 -@@ -38,6 +38,9 @@ - #include - #include - #endif -+#ifdef HAVE_JANSSON -+#include -+#endif - - #include "parameters.h" - #include "options.h" -@@ -2439,6 +2442,7 @@ Layout::create_notes() - this->create_gold_note(); - this->create_stack_segment(); - this->create_build_id(); -+ this->create_package_metadata(); - } - - // Create the dynamic sections which are needed before we read the -@@ -3536,6 +3540,52 @@ Layout::create_build_id() - } - } - -+// If --package-metadata was used, set up the package metadata note. -+// https://systemd.io/ELF_PACKAGE_METADATA/ -+ -+void -+Layout::create_package_metadata() -+{ -+ if (!parameters->options().user_set_package_metadata()) -+ return; -+ -+ const char* desc = parameters->options().package_metadata(); -+ if (strcmp(desc, "") == 0) -+ return; -+ -+#ifdef HAVE_JANSSON -+ json_error_t json_error; -+ json_t *json = json_loads(desc, 0, &json_error); -+ if (json) -+ json_decref(json); -+ else -+ { -+ gold_fatal(_("error: --package-metadata=%s does not contain valid " -+ "JSON: %s\n"), -+ desc, json_error.text); -+ } -+#endif -+ -+ // Create the note. -+ size_t trailing_padding; -+ // Ensure the trailing NULL byte is always included, as per specification. -+ size_t descsz = strlen(desc) + 1; -+ Output_section* os = this->create_note("FDO", elfcpp::FDO_PACKAGING_METADATA, -+ ".note.package", descsz, true, -+ &trailing_padding); -+ if (os == NULL) -+ return; -+ -+ Output_section_data* posd = new Output_data_const(desc, descsz, 4); -+ os->add_output_section_data(posd); -+ -+ if (trailing_padding != 0) -+ { -+ posd = new Output_data_zero_fill(trailing_padding, 0); -+ os->add_output_section_data(posd); -+ } -+} -+ - // If we have both .stabXX and .stabXXstr sections, then the sh_link - // field of the former should point to the latter. I'm not sure who - // started this, but the GNU linker does it, and some tools depend -diff -rupN --no-dereference binutils-2.39/gold/layout.h binutils-2.39-new/gold/layout.h ---- binutils-2.39/gold/layout.h 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/gold/layout.h 2022-10-30 12:41:39.174023806 +0100 -@@ -1107,6 +1107,10 @@ class Layout - void - create_build_id(); - -+ // Create a package metadata note if needed. -+ void -+ create_package_metadata(); -+ - // Link .stab and .stabstr sections. - void - link_stabs_sections(); -@@ -1453,6 +1457,8 @@ class Layout - Gdb_index* gdb_index_data_; - // The space for the build ID checksum if there is one. - Output_section_data* build_id_note_; -+ // The space for the package metadata JSON if there is one. -+ Output_section_data* package_metadata_note_; - // The output section containing dwarf abbreviations - Output_reduced_debug_abbrev_section* debug_abbrev_; - // The output section containing the dwarf debug info tree -diff -rupN --no-dereference binutils-2.39/gold/Makefile.am binutils-2.39-new/gold/Makefile.am ---- binutils-2.39/gold/Makefile.am 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/gold/Makefile.am 2022-10-30 12:41:39.173023806 +0100 -@@ -35,7 +35,7 @@ THREADFLAGS = @PTHREAD_CFLAGS@ - THREADLIBS = @PTHREAD_LIBS@ - - AM_CFLAGS = $(WARN_CFLAGS) $(LFS_CFLAGS) $(RANDOM_SEED_CFLAGS) $(ZLIBINC) $(THREADFLAGS) --AM_CXXFLAGS = $(WARN_CXXFLAGS) $(LFS_CFLAGS) $(RANDOM_SEED_CFLAGS) $(ZLIBINC) $(THREADFLAGS) -+AM_CXXFLAGS = $(WARN_CXXFLAGS) $(LFS_CFLAGS) $(RANDOM_SEED_CFLAGS) $(ZLIBINC) $(THREADFLAGS) $(JANSSON_CFLAGS) - AM_LDFLAGS = $(THREADFLAGS) - - AM_CPPFLAGS = \ -@@ -187,7 +187,7 @@ libgold_a_LIBADD = $(LIBOBJS) - sources_var = main.cc - deps_var = $(TARGETOBJS) libgold.a $(LIBIBERTY) $(LIBINTL_DEP) - ldadd_var = $(TARGETOBJS) libgold.a $(LIBIBERTY) $(GOLD_LDADD) $(LIBINTL) \ -- $(THREADLIBS) $(LIBDL) $(ZLIB) -+ $(THREADLIBS) $(LIBDL) $(ZLIB) $(JANSSON_LIBS) - ldflags_var = $(GOLD_LDFLAGS) - - ld_new_SOURCES = $(sources_var) -@@ -201,12 +201,12 @@ incremental_dump_SOURCES = incremental-d - incremental_dump_DEPENDENCIES = $(TARGETOBJS) libgold.a $(LIBIBERTY) \ - $(LIBINTL_DEP) - incremental_dump_LDADD = $(TARGETOBJS) libgold.a $(LIBIBERTY) $(LIBINTL) \ -- $(THREADLIBS) $(LIBDL) $(ZLIB) -+ $(THREADLIBS) $(LIBDL) $(ZLIB) $(JANSSON_LIBS) - - dwp_SOURCES = dwp.cc - dwp_DEPENDENCIES = libgold.a $(LIBIBERTY) $(LIBINTL_DEP) - dwp_LDADD = libgold.a $(LIBIBERTY) $(GOLD_LDADD) $(LIBINTL) $(THREADLIBS) \ -- $(LIBDL) $(ZLIB) -+ $(LIBDL) $(ZLIB) $(JANSSON_LIBS) - dwp_LDFLAGS = $(GOLD_LDFLAGS) - - CONFIG_STATUS_DEPENDENCIES = $(srcdir)/../bfd/development.sh -diff -rupN --no-dereference binutils-2.39/gold/options.h binutils-2.39-new/gold/options.h ---- binutils-2.39/gold/options.h 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/gold/options.h 2022-10-30 12:41:39.175023806 +0100 -@@ -1102,6 +1102,10 @@ class General_options - DEFINE_bool(p, options::ONE_DASH, 'p', false, - N_("Ignored for ARM compatibility"), NULL); - -+ DEFINE_optional_string(package_metadata, options::TWO_DASHES, '\0', NULL, -+ N_("Generate package metadata note"), -+ N_("[=JSON]")); -+ - DEFINE_bool(pie, options::ONE_DASH, '\0', false, - N_("Create a position independent executable"), - N_("Do not create a position independent executable")); diff --git a/SOURCES/binutils-readelf-other-sym-info.patch b/SOURCES/binutils-readelf-other-sym-info.patch deleted file mode 100644 index ddfd850..0000000 --- a/SOURCES/binutils-readelf-other-sym-info.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -rupN --no-dereference binutils-2.39/binutils/readelf.c binutils-2.39-new/binutils/readelf.c ---- binutils-2.39/binutils/readelf.c 2022-10-30 12:41:26.462023746 +0100 -+++ binutils-2.39-new/binutils/readelf.c 2022-10-30 12:41:27.687023752 +0100 -@@ -13177,11 +13177,13 @@ print_dynamic_symbol (Filedata *filedata - unsigned int vis = ELF_ST_VISIBILITY (psym->st_other); - - printf (" %-7s", get_symbol_visibility (vis)); -+#if 0 - /* Check to see if any other bits in the st_other field are set. - Note - displaying this information disrupts the layout of the - table being generated, but for the moment this case is very rare. */ - if (psym->st_other ^ vis) - printf (" [%s] ", get_symbol_other (filedata, psym->st_other ^ vis)); -+#endif - } - printf (" %4s ", get_symbol_index_type (filedata, psym->st_shndx)); - -@@ -13235,7 +13237,17 @@ print_dynamic_symbol (Filedata *filedata - version_string); - } - -- putchar ('\n'); -+#if 1 -+ { -+ unsigned int vis = ELF_ST_VISIBILITY (psym->st_other); -+ -+ /* Check to see if any other bits in the st_other field are set. */ -+ if (psym->st_other ^ vis) -+ printf (" \t[%s]", get_symbol_other (filedata, psym->st_other ^ vis)); -+ } -+#endif -+ -+ putchar ('\n'); - - if (ELF_ST_BIND (psym->st_info) == STB_LOCAL - && section != NULL diff --git a/SOURCES/binutils-revert-PLT-elision.patch b/SOURCES/binutils-revert-PLT-elision.patch index c43fc21..802135b 100644 --- a/SOURCES/binutils-revert-PLT-elision.patch +++ b/SOURCES/binutils-revert-PLT-elision.patch @@ -1,6 +1,6 @@ -diff -rupN --no-dereference binutils-2.39/bfd/elfxx-x86.c binutils-2.39-new/bfd/elfxx-x86.c ---- binutils-2.39/bfd/elfxx-x86.c 2022-07-26 09:13:10.000000000 +0200 -+++ binutils-2.39-new/bfd/elfxx-x86.c 2022-10-30 12:41:26.471023746 +0100 +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; @@ -19,9 +19,9 @@ diff -rupN --no-dereference binutils-2.39/bfd/elfxx-x86.c binutils-2.39-new/bfd/ /* 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.39/ld/testsuite/ld-i386/pltgot-1.d binutils-2.39-new/ld/testsuite/ld-i386/pltgot-1.d ---- binutils-2.39/ld/testsuite/ld-i386/pltgot-1.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-i386/pltgot-1.d 2022-10-30 12:41:26.467023746 +0100 +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 @@ -2,6 +2,7 @@ #readelf: -S --wide #as: --32 @@ -30,9 +30,9 @@ diff -rupN --no-dereference binutils-2.39/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.39/ld/testsuite/ld-i386/pltgot-2.d binutils-2.39-new/ld/testsuite/ld-i386/pltgot-2.d ---- binutils-2.39/ld/testsuite/ld-i386/pltgot-2.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-i386/pltgot-2.d 2022-10-30 12:41:26.467023746 +0100 +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 @@ -3,7 +3,6 @@ #readelf: -d --wide #as: --32 @@ -41,9 +41,9 @@ diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-i386/pltgot-2.d binuti #... +0x[0-9a-f]+ +\(PLTREL.* #... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-i386/pr19636-2d.d binutils-2.39-new/ld/testsuite/ld-i386/pr19636-2d.d ---- binutils-2.39/ld/testsuite/ld-i386/pr19636-2d.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-i386/pr19636-2d.d 2022-10-30 12:41:26.467023746 +0100 +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 [0-9a-f]+ +[0-9a-f]+ +R_386_32 +0+ +func [0-9a-f]+ +[0-9a-f]+ +R_386_PC32 +0+ +func @@ -53,9 +53,9 @@ diff -rupN --no-dereference binutils-2.39/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.39/ld/testsuite/ld-i386/pr19636-2e.d binutils-2.39-new/ld/testsuite/ld-i386/pr19636-2e.d ---- binutils-2.39/ld/testsuite/ld-i386/pr19636-2e.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-i386/pr19636-2e.d 2022-10-30 12:41:26.468023746 +0100 +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 [0-9a-f]+ +[0-9a-f]+ +R_386_32 +0+ +func [0-9a-f]+ +[0-9a-f]+ +R_386_PC32 +0+ +func @@ -65,9 +65,9 @@ diff -rupN --no-dereference binutils-2.39/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.39/ld/testsuite/ld-i386/pr20830.d binutils-2.39-new/ld/testsuite/ld-i386/pr20830.d ---- binutils-2.39/ld/testsuite/ld-i386/pr20830.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-i386/pr20830.d 2022-10-30 12:41:26.472023746 +0100 +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 @@ -77,9 +77,9 @@ diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-i386/pr20830.d binutil 0+18 00000010 0000001c FDE cie=00000000 pc=00000128..00000133 DW_CFA_nop DW_CFA_nop -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-x86-64/pltgot-1.d binutils-2.39-new/ld/testsuite/ld-x86-64/pltgot-1.d ---- binutils-2.39/ld/testsuite/ld-x86-64/pltgot-1.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-x86-64/pltgot-1.d 2022-10-30 12:41:26.468023746 +0100 +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 @@ -2,8 +2,4 @@ #readelf: -S --wide #as: --64 @@ -89,9 +89,9 @@ diff -rupN --no-dereference binutils-2.39/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.39/ld/testsuite/ld-x86-64/pltgot-2.d binutils-2.39-new/ld/testsuite/ld-x86-64/pltgot-2.d ---- binutils-2.39/ld/testsuite/ld-x86-64/pltgot-2.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-x86-64/pltgot-2.d 2022-10-30 12:41:26.469023746 +0100 +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 @@ -3,7 +3,6 @@ #readelf: -d --wide #as: --64 @@ -100,17 +100,17 @@ diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-x86-64/pltgot-2.d binu #... +0x[0-9a-f]+ +\(PLTREL.* #... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-x86-64/plt-main.rd binutils-2.39-new/ld/testsuite/ld-x86-64/plt-main.rd ---- binutils-2.39/ld/testsuite/ld-x86-64/plt-main.rd 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-x86-64/plt-main.rd 2022-10-30 12:41:26.469023746 +0100 +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 @@ -1,4 +1,3 @@ -#failif #... [0-9a-f ]+R_X86_64_JUMP_SLOT +0+ +bar \+ 0 #... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-x86-64/pr20830a.d binutils-2.39-new/ld/testsuite/ld-x86-64/pr20830a.d ---- binutils-2.39/ld/testsuite/ld-x86-64/pr20830a.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-x86-64/pr20830a.d 2022-10-30 12:41:26.469023746 +0100 +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 @@ -20,6 +20,7 @@ Contents of the .eh_frame section: DW_CFA_offset: r16 \(rip\) at cfa-8 DW_CFA_nop @@ -119,9 +119,9 @@ diff -rupN --no-dereference binutils-2.39/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.39/ld/testsuite/ld-x86-64/pr20830a-now.d binutils-2.39-new/ld/testsuite/ld-x86-64/pr20830a-now.d ---- binutils-2.39/ld/testsuite/ld-x86-64/pr20830a-now.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-x86-64/pr20830a-now.d 2022-10-30 12:41:26.469023746 +0100 +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 @@ -20,6 +20,7 @@ Contents of the .eh_frame section: DW_CFA_offset: r16 \(rip\) at cfa-8 DW_CFA_nop @@ -130,9 +130,9 @@ diff -rupN --no-dereference binutils-2.39/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.39/ld/testsuite/ld-x86-64/pr20830b.d binutils-2.39-new/ld/testsuite/ld-x86-64/pr20830b.d ---- binutils-2.39/ld/testsuite/ld-x86-64/pr20830b.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-x86-64/pr20830b.d 2022-10-30 12:41:26.469023746 +0100 +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 @@ -20,7 +20,8 @@ Contents of the .eh_frame section: DW_CFA_offset: r16 \(rip\) at cfa-8 DW_CFA_nop @@ -143,9 +143,9 @@ diff -rupN --no-dereference binutils-2.39/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.39/ld/testsuite/ld-x86-64/pr20830b-now.d binutils-2.39-new/ld/testsuite/ld-x86-64/pr20830b-now.d ---- binutils-2.39/ld/testsuite/ld-x86-64/pr20830b-now.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-x86-64/pr20830b-now.d 2022-10-30 12:41:26.469023746 +0100 +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 @@ -20,7 +20,8 @@ Contents of the .eh_frame section: DW_CFA_offset: r16 \(rip\) at cfa-8 DW_CFA_nop @@ -156,85 +156,9 @@ diff -rupN --no-dereference binutils-2.39/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.39/ld/testsuite/ld-x86-64/pr21038a.d binutils-2.39-new/ld/testsuite/ld-x86-64/pr21038a.d ---- binutils-2.39/ld/testsuite/ld-x86-64/pr21038a.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-x86-64/pr21038a.d 2022-10-30 12:41:26.470023746 +0100 -@@ -19,7 +19,8 @@ Contents of the .eh_frame section: - DW_CFA_offset: r16 \(rip\) at cfa-8 - DW_CFA_nop - DW_CFA_nop -- -+#pass -+ - 0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001c8..00000000000001d4 - DW_CFA_nop - DW_CFA_nop -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-x86-64/pr21038a-now.d binutils-2.39-new/ld/testsuite/ld-x86-64/pr21038a-now.d ---- binutils-2.39/ld/testsuite/ld-x86-64/pr21038a-now.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-x86-64/pr21038a-now.d 2022-10-30 12:41:26.470023746 +0100 -@@ -20,7 +20,8 @@ Contents of the .eh_frame section: - DW_CFA_offset: r16 \(rip\) at cfa-8 - DW_CFA_nop - DW_CFA_nop -- -+#pass -+ - 0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001c8..00000000000001d4 - DW_CFA_nop - DW_CFA_nop -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-x86-64/pr21038b.d binutils-2.39-new/ld/testsuite/ld-x86-64/pr21038b.d ---- binutils-2.39/ld/testsuite/ld-x86-64/pr21038b.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-x86-64/pr21038b.d 2022-10-30 12:41:26.470023746 +0100 -@@ -19,6 +19,7 @@ Contents of the .eh_frame section: - DW_CFA_offset: r16 \(rip\) at cfa-8 - DW_CFA_nop - DW_CFA_nop -+#pass - - 0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001d8..00000000000001dd - DW_CFA_nop -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-x86-64/pr21038b-now.d binutils-2.39-new/ld/testsuite/ld-x86-64/pr21038b-now.d ---- binutils-2.39/ld/testsuite/ld-x86-64/pr21038b-now.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-x86-64/pr21038b-now.d 2022-10-30 12:41:26.470023746 +0100 -@@ -20,7 +20,8 @@ Contents of the .eh_frame section: - DW_CFA_offset: r16 \(rip\) at cfa-8 - DW_CFA_nop - DW_CFA_nop -- -+#pass -+ - 0+18 0000000000000014 0000001c FDE cie=00000000 pc=00000000000001d8..00000000000001dd - DW_CFA_nop - DW_CFA_nop -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-x86-64/pr21038c.d binutils-2.39-new/ld/testsuite/ld-x86-64/pr21038c.d ---- binutils-2.39/ld/testsuite/ld-x86-64/pr21038c.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-x86-64/pr21038c.d 2022-10-30 12:41:26.470023746 +0100 -@@ -19,7 +19,8 @@ Contents of the .eh_frame section: - DW_CFA_offset: r16 \(rip\) at cfa-8 - DW_CFA_nop - DW_CFA_nop -- -+#pass -+ - 0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000220..0000000000000231 - DW_CFA_nop - DW_CFA_nop -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-x86-64/pr21038c-now.d binutils-2.39-new/ld/testsuite/ld-x86-64/pr21038c-now.d ---- binutils-2.39/ld/testsuite/ld-x86-64/pr21038c-now.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-x86-64/pr21038c-now.d 2022-10-30 12:41:26.470023746 +0100 -@@ -20,7 +20,8 @@ Contents of the .eh_frame section: - DW_CFA_offset: r16 \(rip\) at cfa-8 - DW_CFA_nop - DW_CFA_nop -- -+#pass -+ - 0+18 0000000000000014 0000001c FDE cie=00000000 pc=0000000000000220..0000000000000231 - DW_CFA_nop - DW_CFA_nop -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-x86-64/tlspic2.rd binutils-2.39-new/ld/testsuite/ld-x86-64/tlspic2.rd ---- binutils-2.39/ld/testsuite/ld-x86-64/tlspic2.rd 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-x86-64/tlspic2.rd 2022-10-30 12:41:26.471023746 +0100 +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 @@ -14,6 +14,7 @@ Section Headers: +\[[ 0-9]+\] .dynsym +.* +\[[ 0-9]+\] .dynstr +.* diff --git a/SOURCES/binutils-riscv-testsuite-fixes.patch b/SOURCES/binutils-riscv-testsuite-fixes.patch new file mode 100644 index 0000000..1415ef9 --- /dev/null +++ b/SOURCES/binutils-riscv-testsuite-fixes.patch @@ -0,0 +1,117 @@ +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 +@@ -12,8 +12,8 @@ Program Headers: + Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align + RISCV_ATTRIBUT .* + LOAD .* +- ++#... + Section to Segment mapping: + Segment Sections... + 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 +@@ -8,7 +8,7 @@ + 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]+[ ]+addi[ ]+a1,gp,\-[0-9]+ # [0-9a-f]+ + .*:[ ]+[0-9a-f]+[ ]+addi[ ]+a2,gp,\-[0-9]+ # [0-9a-f]+ +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]+ ++.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a1,a1,.* # [0-9a-f]+ + .*:[ ]+[0-9a-f]+[ ]+lui[ ]+a2,0x[0-9a-f]+ +-.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a2,a2,[0-9]+ # [0-9a-f]+ ++.*:[ ]+[0-9a-f]+[ ]+addi[ ]+a2,a2,.* # [0-9a-f]+ + .*:[ ]+[0-9a-f]+[ ]+addi[ ]+a3,tp,0 # 0 + .*:[ ]+[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 +@@ -11,5 +11,5 @@ Disassembly of section .text: + [0-9a-f]+ <_start>: + .*:[ ]+[0-9a-f]+[ ]+auipc[ ]+a1.* + .*:[ ]+[0-9a-f]+[ ]+addi?[ ]+a0,gp.* +-.*:[ ]+[0-9a-f]+[ ]+addi?[ ]+a1,a1.* ++.*:[ ]+[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 +@@ -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 --git a/SOURCES/binutils-special-sections-in-groups.patch b/SOURCES/binutils-special-sections-in-groups.patch index 559a850..b567538 100644 --- a/SOURCES/binutils-special-sections-in-groups.patch +++ b/SOURCES/binutils-special-sections-in-groups.patch @@ -1,7 +1,7 @@ -diff -rupN --no-dereference binutils-2.39/bfd/elf.c binutils-2.39-new/bfd/elf.c ---- binutils-2.39/bfd/elf.c 2022-07-08 11:46:47.000000000 +0200 -+++ binutils-2.39-new/bfd/elf.c 2022-10-30 12:41:29.952023763 +0100 -@@ -824,7 +824,13 @@ setup_group (bfd *abfd, Elf_Internal_Shd +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 } } @@ -16,7 +16,7 @@ diff -rupN --no-dereference binutils-2.39/bfd/elf.c binutils-2.39-new/bfd/elf.c { /* xgettext:c-format */ _bfd_error_handler (_("%pB: no group info for section '%pA'"), -@@ -927,7 +933,8 @@ _bfd_elf_setup_sections (bfd *abfd) +@@ -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 diff --git a/SOURCES/binutils-testsuite-fixes.patch b/SOURCES/binutils-testsuite-fixes.patch index cbb3bfa..716b7ae 100644 --- a/SOURCES/binutils-testsuite-fixes.patch +++ b/SOURCES/binutils-testsuite-fixes.patch @@ -1,94 +1,95 @@ -diff -rupN --no-dereference binutils-2.39/binutils/testsuite/binutils-all/compress.exp binutils-2.39-new/binutils/testsuite/binutils-all/compress.exp ---- binutils-2.39/binutils/testsuite/binutils-all/compress.exp 2022-07-08 11:46:47.000000000 +0200 -+++ binutils-2.39-new/binutils/testsuite/binutils-all/compress.exp 2022-10-30 12:41:34.555023785 +0100 -@@ -766,12 +766,6 @@ proc test_gnu_debuglink {} { +diff -rupN --no-dereference binutils-2.41/binutils/testsuite/binutils-all/addr2line.exp binutils-2.41-new/binutils/testsuite/binutils-all/addr2line.exp +--- binutils-2.41/binutils/testsuite/binutils-all/addr2line.exp 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/binutils/testsuite/binutils-all/addr2line.exp 2023-10-17 08:36:17.898116563 +0200 +@@ -39,9 +39,9 @@ if ![regexp -line "^(\[0-9a-fA-F\]+)? +\ + } else { + set list [regexp -inline -all -- {\S+} $contents] + set got [binutils_run $ADDR2LINE "-e tmpdir/testprog$exe [lindex $list 0]"] +- set want "$srcdir/$subdir/testprog.c:\[0-9\]+" ++ set want ".*" + if ![regexp $want $got] then { +- fail "$testname $got\n" ++ fail "$testname\n wanted: $srcdir/$subdir/.*\n got: $got\n" } else { - pass "$test (objdump with missing link)" + pass "$testname" + } +@@ -54,7 +54,7 @@ if ![regexp -line "^(\[0-9a-fA-F\]+)? +\ + } else { + set list [regexp -inline -all -- {\S+} $contents] + set got [binutils_run $ADDR2LINE "-f -e tmpdir/testprog$exe [lindex $list 0]"] +- set want "fn\n$srcdir/$subdir/testprog.c:\[0-9\]+" ++ set want "fn\n.*" + if ![regexp $want $got] then { + fail "$testname -f option $got\n" + } else { +@@ -64,7 +64,7 @@ if ![regexp -line "^(\[0-9a-fA-F\]+)? +\ + #testcase for -s option. + #Using the same fn function address used in -f option. + set got [binutils_run $ADDR2LINE "-s -e tmpdir/testprog$exe [lindex $list 0]"] +- set want "testprog.c:\[0-9\]+" ++ set want ".\*\[0-9\]+" + if ![regexp $want $got] then { + fail "$testname -s option $got\n" + } else { +diff -rupN --no-dereference binutils-2.41/binutils/testsuite/binutils-all/objdump.exp binutils-2.41-new/binutils/testsuite/binutils-all/objdump.exp +--- binutils-2.41/binutils/testsuite/binutils-all/objdump.exp 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/binutils/testsuite/binutils-all/objdump.exp 2023-10-17 08:36:17.897116510 +0200 +@@ -921,7 +921,7 @@ proc test_objdump_S { } { } -- set got [remote_exec host [concat sh -c [list "$READELF -S tmpdir/testprog > /dev/null"]]] -- if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then { -- fail "$test (readelf with missing link)" -- } else { -- pass "$test (readelf with missing link)" -- } } - if {[is_elf_format]} then { -diff -rupN --no-dereference binutils-2.39/gold/main.cc binutils-2.39-new/gold/main.cc ---- binutils-2.39/gold/main.cc 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/gold/main.cc 2022-10-30 12:41:34.547023785 +0100 -@@ -290,16 +290,6 @@ main(int argc, char** argv) - elapsed.sys / 1000, (elapsed.sys % 1000) * 1000, - elapsed.wall / 1000, (elapsed.wall % 1000) * 1000); +-test_objdump_S ++# test_objdump_S --#if defined(HAVE_MALLINFO2) -- struct mallinfo2 m = mallinfo2(); -- fprintf(stderr, _("%s: total space allocated by malloc: %lld bytes\n"), -- program_name, static_cast(m.arena)); --#elif defined(HAVE_MALLINFO) -- struct mallinfo m = mallinfo(); -- fprintf(stderr, _("%s: total space allocated by malloc: %lld bytes\n"), -- program_name, static_cast(m.arena)); --#endif -- - File_read::print_stats(); - Archive::print_stats(); - Lib_group::print_stats(); -diff -rupN --no-dereference binutils-2.39/gprofng/testsuite/lib/display-lib.exp binutils-2.39-new/gprofng/testsuite/lib/display-lib.exp ---- binutils-2.39/gprofng/testsuite/lib/display-lib.exp 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/gprofng/testsuite/lib/display-lib.exp 2022-10-30 12:41:34.560023785 +0100 -@@ -96,9 +96,8 @@ proc run_display_test { dir cflags gprof - perror "comparison of results in $dir failed" - } else { - send_log "compilation of test program in $dir failed:\n$out\n" -- perror "compilation of test program in $dir failed" -+ unsupported "compilation of test program in $dir failed" - } -- fail $dir - return 0 - } - pass $dir -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-aarch64/bti-plt-5.d binutils-2.39-new/ld/testsuite/ld-aarch64/bti-plt-5.d ---- binutils-2.39/ld/testsuite/ld-aarch64/bti-plt-5.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-aarch64/bti-plt-5.d 2022-10-30 12:41:34.563023785 +0100 -@@ -8,21 +8,4 @@ - [^:]*: *file format elf64-.*aarch64 + # Test objdump --private + proc test_objdump_P {} { +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-aarch64/bti-plt-5.d binutils-2.41-new/ld/testsuite/ld-aarch64/bti-plt-5.d +--- binutils-2.41/ld/testsuite/ld-aarch64/bti-plt-5.d 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-aarch64/bti-plt-5.d 2023-10-17 08:36:17.899116616 +0200 +@@ -12,8 +12,8 @@ Disassembly of section \.plt: + [0-9a-f]+ <.*>: + .*: d503245f bti c + .*: a9bf7bf0 stp x16, x30, \[sp, #-16\]! +-.*: 90000090 adrp x16, 410000 <.*> +-.*: f9...... ldr x17, \[x16, #....\] ++.*: 90000090 adrp x16, 4.0000 <.*> ++.*: f9...... ldr x17, \[x16, #.*\] + .*: 91...... add x16, x16, #0x... + .*: d61f0220 br x17 + .*: d503201f nop +@@ -21,8 +21,8 @@ Disassembly of section \.plt: - Disassembly of section \.plt: -- --[0-9a-f]+ <.*>: --.*: d503245f bti c --.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]! + [0-9a-f]+ <.*>: + .*: d503245f bti c -.*: 90000090 adrp x16, 410000 <.*> --.*: f9421611 ldr x17, \[x16, #1064\] --.*: 9110a210 add x16, x16, #0x428 --.*: d61f0220 br x17 --.*: d503201f nop --.*: d503201f nop -- --[0-9a-f]+ <.*>: --.*: d503245f bti c --.*: 90000090 adrp x16, 410000 <.*> --.*: f9421a11 ldr x17, \[x16, #1072\] --.*: 9110c210 add x16, x16, #0x430 --.*: d61f0220 br x17 --.*: d503201f nop -+#... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-aarch64/erratum843419-far-full.d binutils-2.39-new/ld/testsuite/ld-aarch64/erratum843419-far-full.d ---- binutils-2.39/ld/testsuite/ld-aarch64/erratum843419-far-full.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-aarch64/erratum843419-far-full.d 2022-10-30 12:41:34.561023785 +0100 +-.*: f9...... ldr x17, \[x16, #....\] ++.*: 90000090 adrp x16, 4.0000 <.*> ++.*: f9...... ldr x17, \[x16, #.*\] + .*: 91...... add x16, x16, #0x... + .*: d61f0220 br x17 + .*: d503201f nop +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-aarch64/erratum843419-far-full.d binutils-2.41-new/ld/testsuite/ld-aarch64/erratum843419-far-full.d +--- binutils-2.41/ld/testsuite/ld-aarch64/erratum843419-far-full.d 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-aarch64/erratum843419-far-full.d 2023-10-17 08:36:17.899116616 +0200 @@ -8,7 +8,7 @@ Disassembly of section \.text: 0*400000 <_start>: ... - 400ffc: 90400000 adrp x0, 80400000 <__bss_end__\+0x7ffedff0> -+ 400ffc: 90400000 adrp x0, 80400000 <__bss_end__\+.*> ++ 400ffc: 90400000 adrp x0, 80400000 <__bss_end__\+0x[0-9a-f]+> 401000: f9000042 str x2, \[x2\] 401004: d2800002 mov x2, #0x0 // #0 401008: 14000004 b 401018 -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-aarch64/farcall-bl-plt.d binutils-2.39-new/ld/testsuite/ld-aarch64/farcall-bl-plt.d ---- binutils-2.39/ld/testsuite/ld-aarch64/farcall-bl-plt.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-aarch64/farcall-bl-plt.d 2022-10-30 12:41:34.561023785 +0100 +@@ -18,5 +18,5 @@ Disassembly of section \.text: + + 0*401018 : + 401018: f9402001 ldr x1, \[x0, #64\] +- 40101c: 17fffffc b 40100c <_start\+0x100c> ++ 40101c: 17fffffc b 40100c <_start\+0x[0-9a-f]+> + ... +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-aarch64/farcall-bl-plt.d binutils-2.41-new/ld/testsuite/ld-aarch64/farcall-bl-plt.d +--- binutils-2.41/ld/testsuite/ld-aarch64/farcall-bl-plt.d 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-aarch64/farcall-bl-plt.d 2023-10-17 08:36:17.900116670 +0200 @@ -10,7 +10,7 @@ Disassembly of section .plt: .* <.plt>: @@ -112,13 +113,13 @@ diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-aarch64/farcall-bl-plt .* <__foo_veneer>: -.*: .* adrp x16, 0 <.*> -+.*: .* adrp x16, .* <.*> ++.*: .* adrp x16, [0-9a-f]+ <.*> .*: .* add x16, x16, #.* .*: d61f0200 br x16 ... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-aarch64/farcall-b-plt.d binutils-2.39-new/ld/testsuite/ld-aarch64/farcall-b-plt.d ---- binutils-2.39/ld/testsuite/ld-aarch64/farcall-b-plt.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-aarch64/farcall-b-plt.d 2022-10-30 12:41:34.561023785 +0100 +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-aarch64/farcall-b-plt.d binutils-2.41-new/ld/testsuite/ld-aarch64/farcall-b-plt.d +--- binutils-2.41/ld/testsuite/ld-aarch64/farcall-b-plt.d 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-aarch64/farcall-b-plt.d 2023-10-17 08:36:17.899116616 +0200 @@ -10,7 +10,7 @@ Disassembly of section .plt: .* <.plt>: @@ -142,14 +143,14 @@ diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-aarch64/farcall-b-plt. .* <__foo_veneer>: -.*: .* adrp x16, 0 <.*> -+.*: .* adrp x16, .* <.*> ++.*: .* adrp x16, [0-9a-f]+ <.*> .*: .* add x16, x16, #.* .*: d61f0200 br x16 ... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-aarch64/ifunc-1.d binutils-2.39-new/ld/testsuite/ld-aarch64/ifunc-1.d ---- binutils-2.39/ld/testsuite/ld-aarch64/ifunc-1.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-aarch64/ifunc-1.d 2022-10-30 12:41:34.564023785 +0100 -@@ -2,8 +2,6 @@ +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-aarch64/ifunc-1.d binutils-2.41-new/ld/testsuite/ld-aarch64/ifunc-1.d +--- binutils-2.41/ld/testsuite/ld-aarch64/ifunc-1.d 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-aarch64/ifunc-1.d 2023-10-17 08:36:17.900116670 +0200 +@@ -2,8 +2,4 @@ #ld: -shared --hash-style=sysv #objdump: -dw @@ -157,13 +158,11 @@ diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-aarch64/ifunc-1.d binu -0+(130|1a0|1c8) : -#... -[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x(130|1a0|1c8)@plt> -+.*: file format elf.+aarch64.* #pass -+ -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-aarch64/ifunc-1-local.d binutils-2.39-new/ld/testsuite/ld-aarch64/ifunc-1-local.d ---- binutils-2.39/ld/testsuite/ld-aarch64/ifunc-1-local.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-aarch64/ifunc-1-local.d 2022-10-30 12:41:34.564023785 +0100 -@@ -2,8 +2,6 @@ +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-aarch64/ifunc-1-local.d binutils-2.41-new/ld/testsuite/ld-aarch64/ifunc-1-local.d +--- binutils-2.41/ld/testsuite/ld-aarch64/ifunc-1-local.d 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-aarch64/ifunc-1-local.d 2023-10-17 08:36:17.900116670 +0200 +@@ -2,8 +2,4 @@ #ld: -shared --hash-style=sysv #objdump: -dw @@ -171,339 +170,137 @@ diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-aarch64/ifunc-1-local. -0+(110|180|1a0) <(__GI_)?foo>: -#... -[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+(0x110|0x180|0x1a0)@plt> -+.*: file format elf.+aarch64.* #pass -+ -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-aarch64/ifunc-21.d binutils-2.39-new/ld/testsuite/ld-aarch64/ifunc-21.d ---- binutils-2.39/ld/testsuite/ld-aarch64/ifunc-21.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-aarch64/ifunc-21.d 2022-10-30 12:41:34.562023785 +0100 -@@ -11,16 +11,4 @@ Contents of section .text: +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-aarch64/ifunc-21.d binutils-2.41-new/ld/testsuite/ld-aarch64/ifunc-21.d +--- binutils-2.41/ld/testsuite/ld-aarch64/ifunc-21.d 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-aarch64/ifunc-21.d 2023-10-17 08:36:17.900116670 +0200 +@@ -11,7 +11,7 @@ Contents of section .text: [0-9a-f]+ .* Contents of section .got.plt: [0-9a-f]+ 0+ 0+ 0+ 0+ .* - (10298|102b8) 0+ 0+ [0-9a-f]+ [0-9a-f]+ .* -- --Disassembly of section .text: -- --.* : -- .*: d65f03c0 ret -- --.* : ++ (10298|102b8|20108) 0+ 0+ [0-9a-f]+ [0-9a-f]+ .* + + Disassembly of section .text: + +@@ -19,8 +19,8 @@ Disassembly of section .text: + .*: d65f03c0 ret + + .* : - .*: 90000080 adrp x0, 10000 <.*> - .*: .* ldr x0, \[x0, #(672|704)\] -- .*: d65f03c0 ret -- - #pass -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-aarch64/ifunc-22.d binutils-2.39-new/ld/testsuite/ld-aarch64/ifunc-22.d ---- binutils-2.39/ld/testsuite/ld-aarch64/ifunc-22.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-aarch64/ifunc-22.d 2022-10-30 12:41:34.562023785 +0100 -@@ -6,6 +6,4 @@ - # Ensure GOT is populated correctly in static link ++ .*: 90000080 adrp x0, .0000 <.*> ++ .*: .* ldr x0, \[x0, #(672|704|272)\] + .*: d65f03c0 ret + #pass +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-aarch64/ifunc-22.d binutils-2.41-new/ld/testsuite/ld-aarch64/ifunc-22.d +--- binutils-2.41/ld/testsuite/ld-aarch64/ifunc-22.d 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-aarch64/ifunc-22.d 2023-10-17 08:36:17.901116723 +0200 +@@ -8,4 +8,4 @@ .*: file format elf64-(little|big)aarch64 -- --Contents of section \.got: + + Contents of section \.got: - [0-9a-f]+ 00000000 00000000 (d0004000|18004000|00000000) (00000000|004000d0|00400018) .* +#pass -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-aarch64/ifunc-2.d binutils-2.39-new/ld/testsuite/ld-aarch64/ifunc-2.d ---- binutils-2.39/ld/testsuite/ld-aarch64/ifunc-2.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-aarch64/ifunc-2.d 2022-10-30 12:41:34.564023785 +0100 -@@ -3,9 +3,3 @@ +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-aarch64/ifunc-2.d binutils-2.41-new/ld/testsuite/ld-aarch64/ifunc-2.d +--- binutils-2.41/ld/testsuite/ld-aarch64/ifunc-2.d 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-aarch64/ifunc-2.d 2023-10-17 08:36:17.901116723 +0200 +@@ -2,10 +2,4 @@ + #ld: -shared --hash-style=sysv #objdump: -dw - #... +-#... -0+(130|1a0|1c8) : -#... -[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x(130|1a0|1c8)@plt> -[ \t0-9a-f]+:[ \t0-9a-f]+adrp[ \t]+x0, 0 <.*> -[ \t0-9a-f]+:[ \t0-9a-f]+add[ \t]+x0, x0, #0x(120|190|1b8) --#pass -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-aarch64/ifunc-2-local.d binutils-2.39-new/ld/testsuite/ld-aarch64/ifunc-2-local.d ---- binutils-2.39/ld/testsuite/ld-aarch64/ifunc-2-local.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-aarch64/ifunc-2-local.d 2022-10-30 12:41:34.563023785 +0100 -@@ -3,9 +3,3 @@ + #pass +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-aarch64/ifunc-2-local.d binutils-2.41-new/ld/testsuite/ld-aarch64/ifunc-2-local.d +--- binutils-2.41/ld/testsuite/ld-aarch64/ifunc-2-local.d 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-aarch64/ifunc-2-local.d 2023-10-17 08:36:17.901116723 +0200 +@@ -2,10 +2,4 @@ + #ld: -shared --hash-style=sysv #objdump: -dw - #... +-#... -0+(110|180|1a0) <__GI_foo>: -#... -[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x(110|180|1a0)@plt> -[ \t0-9a-f]+:[ \t0-9a-f]+adrp[ \t]+x0, 0 <.*> -[ \t0-9a-f]+:[ \t0-9a-f]+add[ \t]+x0, x0, #0x(100|170|190) --#pass -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-aarch64/ifunc-3a.d binutils-2.39-new/ld/testsuite/ld-aarch64/ifunc-3a.d ---- binutils-2.39/ld/testsuite/ld-aarch64/ifunc-3a.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-aarch64/ifunc-3a.d 2022-10-30 12:41:34.564023785 +0100 -@@ -4,7 +4,3 @@ + #pass +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-aarch64/ifunc-3a.d binutils-2.41-new/ld/testsuite/ld-aarch64/ifunc-3a.d +--- binutils-2.41/ld/testsuite/ld-aarch64/ifunc-3a.d 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-aarch64/ifunc-3a.d 2023-10-17 08:36:17.901116723 +0200 +@@ -3,8 +3,4 @@ + #ld: -shared --hash-style=sysv #objdump: -dw - #... +-#... -0+(150|1d0|1e8) <__GI_foo>: -#... -[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x(150|1d0|1e8)@plt> --#pass -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-aarch64/ifunc-7c.d binutils-2.39-new/ld/testsuite/ld-aarch64/ifunc-7c.d ---- binutils-2.39/ld/testsuite/ld-aarch64/ifunc-7c.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-aarch64/ifunc-7c.d 2022-10-30 12:41:34.564023785 +0100 -@@ -6,14 +6,4 @@ - # Check if adrp and ldr have been relocated correctly. + #pass +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-aarch64/ifunc-7c.d binutils-2.41-new/ld/testsuite/ld-aarch64/ifunc-7c.d +--- binutils-2.41/ld/testsuite/ld-aarch64/ifunc-7c.d 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-aarch64/ifunc-7c.d 2023-10-17 08:36:17.901116723 +0200 +@@ -11,9 +11,9 @@ + Disassembly of section \.text: - .*: file format elf.+aarch64.* -- -- --Disassembly of section \.text: -- --[0-9a-f]+ : + [0-9a-f]+ : - [0-9a-f]+: d65f03c0 ret -- --[0-9a-f]+ <__start>: ++[ ]+[0-9a-f]+:[ ]+d65f03c0[ ]+ret + + [0-9a-f]+ <__start>: - [0-9a-f]+: [0-9a-f]+ bl [0-9a-f]+ <\*ABS\*\+0x[0-9a-f]+@plt> - [0-9a-f]+: [0-9a-f]+ adrp x0, [0-9]+ <__start\+0x[0-9a-f]+> - [0-9a-f]+: [0-9a-f]+ ldr x0, \[x0, .+\] -+#... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-aarch64/tls-relax-gdesc-le-now.d binutils-2.39-new/ld/testsuite/ld-aarch64/tls-relax-gdesc-le-now.d ---- binutils-2.39/ld/testsuite/ld-aarch64/tls-relax-gdesc-le-now.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-aarch64/tls-relax-gdesc-le-now.d 2022-10-30 12:41:34.547023785 +0100 -@@ -11,7 +11,7 @@ - 0x.+ \(PLTRELSZ\) \s+.+ \(bytes\) - 0x.+ \(PLTREL\) \s+RELA - 0x.+ \(JMPREL\) \s+0x.+ -- 0x.+ \(BIND_NOW\) \s+ -+ 0x.+ \(FLAGS\) \s+BIND_NOW - 0x.+ \(FLAGS_1\) \s+ Flags: NOW - 0x.+ \(NULL\) \s+ 0x0 - -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-aarch64/variant_pcs-now.d binutils-2.39-new/ld/testsuite/ld-aarch64/variant_pcs-now.d ---- binutils-2.39/ld/testsuite/ld-aarch64/variant_pcs-now.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-aarch64/variant_pcs-now.d 2022-10-30 12:41:34.546023785 +0100 -@@ -23,10 +23,10 @@ Symbol table '\.dynsym' contains 7 entri - Num: Value Size Type Bind Vis Ndx Name - 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND - 1: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND f_base_global_default_undef -- 2: 0000000000000000 0 NOTYPE GLOBAL DEFAULT \[VARIANT_PCS\] UND f_spec_global_default_undef -- 3: 0000000000008000 0 IFUNC GLOBAL DEFAULT \[VARIANT_PCS\] 1 f_spec_global_default_ifunc -+ 2: 0000000000000000 0 NOTYPE GLOBAL DEFAULT[ ]+UND f_spec_global_default_undef[ ]+\[VARIANT_PCS\] -+ 3: 0000000000008000 0 IFUNC GLOBAL DEFAULT[ ]+1 f_spec_global_default_ifunc[ ]+\[VARIANT_PCS\] - 4: 0000000000008000 0 NOTYPE GLOBAL DEFAULT 1 f_base_global_default_def -- 5: 0000000000008000 0 NOTYPE GLOBAL DEFAULT \[VARIANT_PCS\] 1 f_spec_global_default_def -+ 5: 0000000000008000 0 NOTYPE GLOBAL DEFAULT[ ]+1 f_spec_global_default_def[ ]+\[VARIANT_PCS\] - 6: 0000000000008000 0 IFUNC GLOBAL DEFAULT 1 f_base_global_default_ifunc - - Symbol table '\.symtab' contains 35 entries: -@@ -41,28 +41,28 @@ Symbol table '\.symtab' contains 35 entr - 7: 00000000000111c8 0 SECTION LOCAL DEFAULT 7.* - 8: 0000000000011270 0 SECTION LOCAL DEFAULT 8.* - 9: 0000000000000000 0 FILE LOCAL DEFAULT ABS .*variant_pcs-1\.o -- 10: 0000000000008000 0 NOTYPE LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_local -- 11: 0000000000008000 0 IFUNC LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_local_ifunc -+ 10: 0000000000008000 0 NOTYPE LOCAL DEFAULT .* -+ 11: 0000000000008000 0 IFUNC LOCAL DEFAULT .* - 12: 0000000000008000 0 IFUNC LOCAL DEFAULT 1 f_base_local_ifunc - 13: 0000000000008000 0 NOTYPE LOCAL DEFAULT 1 f_base_local - 14: 0000000000008000 0 NOTYPE LOCAL DEFAULT 1 \$x - 15: 0000000000000000 0 FILE LOCAL DEFAULT ABS .*variant_pcs-2\.o -- 16: 0000000000008038 0 NOTYPE LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_local2 -- 17: 0000000000008038 0 IFUNC LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_local2_ifunc -+ 16: 0000000000008038 0 NOTYPE LOCAL DEFAULT .* -+ 17: 0000000000008038 0 IFUNC LOCAL DEFAULT .* - 18: 0000000000008038 0 IFUNC LOCAL DEFAULT 1 f_base_local2_ifunc - 19: 0000000000008038 0 NOTYPE LOCAL DEFAULT 1 f_base_local2 - 20: 0000000000008038 0 NOTYPE LOCAL DEFAULT 1 \$x - 21: 0000000000000000 0 FILE LOCAL DEFAULT ABS - 22: 0000000000009080 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC -- 23: 0000000000008000 0 NOTYPE LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_global_hidden_def -+ 23: 0000000000008000 0 NOTYPE LOCAL DEFAULT .* - 24: 0000000000008000 0 IFUNC LOCAL DEFAULT 1 f_base_global_hidden_ifunc - 25: 0000000000008000 0 NOTYPE LOCAL DEFAULT 1 f_base_global_hidden_def - 26: 0000000000009000 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ -- 27: 0000000000008000 0 IFUNC LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_global_hidden_ifunc -+ 27: 0000000000008000 0 IFUNC LOCAL DEFAULT .* - 28: 0000000000008070 0 NOTYPE LOCAL DEFAULT 2 \$x - 29: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND f_base_global_default_undef -- 30: 0000000000000000 0 NOTYPE GLOBAL DEFAULT \[VARIANT_PCS\] UND f_spec_global_default_undef -- 31: 0000000000008000 0 IFUNC GLOBAL DEFAULT \[VARIANT_PCS\] 1 f_spec_global_default_ifunc -+ 30: 0000000000000000 0 NOTYPE GLOBAL DEFAULT .* -+ 31: 0000000000008000 0 IFUNC GLOBAL DEFAULT .* - 32: 0000000000008000 0 NOTYPE GLOBAL DEFAULT 1 f_base_global_default_def -- 33: 0000000000008000 0 NOTYPE GLOBAL DEFAULT \[VARIANT_PCS\] 1 f_spec_global_default_def -+ 33: 0000000000008000 0 NOTYPE GLOBAL DEFAULT .* - 34: 0000000000008000 0 IFUNC GLOBAL DEFAULT 1 f_base_global_default_ifunc -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-aarch64/variant_pcs-r.d binutils-2.39-new/ld/testsuite/ld-aarch64/variant_pcs-r.d ---- binutils-2.39/ld/testsuite/ld-aarch64/variant_pcs-r.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-aarch64/variant_pcs-r.d 2022-10-30 12:41:34.546023785 +0100 -@@ -37,24 +37,24 @@ Symbol table '\.symtab' contains 26 entr - 2: 0000000000000000 0 SECTION LOCAL DEFAULT 3.* - 3: 0000000000000000 0 SECTION LOCAL DEFAULT 4.* - 4: 0000000000000000 0 FILE LOCAL DEFAULT ABS .*variant_pcs-1\.o -- 5: 0000000000000000 0 NOTYPE LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_local -- 6: 0000000000000000 0 IFUNC LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_local_ifunc -+ 5: 0000000000000000 0 NOTYPE LOCAL DEFAULT .* -+ 6: 0000000000000000 0 IFUNC LOCAL DEFAULT .* - 7: 0000000000000000 0 IFUNC LOCAL DEFAULT 1 f_base_local_ifunc - 8: 0000000000000000 0 NOTYPE LOCAL DEFAULT 1 f_base_local - 9: 0000000000000000 0 NOTYPE LOCAL DEFAULT 1 \$x - 10: 0000000000000000 0 FILE LOCAL DEFAULT ABS .*variant_pcs-2\.o -- 11: 0000000000000038 0 NOTYPE LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_local2 -- 12: 0000000000000038 0 IFUNC LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_local2_ifunc -+ 11: 0000000000000038 0 NOTYPE LOCAL DEFAULT .* -+ 12: 0000000000000038 0 IFUNC LOCAL DEFAULT .* - 13: 0000000000000038 0 IFUNC LOCAL DEFAULT 1 f_base_local2_ifunc - 14: 0000000000000038 0 NOTYPE LOCAL DEFAULT 1 f_base_local2 - 15: 0000000000000038 0 NOTYPE LOCAL DEFAULT 1 \$x - 16: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND f_base_global_default_undef -- 17: 0000000000000000 0 NOTYPE GLOBAL DEFAULT \[VARIANT_PCS\] UND f_spec_global_default_undef -- 18: 0000000000000000 0 NOTYPE GLOBAL HIDDEN \[VARIANT_PCS\] 1 f_spec_global_hidden_def -+ 17: 0000000000000000 0 NOTYPE GLOBAL DEFAULT .* -+ 18: 0000000000000000 0 NOTYPE GLOBAL HIDDEN .* - 19: 0000000000000000 0 IFUNC GLOBAL HIDDEN 1 f_base_global_hidden_ifunc -- 20: 0000000000000000 0 IFUNC GLOBAL DEFAULT \[VARIANT_PCS\] 1 f_spec_global_default_ifunc -+ 20: 0000000000000000 0 IFUNC GLOBAL DEFAULT .* - 21: 0000000000000000 0 NOTYPE GLOBAL HIDDEN 1 f_base_global_hidden_def -- 22: 0000000000000000 0 IFUNC GLOBAL HIDDEN \[VARIANT_PCS\] 1 f_spec_global_hidden_ifunc -+ 22: 0000000000000000 0 IFUNC GLOBAL HIDDEN .* - 23: 0000000000000000 0 NOTYPE GLOBAL DEFAULT 1 f_base_global_default_def -- 24: 0000000000000000 0 NOTYPE GLOBAL DEFAULT \[VARIANT_PCS\] 1 f_spec_global_default_def -+ 24: 0000000000000000 0 NOTYPE GLOBAL DEFAULT .* - 25: 0000000000000000 0 IFUNC GLOBAL DEFAULT 1 f_base_global_default_ifunc -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-aarch64/variant_pcs-shared.d binutils-2.39-new/ld/testsuite/ld-aarch64/variant_pcs-shared.d ---- binutils-2.39/ld/testsuite/ld-aarch64/variant_pcs-shared.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-aarch64/variant_pcs-shared.d 2022-10-30 12:41:34.547023785 +0100 -@@ -23,10 +23,10 @@ Symbol table '\.dynsym' contains 7 entri - Num: Value Size Type Bind Vis Ndx Name - 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND - 1: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND f_base_global_default_undef -- 2: 0000000000000000 0 NOTYPE GLOBAL DEFAULT \[VARIANT_PCS\] UND f_spec_global_default_undef -- 3: 0000000000008000 0 IFUNC GLOBAL DEFAULT \[VARIANT_PCS\] 1 f_spec_global_default_ifunc -+ 2: 0000000000000000 0 NOTYPE GLOBAL DEFAULT[ ]+UND f_spec_global_default_undef[ ]+\[VARIANT_PCS\] -+ 3: 0000000000008000 0 IFUNC GLOBAL DEFAULT[ ]+1 f_spec_global_default_ifunc[ ]+\[VARIANT_PCS\] - 4: 0000000000008000 0 NOTYPE GLOBAL DEFAULT 1 f_base_global_default_def -- 5: 0000000000008000 0 NOTYPE GLOBAL DEFAULT \[VARIANT_PCS\] 1 f_spec_global_default_def -+ 5: 0000000000008000 0 NOTYPE GLOBAL DEFAULT[ ]+1 f_spec_global_default_def[ ]+\[VARIANT_PCS\] - 6: 0000000000008000 0 IFUNC GLOBAL DEFAULT 1 f_base_global_default_ifunc - - Symbol table '\.symtab' contains 35 entries: -@@ -41,28 +41,28 @@ Symbol table '\.symtab' contains 35 entr - 7: 00000000000111c8 0 SECTION LOCAL DEFAULT 7.* - 8: 0000000000011270 0 SECTION LOCAL DEFAULT 8.* - 9: 0000000000000000 0 FILE LOCAL DEFAULT ABS .*variant_pcs-1\.o -- 10: 0000000000008000 0 NOTYPE LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_local -- 11: 0000000000008000 0 IFUNC LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_local_ifunc -+ 10: 0000000000008000 0 NOTYPE LOCAL DEFAULT .* -+ 11: 0000000000008000 0 IFUNC LOCAL DEFAULT .* - 12: 0000000000008000 0 IFUNC LOCAL DEFAULT 1 f_base_local_ifunc - 13: 0000000000008000 0 NOTYPE LOCAL DEFAULT 1 f_base_local - 14: 0000000000008000 0 NOTYPE LOCAL DEFAULT 1 \$x - 15: 0000000000000000 0 FILE LOCAL DEFAULT ABS .*variant_pcs-2\.o -- 16: 0000000000008038 0 NOTYPE LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_local2 -- 17: 0000000000008038 0 IFUNC LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_local2_ifunc -+ 16: 0000000000008038 0 NOTYPE LOCAL DEFAULT .* -+ 17: 0000000000008038 0 IFUNC LOCAL DEFAULT .* - 18: 0000000000008038 0 IFUNC LOCAL DEFAULT 1 f_base_local2_ifunc - 19: 0000000000008038 0 NOTYPE LOCAL DEFAULT 1 f_base_local2 - 20: 0000000000008038 0 NOTYPE LOCAL DEFAULT 1 \$x - 21: 0000000000000000 0 FILE LOCAL DEFAULT ABS - 22: 0000000000009080 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC -- 23: 0000000000008000 0 NOTYPE LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_global_hidden_def -+ 23: 0000000000008000 0 NOTYPE LOCAL DEFAULT .* - 24: 0000000000008000 0 IFUNC LOCAL DEFAULT 1 f_base_global_hidden_ifunc - 25: 0000000000008000 0 NOTYPE LOCAL DEFAULT 1 f_base_global_hidden_def - 26: 0000000000009000 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ -- 27: 0000000000008000 0 IFUNC LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_global_hidden_ifunc -+ 27: 0000000000008000 0 IFUNC LOCAL DEFAULT .* - 28: 0000000000008070 0 NOTYPE LOCAL DEFAULT 2 \$x - 29: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND f_base_global_default_undef -- 30: 0000000000000000 0 NOTYPE GLOBAL DEFAULT \[VARIANT_PCS\] UND f_spec_global_default_undef -- 31: 0000000000008000 0 IFUNC GLOBAL DEFAULT \[VARIANT_PCS\] 1 f_spec_global_default_ifunc -+ 30: 0000000000000000 0 NOTYPE GLOBAL DEFAULT .* -+ 31: 0000000000008000 0 IFUNC GLOBAL DEFAULT .* - 32: 0000000000008000 0 NOTYPE GLOBAL DEFAULT 1 f_base_global_default_def -- 33: 0000000000008000 0 NOTYPE GLOBAL DEFAULT \[VARIANT_PCS\] 1 f_spec_global_default_def -+ 33: 0000000000008000 0 NOTYPE GLOBAL DEFAULT .* - 34: 0000000000008000 0 IFUNC GLOBAL DEFAULT 1 f_base_global_default_ifunc -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-elf/binutils.exp binutils-2.39-new/ld/testsuite/ld-elf/binutils.exp ---- binutils-2.39/ld/testsuite/ld-elf/binutils.exp 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-elf/binutils.exp 2022-10-30 12:41:34.555023785 +0100 ++[ ]+[0-9a-f]+:[ ]+[0-9a-f]+[ ]+bl[ ]+[0-9a-f]+ <\*ABS\*\+0x[0-9a-f]+@plt> ++[ ]+[0-9a-f]+:[ ]+[0-9a-f]+[ ]+adrp[ ]+x0, [0-9]+ <.*> ++[ ]+[0-9a-f]+:[ ]+[0-9a-f]+[ ]+ldr[ ]+x0, \[x0, .+\] +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-elf/binutils.exp binutils-2.41-new/ld/testsuite/ld-elf/binutils.exp +--- binutils-2.41/ld/testsuite/ld-elf/binutils.exp 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-elf/binutils.exp 2023-10-17 08:36:17.902116776 +0200 @@ -174,7 +174,7 @@ binutils_test strip "-T ${srcdir}/${subd set tls_tests { "tdata1" "tdata2" } # hppa64 has its own .tbss section, with different flags. -if { ![istarget "hppa64-*-*"] } { -+if { ![istarget "hppa64-*-*"] && ![istarget "powerpc*-*-linux*"] } { ++if { ![istarget "hppa64-*-*"] && ![istarget "powerpc*-*-*"] } { lappend tls_tests "tdata3" "tbss1" "tbss2" "tbss3" } set tls_opts { -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-elf/compress.exp binutils-2.39-new/ld/testsuite/ld-elf/compress.exp ---- binutils-2.39/ld/testsuite/ld-elf/compress.exp 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-elf/compress.exp 2022-10-30 12:41:34.548023785 +0100 -@@ -167,8 +167,8 @@ if { [regexp_diff tmpdir/$test.out $srcd - - set test_name "Link with zlib compressed debug output 1" - set test normal --send_log "$READELF -w tmpdir/$test > tmpdir/$test.out\n" --set got [remote_exec host [concat sh -c [list "$READELF -w tmpdir/$test > tmpdir/$test.out"]] "" "/dev/null"] -+send_log "$READELF -wi tmpdir/$test > tmpdir/$test.out\n" -+set got [remote_exec host [concat sh -c [list "$READELF -wi tmpdir/$test > tmpdir/$test.out"]] "" "/dev/null"] - if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then { - send_log "$got\n" - fail "$test_name" -@@ -176,8 +176,8 @@ if { [lindex $got 0] != 0 || ![string ma - - set test_name "Link with zlib compressed debug output 2" - set test zlibnormal --send_log "$READELF -w tmpdir/$test | sed -e \"s/.zdebug_/.debug_/\" > tmpdir/$test.out\n" --set got [remote_exec host [concat sh -c [list "$READELF -w tmpdir/$test | sed -e \"s/.zdebug_/.debug_/\" > tmpdir/$test.out"]] "" "/dev/null"] -+send_log "$READELF -wi tmpdir/$test | sed -e \"s/.zdebug_/.debug_/\" > tmpdir/$test.out\n" -+set got [remote_exec host [concat sh -c [list "$READELF -wi tmpdir/$test | sed -e \"s/.zdebug_/.debug_/\" > tmpdir/$test.out"]] "" "/dev/null"] - if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then { - send_log "$got\n" - fail "$test_name" -@@ -203,8 +203,8 @@ if { [regexp_diff tmpdir/$test.out $srcd - - set test_name "Link with zlib-gnu compressed debug output 1" - set test gnunormal --send_log "$READELF -w tmpdir/$test | sed -e \"s/.zdebug_/.debug_/\" > tmpdir/$test.out\n" --set got [remote_exec host [concat sh -c [list "$READELF -w tmpdir/$test | sed -e \"s/.zdebug_/.debug_/\" > tmpdir/$test.out"]] "" "/dev/null"] -+send_log "$READELF -wi tmpdir/$test | sed -e \"s/.zdebug_/.debug_/\" > tmpdir/$test.out\n" -+set got [remote_exec host [concat sh -c [list "$READELF -wi tmpdir/$test | sed -e \"s/.zdebug_/.debug_/\" > tmpdir/$test.out"]] "" "/dev/null"] - if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then { - send_log "$got\n" - fail "$test_name" -@@ -230,8 +230,8 @@ if { [regexp_diff tmpdir/$test.out $srcd - - set test gabinormal - set test_name "Link with zlib-gabi compressed debug output 1" --send_log "$READELF -w tmpdir/$test > tmpdir/$test.out\n" --set got [remote_exec host [concat sh -c [list "$READELF -w tmpdir/$test > tmpdir/$test.out"]] "" "/dev/null"] -+send_log "$READELF -wi tmpdir/$test > tmpdir/$test.out\n" -+set got [remote_exec host [concat sh -c [list "$READELF -wi tmpdir/$test > tmpdir/$test.out"]] "" "/dev/null"] - if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then { - send_log "$got\n" - fail "$test_name" -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-elf/linux-x86.exp binutils-2.39-new/ld/testsuite/ld-elf/linux-x86.exp ---- binutils-2.39/ld/testsuite/ld-elf/linux-x86.exp 2022-07-25 09:04:15.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-elf/linux-x86.exp 2022-10-30 12:41:34.557023785 +0100 +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-elf/linux-x86.exp binutils-2.41-new/ld/testsuite/ld-elf/linux-x86.exp +--- binutils-2.41/ld/testsuite/ld-elf/linux-x86.exp 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-elf/linux-x86.exp 2023-10-17 08:36:17.905116936 +0200 @@ -73,6 +73,10 @@ run_ld_link_tests [list \ ] \ ] -+if { [istarget "i?86-*-*"] } { ++if { [istarget "i686-*-*"] } { + return +} + run_cc_link_tests [list \ [list \ "Build indirect-extern-access-1.so" \ -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-elf/pr26580-3.out binutils-2.39-new/ld/testsuite/ld-elf/pr26580-3.out ---- binutils-2.39/ld/testsuite/ld-elf/pr26580-3.out 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-elf/pr26580-3.out 2022-10-30 12:41:34.554023785 +0100 -@@ -1,2 +1,2 @@ - library not loaded --alignment 1 -+alignment . -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-elf/shared.exp binutils-2.39-new/ld/testsuite/ld-elf/shared.exp ---- binutils-2.39/ld/testsuite/ld-elf/shared.exp 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-elf/shared.exp 2022-10-30 12:41:34.554023785 +0100 -@@ -1576,18 +1576,6 @@ if { [istarget *-*-linux*] +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-elf/shared.exp binutils-2.41-new/ld/testsuite/ld-elf/shared.exp +--- binutils-2.41/ld/testsuite/ld-elf/shared.exp 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-elf/shared.exp 2023-10-17 08:36:17.903116830 +0200 +@@ -1152,10 +1152,6 @@ set run_tests [list \ + [list "Run pr21964-3" \ + "-Wl,--no-as-needed,-rpath,tmpdir tmpdir/pr21964-1a.so tmpdir/pr21964-1b.so tmpdir/pr21964-3a.so" "" \ + {pr21964-3c.c} "pr21964-3" "pass.out" ] \ +- [list "pr26580-3" \ +- "" "" \ +- {pr26580-a.c} "pr26580-3" "pr26580-3.out" "-fcommon" "c" "" \ +- "-Wl,--as-needed tmpdir/libpr26580-2.so" ] \ + [list "pr26580-4" \ + "" "" \ + {pr26580-a.c} "pr26580-4" "pr26580-4.out" "-fcommon" "c" "" \ +@@ -1579,18 +1575,6 @@ if { [istarget *-*-linux*] "pr22393-2-static" \ "pass.out" \ ] \ @@ -522,136 +319,23 @@ diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-elf/shared.exp binutil ] } -@@ -1669,6 +1657,7 @@ if [istarget "sparc*-*-*"] { - if { ([istarget "*-*-linux*"] - || [istarget "*-*-nacl*"] - || [istarget "*-*-gnu*"]) -+ && ![istarget "aarch64*-*-*"] && ![istarget "arm*-*-*"] - && ![istarget "mips*-*-*"] } { - run_ld_link_tests [list \ - [list \ -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-elf/tls.exp binutils-2.39-new/ld/testsuite/ld-elf/tls.exp ---- binutils-2.39/ld/testsuite/ld-elf/tls.exp 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-elf/tls.exp 2022-10-30 12:41:34.554023785 +0100 -@@ -32,6 +32,9 @@ if { !([istarget *-*-linux*] - if { ![check_compiler_available] } { - return +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-i386/i386.exp binutils-2.41-new/ld/testsuite/ld-i386/i386.exp +--- binutils-2.41/ld/testsuite/ld-i386/i386.exp 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-i386/i386.exp 2023-10-17 08:36:17.903116830 +0200 +@@ -597,6 +597,10 @@ proc undefined_weak {cflags ldflags} { + } } -+if { [istarget s390x*-*-*] } { + ++if { [istarget "i686-*-*"] } { + return +} - - # This target requires extra GAS options when building PIC/PIE code. - set AFLAGS_PIC "" -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-gc/pr13683.d binutils-2.39-new/ld/testsuite/ld-gc/pr13683.d ---- binutils-2.39/ld/testsuite/ld-gc/pr13683.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-gc/pr13683.d 2022-10-30 12:41:34.557023785 +0100 -@@ -2,7 +2,7 @@ - #source: dummy.s - #ld: --gc-sections -e main --defsym foo=foo2 tmpdir/pr13683.o - #nm: --format=bsd --#xfail: iq2000-*-* lm32-*-* epiphany-*-* mips64vr-*-* frv-*-* m32c-*-* rl78-*-* rx-*-* sh-*-* powerpc*-*-eabivle msp430-*-* -+#xfail: iq2000-*-* lm32-*-* epiphany-*-* mips64vr-*-* frv-*-* m32c-*-* rl78-*-* rx-*-* sh-*-* powerpc*-*-eabivle msp430-*-* arm*-*-* - - # Note - look for both "foo" and "foo2" being defined, non-zero function symbols - -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-gc/pr19161.d binutils-2.39-new/ld/testsuite/ld-gc/pr19161.d ---- binutils-2.39/ld/testsuite/ld-gc/pr19161.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-gc/pr19161.d 2022-10-30 12:41:34.557023785 +0100 -@@ -2,7 +2,7 @@ - #source: dummy.s - #ld: --gc-sections -e main tmpdir/pr19161-1.o tmpdir/pr19161-2.o - #nm: --format=bsd --#xfail: epiphany-*-* frv-*-* iq2000-*-* lm32-*-* m32c-*-* -+#xfail: epiphany-*-* frv-*-* iq2000-*-* lm32-*-* m32c-*-* arm*-*-* - #xfail: mips64vr-*-* msp430-*-* powerpc*-*-eabivle rl78-*-* rx-*-* sh*-*-* - - #... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-i386/i386.exp binutils-2.39-new/ld/testsuite/ld-i386/i386.exp ---- binutils-2.39/ld/testsuite/ld-i386/i386.exp 2022-07-26 09:13:10.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-i386/i386.exp 2022-10-30 12:41:34.560023785 +0100 -@@ -1077,15 +1077,6 @@ if { [isnative] - "pr18900.out" \ - ] \ - [list \ -- "Run pr19031" \ -- "$NOPIE_LDFLAGS tmpdir/pr19031.so" \ -- "-Wa,-mx86-used-note=yes" \ -- { pr19031b.S pr19031c.c } \ -- "pr19031" \ -- "pr19031.out" \ -- "$NOPIE_CFLAGS" \ -- ] \ -- [list \ - "Run got1" \ - "$NOPIE_LDFLAGS tmpdir/got1d.so" \ - "-Wa,-mx86-used-note=yes" \ -@@ -1137,7 +1128,9 @@ if { [isnative] - ] \ - ] - -- undefined_weak "$NOPIE_CFLAGS" "$NOPIE_LDFLAGS" -+ if { ! [istarget i686*-*-*] } { -+ undefined_weak "$NOPIE_CFLAGS" "$NOPIE_LDFLAGS" -+ } - undefined_weak "-fPIE" "$NOPIE_LDFLAGS" - undefined_weak "-fPIE" "-pie" - undefined_weak "-fPIE" "-z nodynamic-undefined-weak $NOPIE_LDFLAGS" -@@ -1201,7 +1194,7 @@ if { [isnative] - ] \ - ] - -- if { [istarget "i?86-*-linux*"] } { -+ if { [istarget "i?86-*-linux*"] && ! [istarget i686*-*-*] } { - run_cc_link_tests [list \ - [list \ - "Build pr21168.so with -z ibtplt" \ -@@ -1299,22 +1292,6 @@ if { [isnative] - {} \ - "pr28875.so" \ - ] \ -- [list \ -- "Build pr28875" \ -- "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/pr28875.so" \ -- "$NOPIE_CFLAGS" \ -- { pr28875b.c } \ -- {{error_output "pr28875.err"}} \ -- "pr28875" \ -- ] \ -- [list \ -- "Build pr21997-1" \ -- "$NOPIE_LDFLAGS -Wl,--no-as-needed,-z,notext tmpdir/pr21997-1.so" \ -- "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \ -- { pr21997-1b.c } \ -- {{error_output "pr21997-1.err"}} \ -- "pr21997-1" \ -- ] \ - ] - - run_ld_link_exec_tests [list \ -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-i386/plt-main.rd binutils-2.39-new/ld/testsuite/ld-i386/plt-main.rd ---- binutils-2.39/ld/testsuite/ld-i386/plt-main.rd 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-i386/plt-main.rd 2022-10-30 12:41:34.550023785 +0100 -@@ -1,4 +1 @@ --#failif --#... --[0-9a-f ]+R_386_JUMP_SLOT +0+ +bar - #... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-ifunc/ifunc.exp binutils-2.39-new/ld/testsuite/ld-ifunc/ifunc.exp ---- binutils-2.39/ld/testsuite/ld-ifunc/ifunc.exp 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-ifunc/ifunc.exp 2022-10-30 12:41:34.553023785 +0100 -@@ -39,6 +39,8 @@ if { ![is_elf_format] || ![supports_gnu_ - || [istarget nds32*-*-*] - || [istarget nios2-*-*] - || [istarget or1k-*-*] -+ || [istarget powerpc*-*-*] -+ || [istarget ppc*-*-*] - || [istarget score*-*-*] - || [istarget sh*-*-*] - || [istarget tic6x-*-*] -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/lto.exp binutils-2.39-new/ld/testsuite/ld-plugin/lto.exp ---- binutils-2.39/ld/testsuite/ld-plugin/lto.exp 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/lto.exp 2022-10-30 12:41:34.558023785 +0100 ++ + # Must be Linux native with the C compiler + if { [isnative] + && [istarget "i?86-*-linux*"] +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-plugin/lto.exp binutils-2.41-new/ld/testsuite/ld-plugin/lto.exp +--- binutils-2.41/ld/testsuite/ld-plugin/lto.exp 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-plugin/lto.exp 2023-10-17 08:36:17.899116616 +0200 @@ -31,8 +31,8 @@ if { ![check_plugin_api_available] set saved_CFLAGS "$CFLAGS_FOR_TARGET" @@ -663,573 +347,551 @@ diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/lto.exp binutil proc restore_notify { } { global saved_CFLAGS -@@ -481,23 +481,6 @@ set lto_link_elf_tests [list \ - "c++" \ - ] \ +@@ -474,7 +474,7 @@ set lto_link_elf_tests [list \ [list \ -- "Build libpr28879b.so" \ -- "-shared -Wl,--no-as-needed tmpdir/libpr28879a.so" \ -- "-O2 -fpic" \ -- {dummy.c} \ -- {} \ -- "libpr28879b.so" \ -- ] \ -- [list \ -- "Build pr28879" \ -- "-Wl,--no-as-needed tmpdir/libpr28879b.so -Wl,-rpath-link,." \ -- "-O0 -flto -D_GLIBCXX_ASSERTIONS" \ -- {pr28879b.cc} \ -- {} \ -- "pr28879" \ -- "c++" \ -- ] \ -- [list \ - "Build libpr28849a.so" \ + "Build libpr28879a.so" \ "-shared" \ - "-fPIC" \ -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-10.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-10.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-10.d 2022-10-30 12:41:32.245023774 +0100 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-10.d 2022-10-30 12:41:34.543023785 +0100 -@@ -32,7 +32,7 @@ hook called: claim_file tmpdir/func.o \[ - hook called: claim_file tmpdir/libtext.a \[@.* not claimed - #... - hook called: all symbols read. --Sym: '_?func' Resolution: LDPR_PREVAILING_DEF_IRONLY -+Sym: '_?func' Resolution: LDPR_PREVAILING_DE.* - Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY - #... - hook called: cleanup. -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-11.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-11.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-11.d 2022-10-30 12:41:32.245023774 +0100 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-11.d 2022-10-30 12:41:34.543023785 +0100 -@@ -35,9 +35,9 @@ hook called: claim_file tmpdir/func.o \[ - hook called: claim_file tmpdir/libtext.a \[@.* CLAIMED - #... - hook called: all symbols read. --Sym: '_?func' Resolution: LDPR_PREVAILING_DEF_IRONLY -+Sym: '_?func' Resolution: LDPR_PREVAILING_DE.* - Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY --Sym: '_?text' Resolution: LDPR_PREVAILING_DEF_IRONLY -+Sym: '_?text' Resolution: LDPR_PREVAILING_DE.* - #... - hook called: cleanup. - #... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-12.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-12.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-12.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-12.d 2022-10-30 12:41:34.546023785 +0100 -@@ -1,6 +1,6 @@ - #... --.*: symbol `func' definition: DEF, visibility: DEFAULT, resolution: PREVAILING_DEF --.*: symbol `func1' definition: DEF, visibility: PROTECTED, resolution: PREVAILING_DEF_IRONLY --.*: symbol `func2' definition: DEF, visibility: INTERNAL, resolution: PREVAILING_DEF_IRONLY --.*: symbol `func3' definition: DEF, visibility: HIDDEN, resolution: PREVAILING_DEF_IRONLY -+.*: symbol `.*unc' definition: DEF, visibility: DEFAULT, resolution: PREVAILING_DE.* -+.*: symbol `.*unc1' definition: DEF, visibility: PROTECTED, resolution: PREVAILING_DEF_IRONLY -+.*: symbol `.*unc2' definition: DEF, visibility: INTERNAL, resolution: PREVAILING_DEF_IRONLY -+.*: symbol `.*unc3' definition: DEF, visibility: HIDDEN, resolution: PREVAILING_DEF_IRONLY - #pass -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-16.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-16.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-16.d 2022-10-30 12:41:32.246023774 +0100 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-16.d 2022-10-30 12:41:34.543023785 +0100 -@@ -30,7 +30,7 @@ hook called: claim_file .*/ld/testsuite/ - hook called: claim_file tmpdir/text.o \[@0/.* not claimed - #... - hook called: all symbols read. --Sym: '_?func' Resolution: LDPR_PREVAILING_DEF_IRONLY -+Sym: '_?func' Resolution: LDPR_PREVAILING_DE.* - Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY - #... - hook called: cleanup. -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-17.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-17.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-17.d 2022-10-30 12:41:32.246023774 +0100 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-17.d 2022-10-30 12:41:34.543023785 +0100 -@@ -31,7 +31,7 @@ hook called: claim_file .*/ld/testsuite/ - hook called: claim_file tmpdir/text.o \[@0/.* not claimed - #... - hook called: all symbols read. --Sym: '_?func' Resolution: LDPR_PREVAILING_DEF_IRONLY -+Sym: '_?func' Resolution: LDPR_PREVAILING_DE.* - Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY - #... - hook called: cleanup. -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-18.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-18.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-18.d 2022-10-30 12:41:32.246023774 +0100 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-18.d 2022-10-30 12:41:34.544023785 +0100 -@@ -32,7 +32,7 @@ hook called: claim_file .*/ld/testsuite/ - hook called: claim_file tmpdir/libtext.a \[@.* not claimed - #... - hook called: all symbols read. --Sym: '_?func' Resolution: LDPR_PREVAILING_DEF_IRONLY -+Sym: '_?func' Resolution: LDPR_PREVAILING_DE.* - Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY - #... - hook called: cleanup. -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-19.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-19.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-19.d 2022-10-30 12:41:32.247023774 +0100 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-19.d 2022-10-30 12:41:34.544023785 +0100 -@@ -35,9 +35,9 @@ hook called: claim_file .*/ld/testsuite/ - hook called: claim_file tmpdir/libtext.a \[@.* CLAIMED - #... - hook called: all symbols read. --Sym: '_?func' Resolution: LDPR_PREVAILING_DEF_IRONLY -+Sym: '_?func' Resolution: LDPR_PREVAILING_DE.* - Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY --Sym: '_?text' Resolution: LDPR_PREVAILING_DEF_IRONLY -+Sym: '_?text' Resolution: LDPR_PREVAILING_DE.* - #... - hook called: cleanup. - #... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-8.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-8.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-8.d 2022-10-30 12:41:32.249023774 +0100 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-8.d 2022-10-30 12:41:34.544023785 +0100 -@@ -30,7 +30,7 @@ hook called: claim_file tmpdir/func.o \[ - hook called: claim_file tmpdir/text.o \[@0/.* not claimed - #... - hook called: all symbols read. --Sym: '_?func' Resolution: LDPR_PREVAILING_DEF_IRONLY -+Sym: '_?func' Resolution: LDPR_PREVAILING_DE.* - Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY - #... - hook called: cleanup. -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin-9.d binutils-2.39-new/ld/testsuite/ld-plugin/plugin-9.d ---- binutils-2.39/ld/testsuite/ld-plugin/plugin-9.d 2022-10-30 12:41:32.250023774 +0100 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin-9.d 2022-10-30 12:41:34.544023785 +0100 -@@ -31,7 +31,7 @@ hook called: claim_file tmpdir/func.o \[ - hook called: claim_file tmpdir/text.o \[@0/.* not claimed - #... - hook called: all symbols read. --Sym: '_?func' Resolution: LDPR_PREVAILING_DEF_IRONLY -+Sym: '_?func' Resolution: LDPR_PREVAILING_DE.* - Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY - #... - hook called: cleanup. -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-plugin/plugin.exp binutils-2.39-new/ld/testsuite/ld-plugin/plugin.exp ---- binutils-2.39/ld/testsuite/ld-plugin/plugin.exp 2022-10-30 12:41:32.250023774 +0100 -+++ binutils-2.39-new/ld/testsuite/ld-plugin/plugin.exp 2022-10-30 12:41:34.556023785 +0100 -@@ -119,7 +119,7 @@ if { $can_compile && !$failed_compile } - - # I do not know why, but the underscore prefix test is going - # wrong on ppc64le targets. So override it here. --if { [istarget powerpc*-*-linux*] || [istarget x86_64*-*-linux*] } { -+if { [istarget powerpc*-*-linux*] || [istarget x86_64*-*-linux*] || [istarget *-*-*] } { - set _ "" +- "-O0 -fpic" \ ++ "-O2 -fpic" \ + {pr28879a.cc} \ + {} \ + "libpr28879a.so" \ +@@ -491,7 +491,7 @@ set lto_link_elf_tests [list \ + [list \ + "Build pr28879" \ + "-Wl,--no-as-needed tmpdir/libpr28879b.so -Wl,-rpath-link,." \ +- "-O0 -flto -D_GLIBCXX_ASSERTIONS" \ ++ "-O2 -flto -D_GLIBCXX_ASSERTIONS" \ + {pr28879b.cc} \ + {} \ + "pr28879" \ +@@ -525,7 +525,7 @@ set lto_link_elf_tests [list \ + [list \ + "PR ld/pr29086" \ + "-Wl,--wrap=foo" \ +- "-O0 -flto" \ ++ "-O2 -flto" \ + {pr29086.c} \ + {} \ + "pr29086" \ +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-powerpc/powerpc.exp binutils-2.41-new/ld/testsuite/ld-powerpc/powerpc.exp +--- binutils-2.41/ld/testsuite/ld-powerpc/powerpc.exp 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-powerpc/powerpc.exp 2023-10-17 08:36:17.904116883 +0200 +@@ -126,65 +126,6 @@ set ppcelftests { + "tls32no"} + {"TLS32 helper shared library" "-shared -melf32ppc tmpdir/tlslib32.o" "" "" {} + {} "libtlslib32.so"} +- {"TLS32 dynamic exec" "-melf32ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tls32.o tmpdir/libtlslib32.so" "" "" {} +- {{readelf -WSsrl tlsexe32.r} {objdump -dr tlsexe32.d} +- {objdump -sj.got tlsexe32.g} {objdump -sj.tdata tlsexe32.t}} +- "tlsexe32"} +- {"TLS32 dynamic exec (--no-tls-optimize)" "-melf32ppc --no-tls-optimize --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tls32.o tmpdir/libtlslib32.so" "" "" {} +- {{readelf -WSsrl tlsexe32no.r} {objdump -dr tlsexe32no.d} +- {objdump -sj.got tlsexe32no.g} {objdump -sj.tdata tlsexe32.t}} +- "tlsexe32no"} +- {"TLS32 shared" "-shared -melf32ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv -z notext tmpdir/tls32.o" "" "" {} +- {{readelf -WSsrl tlsso32.r} {objdump -dr tlsso32.d} +- {objdump -sj.got tlsso32.g} {objdump -sj.tdata tlsso32.t}} +- "tls32.so"} +- {"TLS32 markers" "-melf32ppc" "" "-a32" {tlsmark32.s tlslib32.s} +- {{objdump -dr tlsmark32.d}} +- "tlsmark32"} +- {"TLS32 opt 1" "-melf32ppc" "" "-a32" {tlsopt1_32.s tlslib32.s} +- {{objdump -dr tlsopt1_32.d}} +- "tlsopt1_32"} +- {"TLS32 opt 2" "-melf32ppc" "" "-a32" {tlsopt2_32.s tlslib32.s} +- {{objdump -dr tlsopt2_32.d}} +- "tlsopt2_32"} +- {"TLS32 opt 3" "-melf32ppc" "" "-a32" {tlsopt3_32.s tlslib32.s} +- {{objdump -dr tlsopt3_32.d}} +- "tlsopt3_32"} +- {"TLS32 opt 4" "-melf32ppc" "" "-a32" {tlsopt4_32.s tlslib32.s} +- {{objdump -dr tlsopt4_32.d}} +- "tlsopt4_32"} +- {"TLS32 DLL" "-shared -melf32ppc --version-script tlsdll.ver" "" +- "-a32" {tlsdll_32.s} +- {} "tlsdll32.so"} +- {"TLS32 opt 5" "-melf32ppc -shared --gc-sections --secure-plt --no-plt-align tmpdir/tlsdll32.so" "" "-a32" {tlsopt5_32.s} +- {{objdump -dr tlsopt5_32.d}} +- "tlsopt5_32"} +- {"Shared library with global symbol" "-shared -melf32ppc" "" "-a32" {sdalib.s} +- {} "sdalib.so"} +- {"Dynamic application with SDA" "-melf32ppc tmpdir/sdalib.so" "" "-a32" {sdadyn.s} +- {{objdump -R sdadyn.d}} "sdadyn"} +- {"relaxing" "-melf32ppc --relax -Ttext=0 --defsym far=0x80001234 --defsym near=0x00004320" "" "-a32" "relax.s" +- {{objdump -dr relax.d}} +- "relax"} +- {"relocatable relaxing" "-melf32ppc -r --relax" "" "-a32" "relax.s" +- {{objdump -dr relaxr.d}} +- "rrelax"} +- {"relocatable relaxing large" "-melf32ppc -r --relax" "" "-a32" "relax.s big.s" +- {{objdump -dr relaxrl.d}} +- "rrelax"} +- {"build empty shared library" "-shared" "" "" "empty.s" {} "empty.so"} +- {"abs32-static" "-melf32ppc -static --defsym a=1 --defsym 'HIDDEN(b=2)' --defsym c=0x12345678" "" +- "-a32" {abs32-reloc.s} +- {{objdump {-dr} abs32-static.d} +- {readelf {-rW} abs32-static.r}} "abs32-static"} +- {"abs32-pie" "-melf32ppc -pie --hash-style=sysv --defsym a=1 --defsym 'HIDDEN(b=2)' --defsym c=0x12345678" "" +- "-a32" {abs32-reloc.s} +- {{objdump {-dr} abs32-pie.d} +- {readelf {-rW} abs32-pie.r}} "abs32-pie"} +- {"abs32-shared" "-melf32ppc -shared --hash-style=sysv --defsym a=1 --defsym 'HIDDEN(b=2)' --defsym c=0x12345678" "" +- "-a32" {abs32-reloc.s} +- {{objdump {-dr} abs32-shared.d} +- {readelf {-rW} abs32-shared.r}} "abs32-shared"} } -@@ -258,6 +258,10 @@ set plugin_lib_tests [list \ - $testobjfiles tmpdir/libempty.a $libs" "" "" "" {{ld plugin-30.d}} "main.x" ] \ - ] - -+if { [istarget "powerpc*-*-linux*"] } { -+ return -+} -+ - set plugin_extra_elf_tests [list \ - [list "plugin set symbol visibility" "-plugin $plugin_path $regclm \ - $regas $regcln -plugin-opt claim:tmpdir/func.o \ -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-powerpc/group1.sym binutils-2.39-new/ld/testsuite/ld-powerpc/group1.sym ---- binutils-2.39/ld/testsuite/ld-powerpc/group1.sym 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-powerpc/group1.sym 2022-10-30 12:41:34.553023785 +0100 -@@ -1,3 +1 @@ --#... --.* 8 FUNC +GLOBAL DEFAULT \[: 4\] +1 foo - #pass -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-powerpc/group3.sym binutils-2.39-new/ld/testsuite/ld-powerpc/group3.sym ---- binutils-2.39/ld/testsuite/ld-powerpc/group3.sym 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-powerpc/group3.sym 2022-10-30 12:41:34.553023785 +0100 -@@ -1,3 +1 @@ --#... --.* 4 FUNC +GLOBAL DEFAULT \[: 1\] +1 foo - #pass -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-powerpc/notoc3.d binutils-2.39-new/ld/testsuite/ld-powerpc/notoc3.d ---- binutils-2.39/ld/testsuite/ld-powerpc/notoc3.d 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-powerpc/notoc3.d 2022-10-30 12:41:34.553023785 +0100 -@@ -57,7 +57,7 @@ Disassembly of section \.text: - - .* : - .*: (02 10 40 3c|3c 40 10 02) lis r2,4098 --.*: (00 90 42 38|38 42 90 00) addi r2,r2,-28672 -+.*:.* - .*: (.. .. ff 4b|4b ff .. ..) bl .* <.*\.long_branch\.f1> - .*: (18 00 41 e8|e8 41 00 18) ld r2,24\(r1\) - .*: (.. .. ff 4b|4b ff .. ..) bl .* -@@ -72,7 +72,7 @@ Disassembly of section \.text: - - .* : - .*: (02 10 40 3c|3c 40 10 02) lis r2,4098 --.*: (00 90 42 38|38 42 90 00) addi r2,r2,-28672 -+.*:.* - .*: (.. .. ff 4b|4b ff .. ..) bl .* - .*: (00 00 00 60|60 00 00 00) nop - .*: (.. .. ff 4b|4b ff .. ..) bl .* <.*\.long_branch\.f1> -@@ -91,6 +91,6 @@ Disassembly of section \.text\.ext: - - 8000000000000000 : - 8000000000000000: (02 10 40 3c|3c 40 10 02) lis r2,4098 --8000000000000004: (00 90 42 38|38 42 90 00) addi r2,r2,-28672 -+8000000000000004:.* - 8000000000000008: (00 00 00 60|60 00 00 00) nop - 800000000000000c: (20 00 80 4e|4e 80 00 20) blr -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-powerpc/powerpc.exp binutils-2.39-new/ld/testsuite/ld-powerpc/powerpc.exp ---- binutils-2.39/ld/testsuite/ld-powerpc/powerpc.exp 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-powerpc/powerpc.exp 2022-10-30 12:41:34.556023785 +0100 -@@ -89,6 +89,10 @@ proc supports_ppc64 { } { - } + set ppc64elftests { +@@ -192,200 +133,6 @@ set ppc64elftests { + "-a64 --defsym TLSMARK=1" {tls.s tlslib.s} + {{objdump -dr tls.d} {objdump -sj.got tls.g} {objdump -sj.tdata tls.t}} + "tlsm"} +- {"TLS static exec" "-melf64ppc --no-plt-align" "" "-a64" {tls.s tlslib.s} +- {{objdump -dr tls.d} {objdump -sj.got tls.g} {objdump -sj.tdata tls.t}} +- "tls"} +- {"TLS static exec (--no-tls-optimize)" "-melf64ppc --no-tls-optimize --no-plt-align" "" +- "-a64 --defsym TLSMARK=1" {tls.s tlslib.s} +- {{objdump -dr tlsno.d} {objdump -sj.got tlsno.g} {objdump -sj.tdata tls.t}} +- "tlsno"} +- {"TLS helper shared library" "-shared -melf64ppc tmpdir/tlslib.o" "" "" {} +- {} "libtlslib.so"} +- {"TLS helper old shared lib" "-shared -melf64ppc" "" "-a64" {oldtlslib.s} +- {} "liboldlib.so"} +- {"TLS dynamic exec" "-melf64ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tls.o tmpdir/libtlslib.so" "" "" {} +- {{readelf -WSsrl tlsexe.r} {objdump -dr tlsexe.d} +- {objdump -sj.got tlsexe.g} {objdump -sj.tdata tlsexe.t}} +- "tlsexe"} +- {"TLS dynamic old" "-melf64ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tls.o tmpdir/liboldlib.so" "" "" {} +- {{readelf -WSsrl tlsexe.r} {objdump -dr tlsexe.d} +- {objdump -sj.got tlsexe.g} {objdump -sj.tdata tlsexe.t}} +- "tlsexeold"} +- {"TLS dynamic exec (--no-tls-optimize)" "-melf64ppc --no-tls-optimize --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tls.o tmpdir/libtlslib.so" "" "" {} +- {{readelf -WSsrl tlsexeno.r} {objdump -dr tlsexeno.d} +- {objdump -sj.got tlsexeno.g} {objdump -sj.tdata tlsexe.t}} +- "tlsexeno"} +- {"TLS shared" "-shared -melf64ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv -z notext tmpdir/tls.o" "" "" {} +- {{readelf -WSsrl tlsso.r} {objdump -dr tlsso.d} +- {objdump -sj.got tlsso.g} {objdump -sj.tdata tlsso.t}} +- "tls.so"} +- {"TLSTOC static exec" "-melf64ppc tmpdir/tlslib.o" "" "-a64" {tlstoc.s} +- {{objdump -dr tlstoc.d} {objdump -sj.got tlstoc.g} +- {objdump -sj.tdata tlstoc.t}} +- "tlstoc"} +- {"TLSTOC static exec (--no-tls-optimize)" "-melf64ppc --no-tls-optimize tmpdir/tlslib.o tmpdir/tlstoc.o" "" "" {} +- {{objdump -dr tlstocno.d} {objdump -sj.got tlstocno.g} +- {objdump -sj.tdata tlstoc.t}} +- "tlstocno"} +- {"TLSTOC dynamic exec" "-melf64ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tlstoc.o tmpdir/libtlslib.so" "" +- "" {} +- {{readelf -WSsrl tlsexetoc.r} {objdump -dr tlsexetoc.d} +- {objdump -sj.got tlsexetoc.g} {objdump -sj.tdata tlsexetoc.t}} +- "tlsexetoc"} +- {"TLSTOC dynamic old" "-melf64ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tlstoc.o tmpdir/liboldlib.so" "" +- "" {} +- {{readelf -WSsrl tlsexetoc.r} {objdump -dr tlsexetoc.d} +- {objdump -sj.got tlsexetoc.g} {objdump -sj.tdata tlsexetoc.t}} +- "tlsexetocold"} +- {"TLSTOC dynamic exec (--no-tls-optimize)" "-melf64ppc --no-tls-optimize --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tlstoc.o tmpdir/libtlslib.so" "" +- "" {} +- {{readelf -WSsrl tlsexetoc.r} {objdump -dr tlsexetocno.d} +- {objdump -sj.got tlsexetocno.g} {objdump -sj.tdata tlsexetoc.t}} +- "tlsexetocno"} +- {"TLSTOC shared" "-shared -melf64ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv -z notext tmpdir/tlstoc.o" "" "" {} +- {{readelf -WSsrl tlstocso.r} {objdump -dr tlstocso.d} +- {objdump -sj.got tlstocso.g} {objdump -sj.tdata tlstocso.t}} +- "tlstoc.so"} +- {"TLS dynamic exec (--tls-get-addr-regsave)" "-melf64ppc --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv --tls-get-addr-regsave tmpdir/tls.o tmpdir/libtlslib.so" "" "" {} +- {{readelf -WSsrl tlsexers.r} {objdump -dr tlsexers.d} +- {objdump -sj.got tlsexe.g} {objdump -sj.tdata tlsexe.t}} +- "tlsexers"} +- {"TLS dynamic exec (--no-tls-optimize --tls-get-addr-regsave)" "-melf64ppc --no-tls-optimize --tls-get-addr-regsave --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tls.o tmpdir/libtlslib.so" "" "" {} +- {{readelf -WSsrl tlsexenors.r} {objdump -dr tlsexenors.d} +- {objdump -sj.got tlsexeno.g} {objdump -sj.tdata tlsexe.t}} +- "tlsexenors"} +- {"TLSTOC dynamic exec (--tls-get-addr-regsave)" "-melf64ppc --tls-get-addr-regsave --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tlstoc.o tmpdir/libtlslib.so" "" +- "" {} +- {{readelf -WSsrl tlsexetocrs.r} {objdump -dr tlsexetocrs.d} +- {objdump -sj.got tlsexetoc.g} {objdump -sj.tdata tlsexetoc.t}} +- "tlsexetocrs"} +- {"TLSTOC dynamic exec (--no-tls-optimize --tls-get-addr-regsave)" "-melf64ppc --no-tls-optimize --tls-get-addr-regsave --no-plt-align --no-ld-generated-unwind-info --hash-style=sysv tmpdir/tlstoc.o tmpdir/libtlslib.so" "" +- "" {} +- {{readelf -WSsrl tlsexetocrs.r} {objdump -dr tlsexetocnors.d} +- {objdump -sj.got tlsexetocno.g} {objdump -sj.tdata tlsexetoc.t}} +- "tlsexetocnors"} +- {"TLS markers" "-melf64ppc" "" "-a64" {tlsmark.s tlslib.s} +- {{objdump -dr tlsmark.d}} +- "tlsmark"} +- {"TLS opt 1" "-melf64ppc" "" "-a64" {tlsopt1.s tlslib.s} +- {{objdump -dr tlsopt1.d}} +- "tlsopt1"} +- {"TLS opt 2" "-melf64ppc" "" "-a64" {tlsopt2.s tlslib.s} +- {{objdump -dr tlsopt2.d}} +- "tlsopt2"} +- {"TLS opt 3" "-melf64ppc" "" "-a64" {tlsopt3.s tlslib.s} +- {{objdump -dr tlsopt3.d}} +- "tlsopt3"} +- {"TLS opt 4" "-melf64ppc" "" "-a64" {tlsopt4.s tlslib.s} +- {{objdump -dr tlsopt4.d}} +- "tlsopt4"} +- {"TLS DLL" "-shared -melf64ppc --version-script tlsdll.ver" "" "-a64" {tlsdll.s} +- {} "tlsdll.so"} +- {"TLS opt 5" "-melf64ppc -shared --hash-style=both --gc-sections --no-plt-localentry tmpdir/tlsdll.so" "" "-a64" {tlsopt5.s} +- {{objdump -dr tlsopt5.d} {readelf -wf tlsopt5.wf}} +- "tlsopt5"} +- {"TLS opt 6" "-melf64ppc -shared --hash-style=both --gc-sections --no-plt-localentry --tls-get-addr-regsave tmpdir/tlsdll.so" "" "-a64" {tlsopt5.s} +- {{objdump -dr tlsopt6.d} {readelf -wf tlsopt6.wf}} +- "tlsopt6"} +- {"TLSdesc" "-melf64ppc -shared --hash-style=both --no-plt-localentry tmpdir/libtlslib.so" "" "-a64" {tlsdesc.s} +- {{objdump -dr tlsdesc.d} {readelf -wf tlsdesc.wf}} +- "tlsdesc"} +- {"TLSdesc2" "-melf64ppc -shared --hash-style=both --no-plt-localentry tmpdir/tlsdll.so" "" "-a64" {tlsdesc.s} +- {{objdump -dr tlsdesc2.d} {readelf -wf tlsdesc2.wf}} +- "tlsdesc2"} +- {"TLSdesc3" "-melf64ppc --no-tls-optimize tmpdir/tlsdll.o" "" "-a64" {tlsdesc.s} +- {{objdump -dr tlsdesc3.d} {readelf -wf tlsdesc3.wf}} +- "tlsdesc3"} +- {"TLSdesc4" "-melf64ppc --no-tls-optimize tmpdir/tlsdll.o" "" "-a64" {tlsdesc4.s} +- {{objdump -dr tlsdesc4.d} {readelf -wf tlsdesc4.wf}} +- "tlsdesc4"} +- {"tlsget" "-shared --hash-style=both -melf64ppc --plt-align=0" "tmpdir/tlsdll.so" "-a64 -mpower10" {tlsget.s} +- {{objdump -dr tlsget.d} {readelf -wf tlsget.wf}} +- "tlsget.so"} +- {"tlsget2" "-shared --hash-style=both -melf64ppc --plt-align=0 --power10-stubs=yes" "tmpdir/tlsdll.so" "-a64 -mpower10" {tlsget.s} +- {{objdump -dr tlsget2.d} {readelf -wf tlsget2.wf}} +- "tlsget2.so"} +- {"sym@tocbase" "-shared -melf64ppc" "" "-a64" {symtocbase-1.s symtocbase-2.s} +- {{objdump -dj.data symtocbase.d}} "symtocbase.so"} +- {"TOC opt" "-melf64ppc" "" "-a64" {tocopt.s} +- {{ld tocopt.out} {objdump -s tocopt.d}} "tocopt"} +- {"TOC opt2" "-melf64ppc --defsym x=2" "" "-a64" {tocopt2.s} +- {{ld tocopt2.out} {objdump -s tocopt2.d}} "tocopt2"} +- {"TOC opt3" "-melf64ppc -no-keep-memory --defsym x=2" "" "-a64" {tocopt3.s} +- {{objdump -s tocopt3.d}} "tocopt3"} +- {"TOC opt4" "-melf64ppc -no-keep-memory --defsym x=2" "" "-a64" +- {tocopt4a.s tocopt4b.s} {{objdump -s tocopt4.d}} "tocopt4"} +- {"TOC opt5" "-melf64ppc" "" "-a64" {tocopt5.s} +- {{objdump -s tocopt5.d}} "tocopt5"} +- {"TOC opt6" "-melf64ppc" "" "-a64" {tocopt6a.s tocopt6b.s tocopt6c.s} +- {{objdump -d tocopt6.d}} "tocopt6"} +- {"TOC opt7" "-melf64ppc" "" "-a64 -mpower9" {tocopt7.s} +- {{ld tocopt7.out} {objdump -s tocopt7.d}} "tocopt7"} +- {"TOC opt8" "-melf64ppc" "" "-a64 -mpower9" {tocopt8.s} +- {{objdump -s tocopt8.d}} "tocopt8"} +- {"tocsave lib" "-shared -melf64ppc" "" "-a64" {tocsavelib.s} +- {} "tocsavelib.so"} +- {"tocsave1 shared" "-melf64ppc" "tmpdir/tocsavelib.so" "-a64" {tocsave1.s} +- {{objdump -dr tocsave1s.d}} "tocsave1s"} +- {"tocsave1 static" "-melf64ppc" "tmpdir/tocsavelib.o" "-a64" {tocsave1.s} +- {{objdump -dr tocsave1a.d}} "tocsave1a"} +- {"tocsave2 shared" "-melf64ppc" "tmpdir/tocsavelib.so" "-a64" {tocsave2.s} +- {{objdump -dr tocsave2s.d}} "tocsave2s"} +- {"tocsave2 static" "-melf64ppc" "tmpdir/tocsavelib.o" "-a64" {tocsave2.s} +- {{objdump -dr tocsave2a.d}} "tocsave2a"} +- {"ambig shared v1" "-shared -melf64ppc" "" "-a64" {funv1.s} {} "funv1.so"} +- {"ambig shared v2" "-shared -melf64ppc" "" "-a64" {funv2.s} {} "funv2.so"} +- {"notoc ext" "" "" "-a64" {ext.s} {} ""} +- {"notoc" "-melf64ppc --no-plt-localentry --no-power10-stubs -T ext.lnk" +- "" "-a64" {notoc.s} +- {{objdump -d notoc.d} {readelf {-wf -W} notoc.wf}} "notoc"} +- {"notoc2" "-melf64ppc -shared" "" "-a64 -mpower10" {notoc2.s} +- {{objdump {-d -Mpower10} notoc2.d}} "notoc2"} +- {"notoc3" "-melf64ppc --no-plt-localentry -T ext.lnk" "" +- "-a64 -mpower10" {notoc3.s} +- {{objdump -d notoc3.d} {readelf {-wf -W} notoc3.wf}} "notoc3"} +- {"pcrelopt" "-melf64ppc --hash-style=gnu" "tmpdir/symtocbase.so" +- "-a64 -mpower10" {pcrelopt.s} +- {{objdump {-d -Mpower10} pcrelopt.d} +- {readelf {-S --wide} pcrelopt.sec}} "pcrelopt" } +- {"group1" "-melf64ppc -e foo" "" "-a64" {group1.s group2.s group3.s} +- {{objdump {-d} group1.d} +- {readelf {-s} group1.sym}} "group1"} +- {"group2" "-melf64ppc -e foo" "" "-a64" {group2.s group1.s group3.s} +- {{objdump {-d} group2.d} +- {readelf {-s} group2.sym}} "group2"} +- {"group3" "-melf64ppc -e foo" "" "-a64" {group3.s group2.s group1.s} +- {{objdump {-d} group2.d} +- {readelf {-s} group3.sym}} "group3"} +- {"weak1" "-melf64ppc --hash-style=both" "" +- "-a64 -mpower10" {weak1.s} +- {{objdump -d weak1.d} {readelf {-srW} weak1.r}} "weak1"} +- {"weak1.so" "-shared -melf64ppc --hash-style=both" "" +- "-a64 -mpower10" {weak1.s} +- {{objdump -d weak1so.d} {readelf {-srW} weak1so.r}} "weak1.so"} +- {"startstop" "-shared -melf64ppc --hash-style=sysv --gc-sections -z start-stop-gc" "" +- "-a64 -mpower10" {startstop.s} +- {{objdump -d startstop.d} {readelf {-rW} startstop.r}} "startstop.so"} +- {"abs-static" "-melf64ppc -static --defsym a=1 --defsym 'HIDDEN(b=2)' --defsym c=0x123456789abcdef0" "" +- "-a64" {abs-reloc.s} +- {{objdump {-sdr} abs-static.d} +- {readelf {-rW} abs-static.r}} "abs-static"} +- {"abs-pie" "-melf64ppc -pie --hash-style=sysv --defsym a=1 --defsym 'HIDDEN(b=2)' --defsym c=0x123456789abcdef0" "" +- "-a64" {abs-reloc.s} +- {{objdump {-sdr} abs-pie.d} +- {readelf {-rW} abs-pie.r}} "abs-pie"} +- {"abs-shared" "-melf64ppc -shared --hash-style=sysv --defsym a=1 --defsym 'HIDDEN(b=2)' --defsym c=0x123456789abcdef0" "" +- "-a64" {abs-reloc.s} +- {{objdump {-sdr} abs-shared.d} +- {readelf {-rW} abs-shared.r}} "abs-shared"} +- {"abs-pie-relr" "-melf64ppc -pie --hash-style=sysv -z pack-relative-relocs --defsym a=1 --defsym 'HIDDEN(b=2)' --defsym c=0x123456789abcdef0" "" +- "-a64" {abs-reloc.s} +- {{objdump {-sdr} abs-pie-relr.d} +- {readelf {-rW} abs-pie-relr.r}} "abs-pie-relr"} +- {"abs-shared-relr" "-melf64ppc -shared --hash-style=sysv -z pack-relative-relocs --defsym a=1 --defsym 'HIDDEN(b=2)' --defsym c=0x123456789abcdef0" "" +- "-a64" {abs-reloc.s} +- {{objdump {-sdr} abs-shared-relr.d} +- {readelf {-rW} abs-shared-relr.r}} "abs-shared-relr"} } -+if { [istarget "powerpc*-*-linux*"] } { -+ return -+} -+ - # List contains test-items with 3 items followed by 2 lists: - # 0:name 1:ld early options 2:ld late options 3:assembler options - # 4:filenames of assembler files 5: action and options. 6: name of output file -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-s390/s390.exp binutils-2.39-new/ld/testsuite/ld-s390/s390.exp ---- binutils-2.39/ld/testsuite/ld-s390/s390.exp 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-s390/s390.exp 2022-10-30 12:41:34.556023785 +0100 -@@ -26,6 +26,8 @@ if { !([istarget "s390-*-*"] || [istarge - return + set ppceabitests { +@@ -404,15 +151,6 @@ set ppceabitests { + {"VLE multiple segments 5" "-melf32ppc -T vle-multiseg-5.ld" "" + "-a32 -mbig -mregnames -mvle" {vle-multiseg.s} + {{readelf "-l" vle-multiseg-5.d}} "vle-multiseg-5"} +- {"VLE relocations 1" "-melf32ppc -T vle.ld" "" +- "-a32 -mbig -mvle" {vle-reloc-1.s vle-reloc-def-1.s} +- {{objdump "-Mvle -d" vle-reloc-1.d}} "vle-reloc-1"} +- {"VLE relocations 2" "-melf32ppc -T vle.ld" "" +- "-a32 -mbig -mvle" {vle-reloc-2.s vle-reloc-def-2.s} +- {{objdump "-Mvle -d" vle-reloc-2.d}} "vle-reloc-2"} +- {"VLE relocations 3" "-melf32ppc -T vle.ld" "" +- "-a32 -mbig -mvle" {vle-reloc-3.s vle-reloc-def-3.s} +- {{objdump "-Mvle -d" vle-reloc-3.d}} "vle-reloc-3"} } + if [istarget "powerpc*le*-*-*"] then { +@@ -439,6 +177,8 @@ if [istarget "powerpc*le*-*-*"] then { + + run_ld_link_tests $ppcelftests + +return + - # List contains test-items with 3 items followed by 2 lists: - # 0:name 1:ld early options 2:ld late options 3:assembler options - # 4:filenames of assembler files 5: action and options. 6: name of output file -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-scripts/crossref.exp binutils-2.39-new/ld/testsuite/ld-scripts/crossref.exp ---- binutils-2.39/ld/testsuite/ld-scripts/crossref.exp 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-scripts/crossref.exp 2022-10-30 12:41:34.551023785 +0100 -@@ -141,6 +141,8 @@ set exec_output [prune_warnings $exec_ou + if [ supports_ppc64 ] then { + run_ld_link_tests $ppc64elftests + run_dump_test "relbrlt" +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-powerpc/tls32.d binutils-2.41-new/ld/testsuite/ld-powerpc/tls32.d +--- binutils-2.41/ld/testsuite/ld-powerpc/tls32.d 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-powerpc/tls32.d 2023-10-17 08:36:17.902116776 +0200 +@@ -9,11 +9,11 @@ - regsub -all "(^|\n)($ld: warning: cannot find entry symbol\[^\n\]*\n?)" $exec_output "\\1" exec_output + Disassembly of section \.text: -+setup_xfail i686*-*-* +-0+18000a0 <_start>: ++0+18[0-9a-f]+ <_start>: + .*: (42 9f 00 05|05 00 9f 42) bcl 20,4\*cr7\+so,.* <_start\+0x4> + .*: (7f c8 02 a6|a6 02 c8 7f) mflr r30 + .*: (3f de 00 02|02 00 de 3f) addis r30,r30,2 +-.*: (3b de 80 a0|a0 80 de 3b) addi r30,r30,-32608 ++.*: (3b de 80 a0|.. 80 de 3b) addi r30,r30,.* + .*: (60 00 00 00|00 00 00 60) nop + .*: (38 62 90 3c|3c 90 62 38) addi r3,r2,-28612 + .*: (60 00 00 00|00 00 00 60) nop +@@ -43,5 +43,5 @@ Disassembly of section \.text: + .*: (60 00 00 00|00 00 00 60) nop + .*: (a9 42 90 18|18 90 42 a9) lha r10,-28648\(r2\) + +-0+1800120 <__tls_get_addr>: ++0+18[0-9a-f]+ <__tls_get_addr>: + .*: (4e 80 00 20|20 00 80 4e) blr +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-powerpc/tls32.g binutils-2.41-new/ld/testsuite/ld-powerpc/tls32.g +--- binutils-2.41/ld/testsuite/ld-powerpc/tls32.g 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-powerpc/tls32.g 2023-10-17 08:36:17.905116936 +0200 +@@ -8,4 +8,4 @@ + .* + + Contents of section \.got: +- 1810144 00000000 00000000 00000000 .* ++ 18..... 00000000 00000000 00000000 .* +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-powerpc/tls32no.d binutils-2.41-new/ld/testsuite/ld-powerpc/tls32no.d +--- binutils-2.41/ld/testsuite/ld-powerpc/tls32no.d 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-powerpc/tls32no.d 2023-10-17 08:36:17.905116936 +0200 +@@ -9,11 +9,11 @@ + + Disassembly of section \.text: + +-0+18000a0 <_start>: ++0+18..... <_start>: + .*: (42 9f 00 05|05 00 9f 42) bcl .* + .*: (7f c8 02 a6|a6 02 c8 7f) mflr r30 + .*: (3f de 00 02|02 00 de 3f) addis r30,r30,2 +-.*: (3b de 80 a0|a0 80 de 3b) addi r30,r30,-32608 ++.*: (3b de 80 a0|.. 80 de 3b) addi r30,r30,-[0-9]+ + .*: (38 7f ff e4|e4 ff 7f 38) addi r3,r31,-28 + .*: (48 00 00 6d|6d 00 00 48) bl .* + .*: (38 7f ff f8|f8 ff 7f 38) addi r3,r31,-8 +@@ -43,5 +43,5 @@ Disassembly of section \.text: + .*: (3d 22 00 00|00 00 22 3d) addis r9,r2,0 + .*: (a9 49 90 18|18 90 49 a9) lha r10,-28648\(r9\) + +-0+1800120 <__tls_get_addr>: ++0+18..... <__tls_get_addr>: + .*: (4e 80 00 20|20 00 80 4e) blr +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-powerpc/tls32no.g binutils-2.41-new/ld/testsuite/ld-powerpc/tls32no.g +--- binutils-2.41/ld/testsuite/ld-powerpc/tls32no.g 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-powerpc/tls32no.g 2023-10-17 08:36:17.905116936 +0200 +@@ -8,6 +8,4 @@ + .* + + Contents of section \.got: +- 1810144 (0+01 f+8000 0+01 f+803c|010+ 0080f+ 010+ 3c80f+) .* +- 1810154 (0+01 f+8020 f+9030 0+01|010+ 2080f+ 3090f+ 010+) .* +- 1810164 0+ 0+ 0+ 0+0 .* ++#pass +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-powerpc/tls32.t binutils-2.41-new/ld/testsuite/ld-powerpc/tls32.t +--- binutils-2.41/ld/testsuite/ld-powerpc/tls32.t 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-powerpc/tls32.t 2023-10-17 08:36:17.905116936 +0200 +@@ -8,5 +8,5 @@ + .* + + Contents of section \.tdata: +- 1810124 (12345678|78563412) (23456789|89674523) (3456789a|9a785634) (456789ab|ab896745) .* +- 1810134 (56789abc|bc9a7856) (6789abcd|cdab8967) (789abcde|debc9a78) (00c0ffee|eeffc000) .* ++#pass + - if [string match "" $exec_output] then { - pass $test3 - } else { -@@ -181,6 +183,8 @@ set exec_output [prune_warnings $exec_ou +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-powerpc/tls.d binutils-2.41-new/ld/testsuite/ld-powerpc/tls.d +--- binutils-2.41/ld/testsuite/ld-powerpc/tls.d 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-powerpc/tls.d 2023-10-17 08:36:17.904116883 +0200 +@@ -9,7 +9,7 @@ - regsub -all "(^|\n)($ld: warning: cannot find entry symbol\[^\n\]*\n?)" $exec_output "\\1" exec_output + Disassembly of section \.text: -+setup_xfail i686*-*-* +-0+100000e8 <\._start>: ++0+100..... <\._start>: + .*: (60 00 00 00|00 00 00 60) nop + .*: (38 6d 90 78|78 90 6d 38) addi r3,r13,-28552 + .*: (60 00 00 00|00 00 00 60) nop +@@ -49,5 +49,5 @@ Disassembly of section \.text: + .*: (60 00 00 00|00 00 00 60) nop + .*: (a9 4d 90 30|30 90 4d a9) lha r10,-28624\(r13\) + +-0+10000180 <\.__tls_get_addr>: ++0+100..... <\.__tls_get_addr>: + .*: (4e 80 00 20|20 00 80 4e) blr +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-s390/s390.exp binutils-2.41-new/ld/testsuite/ld-s390/s390.exp +--- binutils-2.41/ld/testsuite/ld-s390/s390.exp 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-s390/s390.exp 2023-10-17 08:36:17.903116830 +0200 +@@ -35,6 +35,8 @@ if { !([istarget "s390-*-*"] || [istarge + # nm: Apply nm options on result. Compare with regex (last arg). + # readelf: Apply readelf options on result. Compare with regex (last arg). + ++return + - if [string match "" $exec_output] then { - pass $test6 - } else { -@@ -193,6 +197,8 @@ set exec_output [prune_warnings $exec_ou - - regsub -all "(^|\n)($ld: warning: cannot find entry symbol\[^\n\]*\n?)" $exec_output "\\1" exec_output - -+setup_xfail i686*-*-* -+ - if [string match "" $exec_output] then { - fail $test7 - } else { -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-shared/shared.exp binutils-2.39-new/ld/testsuite/ld-shared/shared.exp ---- binutils-2.39/ld/testsuite/ld-shared/shared.exp 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-shared/shared.exp 2022-10-30 12:41:34.551023785 +0100 -@@ -36,9 +36,6 @@ if { ![istarget hppa*64*-*-hpux*] \ - && ![istarget hppa*-*-linux*] \ - && ![istarget i?86-*-sysv4*] \ - && ![istarget i?86-*-unixware] \ -- && ![istarget i?86-*-elf*] \ -- && ![istarget i?86-*-linux*] \ -- && ![istarget i?86-*-gnu*] \ - && ![istarget *-*-nacl*] \ - && ![istarget ia64-*-elf*] \ - && ![istarget ia64-*-linux*] \ -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-vsb/vsb.exp binutils-2.39-new/ld/testsuite/ld-vsb/vsb.exp ---- binutils-2.39/ld/testsuite/ld-vsb/vsb.exp 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-vsb/vsb.exp 2022-10-30 12:41:34.558023785 +0100 -@@ -123,6 +123,10 @@ if { [istarget *-*-linux*] + set s390tests { + {"TLS -fpic -shared transitions" "-shared -melf_s390 --hash-style=sysv" "" + "-m31" {tlspic1.s tlspic2.s} +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-scripts/crossref.exp binutils-2.41-new/ld/testsuite/ld-scripts/crossref.exp +--- binutils-2.41/ld/testsuite/ld-scripts/crossref.exp 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-scripts/crossref.exp 2023-10-17 08:36:17.903116830 +0200 +@@ -121,6 +121,10 @@ if [string match "" $exec_output] then { } } -+if { [istarget "i?86-*-*"] } { -+ set support_protected "no" ++if { [istarget "i686-*-*"] } { ++ return +} + - # The test procedure. - proc visibility_test { visibility progname testname main sh1 sh2 dat args } { - global CC_FOR_TARGET -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-x86-64/pr22001-1b.err binutils-2.39-new/ld/testsuite/ld-x86-64/pr22001-1b.err ---- binutils-2.39/ld/testsuite/ld-x86-64/pr22001-1b.err 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-x86-64/pr22001-1b.err 2022-10-30 12:41:34.555023785 +0100 + # Check cross references for ld -r + + if { ![ld_compile "$CC_FOR_TARGET $NOSANITIZE_CFLAGS $NOLTO_CFLAGS" "$srcdir/$subdir/cross4.c" tmpdir/cross4.o] } { +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-scripts/ld-version-2.d binutils-2.41-new/ld/testsuite/ld-scripts/ld-version-2.d +--- binutils-2.41/ld/testsuite/ld-scripts/ld-version-2.d 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-scripts/ld-version-2.d 2023-10-17 08:36:17.897116510 +0200 +@@ -4,4 +4,4 @@ + # target: [is_elf_format] + + String dump of section '.comment': +-.*GNU ld \(.*\) 2.* ++.*GNU ld .* 2.* +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-scripts/ld-version.d binutils-2.41-new/ld/testsuite/ld-scripts/ld-version.d +--- binutils-2.41/ld/testsuite/ld-scripts/ld-version.d 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-scripts/ld-version.d 2023-10-17 08:36:17.897116510 +0200 +@@ -4,4 +4,4 @@ + # target: [is_elf_format] + + String dump of section '.comment': +-.*GNU ld \(.*\) 2.* ++.*GNU ld .* 2.* +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-shared/shared.exp binutils-2.41-new/ld/testsuite/ld-shared/shared.exp +--- binutils-2.41/ld/testsuite/ld-shared/shared.exp 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-shared/shared.exp 2023-10-17 08:36:17.904116883 +0200 +@@ -204,6 +204,10 @@ if { [istarget mips*-*-*] && ! [at_least + } + verbose "Using $picflag to compile PIC code" + ++if { [istarget "i686-*-*"] } { ++ return ++} ++ + # Compile the main program. + if ![ld_compile "$CC_FOR_TARGET $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o] { + unsupported "shared (non PIC)" +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-srec/srec.exp binutils-2.41-new/ld/testsuite/ld-srec/srec.exp +--- binutils-2.41/ld/testsuite/ld-srec/srec.exp 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-srec/srec.exp 2023-10-17 08:36:17.904116883 +0200 +@@ -442,6 +442,9 @@ setup_xfail "csky*-*-*" + # The S-record linker is not supported for eBPF. + setup_xfail "bpf-*-*" + ++setup_xfail "s390*-*-*" ++setup_xfail "i686-*-*" ++ + run_srec_test $test1 "tmpdir/sr1.o tmpdir/sr2.o" + + # Now try linking a C++ program with global constructors and +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-vsb/vsb.exp binutils-2.41-new/ld/testsuite/ld-vsb/vsb.exp +--- binutils-2.41/ld/testsuite/ld-vsb/vsb.exp 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-vsb/vsb.exp 2023-10-17 08:36:17.904116883 +0200 +@@ -29,6 +29,10 @@ if { ![check_compiler_available] } { + return + } + ++if { [istarget "i686-*-*"] } { ++ return ++} ++ + # This test can only be run on a couple of ELF platforms or with + # XCOFF formats. + # Square bracket expressions seem to confuse istarget. +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-x86-64/plt-main-ibt.dd binutils-2.41-new/ld/testsuite/ld-x86-64/plt-main-ibt.dd +--- binutils-2.41/ld/testsuite/ld-x86-64/plt-main-ibt.dd 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-x86-64/plt-main-ibt.dd 2023-10-17 08:36:17.898116563 +0200 +@@ -1,7 +1,3 @@ + #... +-Disassembly of section .plt.got: + +-[a-f0-9]+ <[_a-z]+@plt>: +-[ ]*[a-f0-9]+: f3 0f 1e fa endbr64 +-[ ]*[a-f0-9]+: ff 25 .. .. 3f 00 jmp +\*0x3f....\(%rip\) # ...... <.*> + #pass +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-x86-64/pr22001-1b.err binutils-2.41-new/ld/testsuite/ld-x86-64/pr22001-1b.err +--- binutils-2.41/ld/testsuite/ld-x86-64/pr22001-1b.err 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-x86-64/pr22001-1b.err 2023-10-17 08:36:17.897116510 +0200 @@ -1,2 +1,2 @@ -.*relocation R_X86_64_32S against symbol `copy' can not be used when making a P(D|I)E object; recompile with -fPIE -+.*relocation R_X86_64_(PC32|32S) against symbol `copy' can not be used when making a P(D|I)E object; recompile with -fPIE ++.*relocation R_X86_64_.* against symbol `copy' can not be used when making a P(D|I)E object; recompile with -fPIE #... -diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-x86-64/x86-64.exp binutils-2.39-new/ld/testsuite/ld-x86-64/x86-64.exp ---- binutils-2.39/ld/testsuite/ld-x86-64/x86-64.exp 2022-07-26 09:13:10.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/ld-x86-64/x86-64.exp 2022-10-30 12:41:34.560023785 +0100 -@@ -1376,14 +1376,6 @@ if { [isnative] && [check_compiler_avail - "libprotected-func-2b.so" \ +diff -rupN --no-dereference binutils-2.41/ld/testsuite/ld-x86-64/x86-64.exp binutils-2.41-new/ld/testsuite/ld-x86-64/x86-64.exp +--- binutils-2.41/ld/testsuite/ld-x86-64/x86-64.exp 2023-07-03 01:00:00.000000000 +0200 ++++ binutils-2.41-new/ld/testsuite/ld-x86-64/x86-64.exp 2023-10-17 08:36:17.898116563 +0200 +@@ -1386,7 +1386,7 @@ if { [isnative] && [check_compiler_avail + "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/libprotected-func-2b.so" \ + "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \ + { protected-func-1b.c } \ +- {{error_output "pr28875-func.err"}} \ ++ {} \ + "protected-func-2" \ ] \ [list \ -- "Build protected-func-2 without PIE" \ -- "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/libprotected-func-2b.so" \ -- "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \ -- { protected-func-1b.c } \ +@@ -1402,7 +1402,7 @@ if { [isnative] && [check_compiler_avail + "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/libprotected-func-2c.so" \ + "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \ + { protected-func-1b.c } \ - {{error_output "pr28875-func.err"}} \ -- "protected-func-2" \ -- ] \ -- [list \ - "Build libprotected-func-2c.so" \ - "-shared" \ - "-fPIC -Wa,-mx86-used-note=yes" \ -@@ -1392,14 +1384,6 @@ if { [isnative] && [check_compiler_avail - "libprotected-func-2c.so" \ ++ {} \ + "protected-func-2a" \ ] \ [list \ -- "Build protected-func-2a without PIE" \ -- "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/libprotected-func-2c.so" \ -- "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \ -- { protected-func-1b.c } \ -- {{error_output "pr28875-func.err"}} \ -- "protected-func-2a" \ -- ] \ -- [list \ - "Build libprotected-data-1a.so" \ - "-shared -z noindirect-extern-access" \ - "-fPIC -Wa,-mx86-used-note=yes" \ -@@ -1999,103 +1983,6 @@ if { [isnative] && [check_compiler_avail - if { [istarget "x86_64-*-linux*"] \ - && ![istarget "x86_64-*-linux*-gnux32"]} { - -- run_cc_link_tests [list \ -- [list \ -- "Build plt-main with -z bndplt" \ -- "tmpdir/plt-main1.o tmpdir/plt-main2.o tmpdir/plt-main3.o \ -- tmpdir/plt-main4.o tmpdir/libplt-lib.so -Wl,-z,bndplt \ -- -Wl,-z,noseparate-code,-z,max-page-size=0x200000" \ -- "-Wa,-mx86-used-note=yes $NOCF_PROTECTION_CFLAGS" \ -- { plt-main5.c } \ -- {{objdump {-drw} plt-main-bnd.dd}} \ -- "plt-main-bnd" \ -- ] \ -- [list \ -- "Build plt-main with PIE and -z bndplt" \ -- "tmpdir/plt-main1.o tmpdir/plt-main2.o tmpdir/plt-main3.o \ -- tmpdir/plt-main4.o tmpdir/libplt-lib.so -pie \ -- -Wl,-z,bndplt,-z,noseparate-code \ -- -Wl,-z,max-page-size=0x200000" \ -- "-fPIC -Wa,-mx86-used-note=yes $NOCF_PROTECTION_CFLAGS" \ -- { plt-main5.c } \ -- {{objdump {-drw} plt-main-bnd.dd}} \ -- "plt-main-pie-bnd" \ -- ] \ -- [list \ -- "Build plt-main with -z bndplt -z now" \ -- "tmpdir/plt-main1.o tmpdir/plt-main2.o tmpdir/plt-main3.o \ -- tmpdir/plt-main4.o tmpdir/libplt-lib.so -Wl,-z,bndplt \ -- -Wl,-z,now,-z,noseparate-code,-z,max-page-size=0x200000" \ -- "-Wa,-mx86-used-note=yes $NOCF_PROTECTION_CFLAGS" \ -- { plt-main5.c } \ -- {{readelf {-SW} plt-main-bnd-now.rd} {objdump {-drw} plt-main-bnd.dd}} \ -- "plt-main-bnd-now" \ -- ] \ -- [list \ -- "Build plt-main with PIE and -z bndplt -z now" \ -- "tmpdir/plt-main1.o tmpdir/plt-main2.o tmpdir/plt-main3.o \ -- tmpdir/plt-main4.o tmpdir/libplt-lib.so -pie \ -- -Wl,-z,bndplt,-z,now,-z,noseparate-code \ -- -Wl,-z,max-page-size=0x200000" \ -- "-fPIC -Wa,-mx86-used-note=yes $NOCF_PROTECTION_CFLAGS" \ -- { plt-main5.c } \ -- {{readelf {-SW} plt-main-bnd-now.rd} {objdump {-drw} plt-main-bnd.dd}} \ -- "plt-main-pie-bnd-now" \ -- ] \ -- ] -- -- run_ld_link_exec_tests [list \ -- [list \ -- "Run plt-main with -z bndplt" \ -- "-Wl,--no-as-needed,-z,bndplt tmpdir/plt-main1.o \ -- tmpdir/plt-main2.o tmpdir/plt-main3.o \ -- tmpdir/plt-main4.o tmpdir/libplt-lib.so" \ -- "-Wa,-mx86-used-note=yes" \ -- { plt-main5.c } \ -- "plt-main-bnd" \ -- "plt-main.out" \ -- ] \ -- [list \ -- "Run plt-main with PIE and -z bndplt" \ -- "-Wl,--no-as-needed,-z,bndplt -pie tmpdir/plt-main1.o \ -- tmpdir/plt-main2.o tmpdir/plt-main3.o \ -- tmpdir/plt-main4.o tmpdir/libplt-lib.so" \ -- "-Wa,-mx86-used-note=yes" \ -- { plt-main5.c } \ -- "plt-main-pie-bnd" \ -- "plt-main.out" \ -- "-fPIC" \ -- ] \ -- [list \ -- "Run plt-main with -z bndplt -z now" \ -- "-Wl,--no-as-needed,-z,bndplt,-z,now tmpdir/plt-main1.o \ -- tmpdir/plt-main2.o tmpdir/plt-main3.o \ -- tmpdir/plt-main4.o tmpdir/libplt-lib.so" \ -- "-Wa,-mx86-used-note=yes" \ -- { plt-main5.c } \ -- "plt-main-bnd-now" \ -- "plt-main.out" \ -- ] \ -- [list \ -- "Run plt-main with PIE and -z bndplt -z now" \ -- "-Wl,--no-as-needed,-z,bndplt,-z,now -pie tmpdir/plt-main1.o \ -- tmpdir/plt-main2.o tmpdir/plt-main3.o \ -- tmpdir/plt-main4.o tmpdir/libplt-lib.so" \ -- "-Wa,-mx86-used-note=yes" \ -- { plt-main5.c } \ -- "plt-main-pie-bnd-now" \ -- "plt-main.out" \ -- "-fPIC" \ -- ] \ -- [list \ -- "Run pr20800" \ -- "-Wl,-z,now -pie" \ -- "-Wa,-mx86-used-note=yes" \ -- { pr20800a.S pr20800b.S } \ -- "pr20800" \ -- "pass.out" \ -- ] \ -- ] - if { [check_ifunc_attribute_available] } { - run_ld_link_exec_tests [list \ - [list \ -@@ -2128,132 +2015,6 @@ if { [isnative] && [check_compiler_avail - set pltdump {{objdump {-drw} plt-main-ibt.dd}} - set pltsecdump {{readelf {-SW} plt-main-ibt-now.rd} {objdump {-drw} plt-main-ibt.dd}} - } -- run_cc_link_tests [list \ -- [list \ -- "Build plt-main with -z ibtplt" \ -- "tmpdir/plt-main1.o tmpdir/plt-main2.o tmpdir/plt-main3.o \ -- tmpdir/plt-main4.o tmpdir/libplt-lib.so -Wl,-z,ibtplt \ -- -Wl,-z,noseparate-code,-z,max-page-size=0x200000" \ -- "-Wa,-mx86-used-note=yes" \ -- { plt-main5.c } \ -- $pltdump \ -- "plt-main-ibt" \ -- ] \ -- [list \ -- "Build plt-main with PIE and -z ibtplt" \ -- "tmpdir/plt-main1.o tmpdir/plt-main2.o tmpdir/plt-main3.o \ -- tmpdir/plt-main4.o tmpdir/libplt-lib.so -pie \ -- -Wl,-z,ibtplt,-z,noseparate-code \ -- -Wl,-z,max-page-size=0x200000" \ -- "-fPIC -Wa,-mx86-used-note=yes" \ -- { plt-main5.c } \ -- $pltdump \ -- "plt-main-pie-ibt" \ -- ] \ -- [list \ -- "Build plt-main with -z ibtplt -z now" \ -- "tmpdir/plt-main1.o tmpdir/plt-main2.o tmpdir/plt-main3.o \ -- tmpdir/plt-main4.o tmpdir/libplt-lib.so -Wl,-z,ibtplt \ -- -Wl,-z,now,-z,noseparate-code,-z,max-page-size=0x200000" \ -- "-Wa,-mx86-used-note=yes" \ -- { plt-main5.c } \ -- $pltsecdump \ -- "plt-main-ibt-now" \ -- ] \ -- [list \ -- "Build plt-main with PIE and -z ibtplt -z now" \ -- "tmpdir/plt-main1.o tmpdir/plt-main2.o tmpdir/plt-main3.o \ -- tmpdir/plt-main4.o tmpdir/libplt-lib.so -pie \ -- -Wl,-z,ibtplt,-z,now,-z,noseparate-code \ -- -Wl,-z,max-page-size=0x200000" \ -- "-fPIC -Wa,-mx86-used-note=yes" \ -- { plt-main5.c } \ -- $pltsecdump \ -- "plt-main-pie-ibt-now" \ -- ] \ -- [list \ -- "Build libibtplt-lib.so with -z ibtplt" \ -- "-shared -Wl,-z,ibtplt,-z,noseparate-code \ -- -Wl,-z,max-page-size=0x200000" \ -- "-fPIC -Wa,-mx86-used-note=yes" \ -- { plt-main1.c plt-main2.c plt-main3.c plt-main4.c} \ -- $pltdump \ -- "libibtplt-lib.so" \ -- ] \ -- [list \ -- "Build libibtplt--now-lib.so with -z ibtplt -z now" \ -- "-shared -Wl,-z,ibtplt,-z,now,-z,noseparate-code \ -- -Wl,-z,max-page-size=0x200000" \ -- "-fPIC -Wa,-mx86-used-note=yes" \ -- { plt-main1.c plt-main2.c plt-main3.c plt-main4.c} \ -- $pltdump \ -- "libibtplt-now-lib.so" \ -- ] \ -- ] -- -- run_ld_link_exec_tests [list \ -- [list \ -- "Run plt-main with -z ibtplt" \ -- "-Wl,--no-as-needed,-z,ibtplt tmpdir/plt-main1.o \ -- tmpdir/plt-main2.o tmpdir/plt-main3.o \ -- tmpdir/plt-main4.o tmpdir/libplt-lib.so" \ -- "-Wa,-mx86-used-note=yes" \ -- { plt-main5.c } \ -- "plt-main-ibt" \ -- "plt-main.out" \ -- ] \ -- [list \ -- "Run plt-main with PIE and -z ibtplt" \ -- "-Wl,--no-as-needed,-z,ibtplt -pie tmpdir/plt-main1.o \ -- tmpdir/plt-main2.o tmpdir/plt-main3.o \ -- tmpdir/plt-main4.o tmpdir/libplt-lib.so" \ -- "-Wa,-mx86-used-note=yes" \ -- { plt-main5.c } \ -- "plt-main-pie-ibt" \ -- "plt-main.out" \ -- "-fPIC" \ -- ] \ -- [list \ -- "Run plt-main with -z ibtplt -z now" \ -- "-Wl,--no-as-needed,-z,ibtplt,-z,now tmpdir/plt-main1.o \ -- tmpdir/plt-main2.o tmpdir/plt-main3.o \ -- tmpdir/plt-main4.o tmpdir/libplt-lib.so" \ -- "-Wa,-mx86-used-note=yes" \ -- { plt-main5.c } \ -- "plt-main-ibt-now" \ -- "plt-main.out" \ -- ] \ -- [list \ -- "Run plt-main with PIE and -z ibtplt -z now" \ -- "-Wl,--no-as-needed,-z,ibtplt,-z,now -pie tmpdir/plt-main1.o \ -- tmpdir/plt-main2.o tmpdir/plt-main3.o \ -- tmpdir/plt-main4.o tmpdir/libplt-lib.so" \ -- "-Wa,-mx86-used-note=yes" \ -- { plt-main5.c } \ -- "plt-main-pie-ibt-now" \ -- "plt-main.out" \ -- "-fPIC" \ -- ] \ -- [list \ -- "Run plt-main with libibtplt-lib.so -z ibtplt" \ -- "-Wl,--no-as-needed,-z,ibtplt tmpdir/libibtplt-lib.so \ -- tmpdir/libplt-lib.so" \ -- "-Wa,-mx86-used-note=yes" \ -- { plt-main5.c } \ -- "plt-main-ibt-lib" \ -- "plt-main.out" \ -- ] \ -- [list \ -- "Run plt-main with libibtplt-lib.so -z ibtplt -z now" \ -- "-Wl,--no-as-needed,-z,ibtplt,-z,now \ -- tmpdir/libibtplt-now-lib.so tmpdir/libplt-lib.so" \ -- "-Wa,-mx86-used-note=yes" \ -- { plt-main5.c } \ -- "plt-main-ibt-now-lib" \ -- "plt-main.out" \ -- ] \ -- ] -- - if { [check_ifunc_attribute_available] } { - run_ld_link_exec_tests [list \ - [list \ -@@ -2278,7 +2039,6 @@ if { [isnative] && [check_compiler_avail +@@ -2155,7 +2155,6 @@ if { [isnative] && [check_compiler_avail } } @@ -1237,32 +899,3 @@ diff -rupN --no-dereference binutils-2.39/ld/testsuite/ld-x86-64/x86-64.exp binu undefined_weak "-fPIE" "" undefined_weak "-fPIE" "-pie" undefined_weak "-fPIE" "-Wl,-z,nodynamic-undefined-weak" -diff -rupN --no-dereference binutils-2.39/ld/testsuite/lib/ld-lib.exp binutils-2.39-new/ld/testsuite/lib/ld-lib.exp ---- binutils-2.39/ld/testsuite/lib/ld-lib.exp 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/ld/testsuite/lib/ld-lib.exp 2022-10-30 12:41:34.558023785 +0100 -@@ -1670,6 +1670,10 @@ proc skip_ctf_tests { } { - return 1 - } - -+ if { [istarget "i?86-*-*"] } { -+ return 1 -+ } -+ - if [check_ctf_available] { - return 0 - } -diff -rupN --no-dereference binutils-2.39/libctf/testsuite/libctf-regression/libctf-repeat-cu.exp binutils-2.39-new/libctf/testsuite/libctf-regression/libctf-repeat-cu.exp ---- binutils-2.39/libctf/testsuite/libctf-regression/libctf-repeat-cu.exp 2022-07-08 11:46:48.000000000 +0200 -+++ binutils-2.39-new/libctf/testsuite/libctf-regression/libctf-repeat-cu.exp 2022-10-30 12:41:34.559023785 +0100 -@@ -97,9 +97,8 @@ if [is_remote host] { - set comp_output [prune_warnings [run_host_cmd "$CC_FOR_TARGET" "$CFLAGS_FOR_TARGET -gctf -fPIC -shared -o tmpdir/libctf-repeat-cu-main.so $src tmpdir/a.a tmpdir/b.a tmpdir/c.a"]] - if { $comp_output != "" } { - send_log "compilation of tmpdir/libctf-repeat-cu-main.so failed" -- perror "compilation of tmpdir/libctf-repeat-cu-main.so failed" -- fail $testname -- return $comp_output -+ unsupported "compilation of tmpdir/libctf-repeat-cu-main.so failed" -+ return 0 - } - - set comp_output [prune_warnings [run_host_cmd "$OBJDUMP" "--ctf tmpdir/libctf-repeat-cu-main.so > tmpdir/dump.out"]] diff --git a/SOURCES/binutils-version.patch b/SOURCES/binutils-version.patch index 01e7e41..eec61e3 100644 --- a/SOURCES/binutils-version.patch +++ b/SOURCES/binutils-version.patch @@ -1,7 +1,7 @@ -diff -rupN --no-dereference binutils-2.39/bfd/Makefile.am binutils-2.39-new/bfd/Makefile.am ---- binutils-2.39/bfd/Makefile.am 2022-07-08 11:46:47.000000000 +0200 -+++ binutils-2.39-new/bfd/Makefile.am 2022-10-30 12:41:21.707023724 +0100 -@@ -973,8 +973,8 @@ DISTCLEANFILES += $(BUILD_CFILES) $(BUIL +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 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.39/bfd/Makefile.am binutils-2.39-new/bfd/ bfd_version_package="\"$(PKGVERSION)\"" ;\ report_bugs_to="\"$(REPORT_BUGS_TO)\"" ;\ . $(srcdir)/development.sh ;\ -@@ -985,7 +985,7 @@ bfdver.h: $(srcdir)/version.h $(srcdir)/ +@@ -978,7 +978,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.39/bfd/Makefile.am binutils-2.39-new/bfd/ -e "s,@report_bugs_to@,$$report_bugs_to," \ < $(srcdir)/version.h > $@; \ echo "$${bfd_soversion}" > libtool-soversion -diff -rupN --no-dereference binutils-2.39/bfd/Makefile.in binutils-2.39-new/bfd/Makefile.in ---- binutils-2.39/bfd/Makefile.in 2022-08-05 11:53:59.000000000 +0200 -+++ binutils-2.39-new/bfd/Makefile.in 2022-10-30 12:41:21.708023724 +0100 -@@ -2443,8 +2443,8 @@ stmp-lcoff-h: $(LIBCOFF_H_FILES) $(MKDOC +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 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.39/bfd/Makefile.in binutils-2.39-new/bfd/ bfd_version_package="\"$(PKGVERSION)\"" ;\ report_bugs_to="\"$(REPORT_BUGS_TO)\"" ;\ . $(srcdir)/development.sh ;\ -@@ -2455,7 +2455,7 @@ bfdver.h: $(srcdir)/version.h $(srcdir)/ +@@ -2437,7 +2437,7 @@ bfdver.h: $(srcdir)/version.h $(srcdir)/ fi ;\ $(SED) -e "s,@bfd_version@,$$bfd_version," \ -e "s,@bfd_version_string@,$$bfd_version_string," \ diff --git a/SPECS/mingw-binutils.spec b/SPECS/mingw-binutils.spec index f71ed9b..cb2b841 100644 --- a/SPECS/mingw-binutils.spec +++ b/SPECS/mingw-binutils.spec @@ -1,12 +1,13 @@ %global run_testsuite 1 %global mingw_build_ucrt64 1 +%define enable_new_dtags 0 Name: mingw-binutils -Version: 2.39 -Release: 2%{?dist} +Version: 2.41 +Release: 3%{?dist} Summary: Cross-compiled version of binutils for Win32 and Win64 environments -License: GPLv2+ and LGPLv2+ and GPLv3+ and LGPLv3+ +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 URL: http://www.gnu.org/software/binutils/ Source0: http://ftp.gnu.org/gnu/binutils/binutils-%{version}.tar.xz @@ -43,94 +44,79 @@ Patch03: binutils-export-demangle.h.patch # order. Patch04: binutils-no-config-h-check.patch -# Purpose: Include the filename concerned in readelf error messages. This -# makes readelf's output more helpful when it is run on multiple -# input files. -# Lifetime: Permanent. This patch changes the format of readelf's output, -# making it better (IMHO) but also potentially breaking tools that -# depend upon readelf's current format. Hence it remains a local -# patch. -Patch05: binutils-filename-in-error-messages.patch - # Purpose: Disable an x86/x86_64 optimization that moves functions from the # PLT into the GOTPLT for faster access. This optimization is # problematic for tools that want to intercept PLT entries, such # as ltrace and LD_AUDIT. See BZs 1452111 and 1333481. # Lifetime: Permanent. But it should not be. # FIXME: Replace with a configure time option. -Patch06: binutils-revert-PLT-elision.patch - -# Purpose: Changes readelf so that when it displays extra information about -# a symbol, this information is placed at the end of the line. -# Lifetime: Permanent. -# FIXME: The proper fix would be to update the scripts that are expecting -# a fixed output from readelf. But it seems that some of them are -# no longer being maintained. -Patch07: binutils-readelf-other-sym-info.patch +Patch05: binutils-revert-PLT-elision.patch # Purpose: Do not create PLT entries for AARCH64 IFUNC symbols referenced in # debug sections. # Lifetime: Permanent. # FIXME: Find related bug. Decide on permanency. -# Not needed, mingw does not have aarch64 -# Patch08: binutils-2.27-aarch64-ifunc.patch +Patch06: binutils-2.27-aarch64-ifunc.patch # Purpose: Stop the binutils from statically linking with libstdc++. # Lifetime: Permanent. -Patch09: binutils-do-not-link-with-static-libstdc++.patch +Patch07: binutils-do-not-link-with-static-libstdc++.patch # Purpose: Allow OS specific sections in section groups. -# Lifetime: Fixed in 2.39 (maybe) -Patch10: binutils-special-sections-in-groups.patch - -# Purpose: Fix linker testsuite failures. -# Lifetime: Fixed in 2.39 (maybe) -Patch11: binutils-fix-testsuite-failures.patch +# Lifetime: Fixed in 2.42 (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.39 (maybe) -Patch12: binutils-gold-mismatched-section-flags.patch +# Lifetime: Fixed in 2.42 (maybe) +Patch09: binutils-gold-mismatched-section-flags.patch # Purpose: Change the gold configuration script to only warn about # unsupported targets. This allows the binutils to be built with # BPF support enabled. # Lifetime: Permanent. -Patch13: binutils-gold-warn-unsupported.patch - -# Purpose: Fix testsuite failures due to the patches applied here. -# Lifetime: Permanent, but varying with each new rebase. -Patch14: binutils-testsuite-fixes.patch +Patch10: binutils-gold-warn-unsupported.patch # Purpose: Enable the creation of .note.gnu.property sections by the GOLD # linker for x86 binaries. -# Lifetime: Fixed in 2.38 maybe -Patch15: binutils-gold-i386-gnu-property-notes.patch +# Lifetime: Permanent. +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.39 (maybe ?) -Patch16: binutils-autoconf-version.patch +# Lifetime: Fixed in 2.42 (maybe ?) +Patch12: binutils-autoconf-version.patch # Purpose: Stop libtool from inserting useless runpaths into binaries. # Lifetime: Who knows. -Patch17: binutils-libtool-no-rpath.patch +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 -# Not needed, mingw does not ship man -# Patch18: binutils-update-linker-manual.patch +Patch14: binutils-update-linker-manual.patch +%endif -# Purpose: Add a --package-metadata option to the linkers. -# Lifetime: Fixed in 2.40 -Patch19: binutils-package-metadata.patch +# Purpose: Stop an abort when using dwp to process a file with no dwo links. +# Lifetime: Fixed in 2.42 (maybe) +Patch15: binutils-gold-empty-dwp.patch -# Purpose: Stop the assembler from generating DIE information for zero-sized functions. -# Lifetime: Fixed in 2.40 -Patch20: binutils-gas-dwarf-skip-empty-functions.patch +# Purpose: Fix binutils testsuite failures. +# Lifetime: Permanent, but varies with each rebase. +Patch16: binutils-testsuite-fixes.patch -# Backport patch for CVE-2022-38533 -Patch21: CVE-2022-38533.patch +# Purpose: Fix binutils testsuite failures for the RISCV-64 target. +# 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: 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 BuildRequires: make @@ -464,6 +450,37 @@ rm -rf %{buildroot}%{_mandir}/man1/* %changelog +* Thu Jan 25 2024 Fedora Release Engineering - 2.41-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 2.41-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Tue Oct 17 2023 Sandro Mani - 2.41-1 +- Update to 2.41 + +* Thu Jul 20 2023 Fedora Release Engineering - 2.40-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jun 14 2023 Sandro Mani - 2.40-3 +- Backport fix for Backport fix for + https://sourceware.org/bugzilla/show_bug.cgi?id=30079 + +* Fri Apr 14 2023 Sandro Mani - 2.40-2 +- Backport fix for CVE-2023-1972 + +* Thu Mar 09 2023 Sandro Mani - 2.40-1 +- Update to 2.40 + +* Tue Mar 07 2023 Sandro Mani - 2.39-5 +- Backport patch for CVE-2023-25587 + +* Thu Jan 19 2023 Fedora Release Engineering - 2.39-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Jan 03 2023 Sandro Mani - 2.39-3 +- Backport patch for CVE-2022-4285 + * Sun Oct 30 2022 Sandro Mani - 2.39-2 - Backport patch for CVE-2022-38533