From 2844b392ed497b939db2c1060f63f8c9880c3486 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0abata?= Date: Thu, 15 Oct 2020 19:41:54 +0200 Subject: [PATCH] RHEL 9.0.0 Alpha bootstrap The content of this branch was automatically imported from Fedora ELN with the following as its source: https://src.fedoraproject.org/rpms/mingw-binutils#caa6ff7b368503195b8471ece359354082eb3b7f --- .gitignore | 19 + binutils-2.22.52.0.4-no-config-h-check.patch | 30 + binutils-2.25-version.patch | 46 ++ ...tils-2.29-filename-in-error-messages.patch | 125 ++++ binutils-CVE-2019-1010204.patch | 16 + binutils-config.patch | 44 ++ ...ls-do-not-link-with-static-libstdc++.patch | 83 +++ binutils-export-demangle.h.patch | 33 + binutils-fix-testsuite-failures.patch | 302 +++++++++ ...ls-gold-ignore-discarded-note-relocs.patch | 11 + binutils-gold-mismatched-section-flags.patch | 36 ++ ...tils-readelf-compression-header-size.patch | 126 ++++ binutils-readelf-other-sym-info.patch | 64 ++ binutils-special-sections-in-groups.patch | 28 + mingw-binutils.spec | 582 ++++++++++++++++++ sources | 1 + 16 files changed, 1546 insertions(+) create mode 100644 binutils-2.22.52.0.4-no-config-h-check.patch create mode 100644 binutils-2.25-version.patch create mode 100644 binutils-2.29-filename-in-error-messages.patch create mode 100644 binutils-CVE-2019-1010204.patch create mode 100644 binutils-config.patch create mode 100644 binutils-do-not-link-with-static-libstdc++.patch create mode 100644 binutils-export-demangle.h.patch create mode 100644 binutils-fix-testsuite-failures.patch create mode 100644 binutils-gold-ignore-discarded-note-relocs.patch create mode 100644 binutils-gold-mismatched-section-flags.patch create mode 100644 binutils-readelf-compression-header-size.patch create mode 100644 binutils-readelf-other-sym-info.patch create mode 100644 binutils-special-sections-in-groups.patch create mode 100644 mingw-binutils.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..b59e8d9 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,19 @@ +binutils-2.20.1.tar.bz2 +/binutils-2.20.51.0.10.tar.bz2 +/binutils-2.21.tar.bz2 +/binutils-2.22.tar.bz2 +/binutils-2.22.52.tar.bz2 +/binutils-2.22.52.0.3.tar.bz2 +/binutils-2.22.52.0.4.tar.bz2 +/binutils-2.23.51.0.5.tar.bz2 +/binutils-2.23.52.0.1.tar.bz2 +/binutils-2.24.tar.bz2 +/binutils-2.25.tar.bz2 +/binutils-2.26.tar.bz2 +/binutils-2.27.tar.bz2 +/binutils-2.28.tar.bz2 +/binutils-2.29.tar.bz2 +/binutils-2.29.1.tar.bz2 +/binutils-2.30.tar.bz2 +/binutils-2.32.tar.bz2 +/binutils-2.34.tar.bz2 diff --git a/binutils-2.22.52.0.4-no-config-h-check.patch b/binutils-2.22.52.0.4-no-config-h-check.patch new file mode 100644 index 0000000..cca5e81 --- /dev/null +++ b/binutils-2.22.52.0.4-no-config-h-check.patch @@ -0,0 +1,30 @@ +diff -rupN --no-dereference binutils-2.34/bfd/bfd-in2.h binutils-2.34-new/bfd/bfd-in2.h +--- binutils-2.34/bfd/bfd-in2.h 2020-01-18 14:55:47.000000000 +0100 ++++ binutils-2.34-new/bfd/bfd-in2.h 2020-06-19 23:58:56.482543025 +0200 +@@ -30,11 +30,6 @@ + #ifndef __BFD_H_SEEN__ + #define __BFD_H_SEEN__ + +-/* PR 14072: Ensure that config.h is included first. */ +-#if !defined PACKAGE && !defined PACKAGE_VERSION +-#error config.h must be included before this header +-#endif +- + #ifdef __cplusplus + extern "C" { + #endif +diff -rupN --no-dereference binutils-2.34/bfd/bfd-in.h binutils-2.34-new/bfd/bfd-in.h +--- binutils-2.34/bfd/bfd-in.h 2020-01-18 14:55:47.000000000 +0100 ++++ binutils-2.34-new/bfd/bfd-in.h 2020-06-19 23:58:56.483543023 +0200 +@@ -23,11 +23,6 @@ + #ifndef __BFD_H_SEEN__ + #define __BFD_H_SEEN__ + +-/* PR 14072: Ensure that config.h is included first. */ +-#if !defined PACKAGE && !defined PACKAGE_VERSION +-#error config.h must be included before this header +-#endif +- + #ifdef __cplusplus + extern "C" { + #endif diff --git a/binutils-2.25-version.patch b/binutils-2.25-version.patch new file mode 100644 index 0000000..118d7ed --- /dev/null +++ b/binutils-2.25-version.patch @@ -0,0 +1,46 @@ +diff -rupN --no-dereference binutils-2.34/bfd/Makefile.am binutils-2.34-new/bfd/Makefile.am +--- binutils-2.34/bfd/Makefile.am 2020-01-18 14:55:47.000000000 +0100 ++++ binutils-2.34-new/bfd/Makefile.am 2020-06-19 23:58:54.765545807 +0200 +@@ -967,8 +967,8 @@ DISTCLEANFILES = $(BUILD_CFILES) $(BUILD + bfdver.h: $(srcdir)/version.h $(srcdir)/development.sh $(srcdir)/Makefile.in + @echo "creating $@" + @bfd_version=`echo "$(VERSION)" | $(SED) -e 's/\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\).*/\1.00\2.00\3.00\4.00\5/' -e 's/\([^\.]*\)\..*\(..\)\..*\(..\)\..*\(..\)\..*\(..\)$$/\1\2\3\4\5/'` ;\ +- bfd_version_string="\"$(VERSION)\"" ;\ +- bfd_soversion="$(VERSION)" ;\ ++ bfd_version_string="\"$(VERSION)-%{release}\"" ;\ ++ bfd_soversion="$(VERSION)-%{release}" ;\ + bfd_version_package="\"$(PKGVERSION)\"" ;\ + report_bugs_to="\"$(REPORT_BUGS_TO)\"" ;\ + . $(srcdir)/development.sh ;\ +@@ -979,7 +979,7 @@ bfdver.h: $(srcdir)/version.h $(srcdir)/ + fi ;\ + $(SED) -e "s,@bfd_version@,$$bfd_version," \ + -e "s,@bfd_version_string@,$$bfd_version_string," \ +- -e "s,@bfd_version_package@,$$bfd_version_package," \ ++ -e "s,@bfd_version_package@,\"version \"," \ + -e "s,@report_bugs_to@,$$report_bugs_to," \ + < $(srcdir)/version.h > $@; \ + echo "$${bfd_soversion}" > libtool-soversion +diff -rupN --no-dereference binutils-2.34/bfd/Makefile.in binutils-2.34-new/bfd/Makefile.in +--- binutils-2.34/bfd/Makefile.in 2020-02-01 12:49:13.000000000 +0100 ++++ binutils-2.34-new/bfd/Makefile.in 2020-06-19 23:58:54.765545807 +0200 +@@ -2081,8 +2081,8 @@ stmp-lcoff-h: $(LIBCOFF_H_FILES) + bfdver.h: $(srcdir)/version.h $(srcdir)/development.sh $(srcdir)/Makefile.in + @echo "creating $@" + @bfd_version=`echo "$(VERSION)" | $(SED) -e 's/\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\)\.*\([^\.]*\).*/\1.00\2.00\3.00\4.00\5/' -e 's/\([^\.]*\)\..*\(..\)\..*\(..\)\..*\(..\)\..*\(..\)$$/\1\2\3\4\5/'` ;\ +- bfd_version_string="\"$(VERSION)\"" ;\ +- bfd_soversion="$(VERSION)" ;\ ++ bfd_version_string="\"$(VERSION)-%{release}\"" ;\ ++ bfd_soversion="$(VERSION)-%{release}" ;\ + bfd_version_package="\"$(PKGVERSION)\"" ;\ + report_bugs_to="\"$(REPORT_BUGS_TO)\"" ;\ + . $(srcdir)/development.sh ;\ +@@ -2093,7 +2093,7 @@ bfdver.h: $(srcdir)/version.h $(srcdir)/ + fi ;\ + $(SED) -e "s,@bfd_version@,$$bfd_version," \ + -e "s,@bfd_version_string@,$$bfd_version_string," \ +- -e "s,@bfd_version_package@,$$bfd_version_package," \ ++ -e "s,@bfd_version_package@,\"version \"," \ + -e "s,@report_bugs_to@,$$report_bugs_to," \ + < $(srcdir)/version.h > $@; \ + echo "$${bfd_soversion}" > libtool-soversion diff --git a/binutils-2.29-filename-in-error-messages.patch b/binutils-2.29-filename-in-error-messages.patch new file mode 100644 index 0000000..52aee4f --- /dev/null +++ b/binutils-2.29-filename-in-error-messages.patch @@ -0,0 +1,125 @@ +diff -rupN --no-dereference binutils-2.34/binutils/readelf.c binutils-2.34-new/binutils/readelf.c +--- binutils-2.34/binutils/readelf.c 2020-01-18 14:55:47.000000000 +0100 ++++ binutils-2.34-new/binutils/readelf.c 2020-06-19 23:58:57.297541703 +0200 +@@ -20350,75 +20350,85 @@ process_file (char * file_name) + Filedata * filedata = NULL; + struct stat statbuf; + char armag[SARMAG]; +- bfd_boolean ret = TRUE; ++ bfd_boolean 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; +- } +- +- filedata->file_size = (bfd_size_type) statbuf.st_size; +- +- if (memcmp (armag, ARMAG, SARMAG) == 0) +- { +- if (! process_archive (filedata, FALSE)) +- ret = FALSE; +- } +- else if (memcmp (armag, ARMAGT, SARMAG) == 0) +- { +- if ( ! process_archive (filedata, TRUE)) +- ret = FALSE; ++ error (_("Failed to read file's magic number\n")); + } + else + { +- if (do_archive_index) +- error (_("File %s is not an archive so its index cannot be displayed.\n"), +- file_name); ++ filedata->file_size = (bfd_size_type) statbuf.st_size; + +- rewind (filedata->handle); +- archive_file_size = archive_file_offset = 0; +- +- if (! process_object (filedata)) +- ret = FALSE; ++ if (memcmp (armag, ARMAG, SARMAG) == 0) ++ { ++ if (process_archive (filedata, FALSE)) ++ ret = TRUE; ++ } ++ else if (memcmp (armag, ARMAGT, SARMAG) == 0) ++ { ++ if (process_archive (filedata, TRUE)) ++ ret = TRUE; ++ } ++ else ++ { ++ if (do_archive_index) ++ error (_("Not an archive so its index cannot be displayed.\n")); ++ ++ rewind (filedata->handle); ++ archive_file_size = archive_file_offset = 0; ++ ++ if (process_object (filedata)) ++ ret = TRUE; ++ } + } + + fclose (filedata->handle); ++ done: + free (filedata); ++ free (program_name); ++ program_name = saved_program_name; + + return ret; + } diff --git a/binutils-CVE-2019-1010204.patch b/binutils-CVE-2019-1010204.patch new file mode 100644 index 0000000..3dd5270 --- /dev/null +++ b/binutils-CVE-2019-1010204.patch @@ -0,0 +1,16 @@ +diff -rupN --no-dereference binutils-2.34/gold/fileread.cc binutils-2.34-new/gold/fileread.cc +--- binutils-2.34/gold/fileread.cc 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/gold/fileread.cc 2020-06-19 23:59:03.974530827 +0200 +@@ -381,6 +381,12 @@ File_read::do_read(off_t start, section_ + ssize_t bytes; + if (this->whole_file_view_ != NULL) + { ++ // See PR 23765 for an example of a testcase that triggers this error. ++ if (((ssize_t) start) < 0) ++ gold_fatal(_("%s: read failed, starting offset (%#llx) less than zero"), ++ this->filename().c_str(), ++ static_cast(start)); ++ + bytes = this->size_ - start; + if (static_cast(bytes) >= size) + { diff --git a/binutils-config.patch b/binutils-config.patch new file mode 100644 index 0000000..8456584 --- /dev/null +++ b/binutils-config.patch @@ -0,0 +1,44 @@ +diff -Nrup a/libiberty/aclocal.m4 b/libiberty/aclocal.m4 +--- a/libiberty/aclocal.m4 2019-01-19 09:01:34.000000000 -0700 ++++ b/libiberty/aclocal.m4 2020-01-09 22:00:27.183312982 -0700 +@@ -147,7 +147,7 @@ if test $ac_cv_os_cray = yes; then + fi + + AC_CACHE_CHECK(stack direction for C alloca, ac_cv_c_stack_direction, +-[AC_TRY_RUN([find_stack_direction () ++[AC_TRY_RUN([__attribute__ ((noclone,noinline)) find_stack_direction () + { + static char *addr = 0; + auto char dummy; +diff --git a/config/intdiv0.m4 b/config/intdiv0.m4 +index 55dddcf1..ba906efc 100644 +--- a/config/intdiv0.m4 ++++ b/config/intdiv0.m4 +@@ -31,10 +31,10 @@ sigfpe_handler (sig) int sig; + exit (sig != SIGFPE); + } + +-int x = 1; +-int y = 0; +-int z; +-int nan; ++volatile int x = 1; ++volatile int y = 0; ++volatile int z; ++volatile int nan; + + int main () + { +diff --git a/libiberty/configure.ac b/libiberty/configure.ac +index f1ce7601..fc20d228 100644 +--- a/libiberty/configure.ac ++++ b/libiberty/configure.ac +@@ -661,7 +661,7 @@ if test -z "${setobjs}"; then + for v in $vars; do + AC_MSG_CHECKING([for $v]) + AC_CACHE_VAL(libiberty_cv_var_$v, +- [AC_LINK_IFELSE([AC_LANG_PROGRAM([[int *p;]],[[extern int $v []; p = $v;]])], ++ [AC_LINK_IFELSE([AC_LANG_PROGRAM([[__attribute__ ((used)) int *p;]],[[extern int $v []; p = $v;]])], + [eval "libiberty_cv_var_$v=yes"], + [eval "libiberty_cv_var_$v=no"])]) + if eval "test \"`echo '$libiberty_cv_var_'$v`\" = yes"; then diff --git a/binutils-do-not-link-with-static-libstdc++.patch b/binutils-do-not-link-with-static-libstdc++.patch new file mode 100644 index 0000000..e8b2ab1 --- /dev/null +++ b/binutils-do-not-link-with-static-libstdc++.patch @@ -0,0 +1,83 @@ +diff -rupN --no-dereference binutils-2.34/configure binutils-2.34-new/configure +--- binutils-2.34/configure 2020-01-18 15:01:13.000000000 +0100 ++++ binutils-2.34-new/configure 2020-06-19 23:58:58.958539005 +0200 +@@ -5103,49 +5103,6 @@ if test -z "$LD"; then + fi + fi + +-# Check whether -static-libstdc++ -static-libgcc is supported. +-have_static_libs=no +-if test "$GCC" = yes; then +- saved_LDFLAGS="$LDFLAGS" +- +- LDFLAGS="$LDFLAGS -static-libstdc++ -static-libgcc" +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether g++ accepts -static-libstdc++ -static-libgcc" >&5 +-$as_echo_n "checking whether g++ accepts -static-libstdc++ -static-libgcc... " >&6; } +- ac_ext=cpp +-ac_cpp='$CXXCPP $CPPFLAGS' +-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +- +- +-cat confdefs.h - <<_ACEOF >conftest.$ac_ext +-/* end confdefs.h. */ +- +-#if (__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) +-#error -static-libstdc++ not implemented +-#endif +-int main() {} +-_ACEOF +-if ac_fn_cxx_try_link "$LINENO"; then : +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +-$as_echo "yes" >&6; }; have_static_libs=yes +-else +- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +-$as_echo "no" >&6; } +-fi +-rm -f core conftest.err conftest.$ac_objext \ +- conftest$ac_exeext conftest.$ac_ext +- ac_ext=c +-ac_cpp='$CPP $CPPFLAGS' +-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +-ac_compiler_gnu=$ac_cv_c_compiler_gnu +- +- +- LDFLAGS="$saved_LDFLAGS" +-fi +- +- + + + if test -n "$ac_tool_prefix"; then +diff -rupN --no-dereference binutils-2.34/configure.ac binutils-2.34-new/configure.ac +--- binutils-2.34/configure.ac 2020-02-01 13:02:56.000000000 +0100 ++++ binutils-2.34-new/configure.ac 2020-06-19 23:58:58.959539003 +0200 +@@ -1284,26 +1284,6 @@ if test -z "$LD"; then + fi + fi + +-# Check whether -static-libstdc++ -static-libgcc is supported. +-have_static_libs=no +-if test "$GCC" = yes; then +- saved_LDFLAGS="$LDFLAGS" +- +- LDFLAGS="$LDFLAGS -static-libstdc++ -static-libgcc" +- AC_MSG_CHECKING([whether g++ accepts -static-libstdc++ -static-libgcc]) +- AC_LANG_PUSH(C++) +- AC_LINK_IFELSE([AC_LANG_SOURCE([ +-#if (__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) +-#error -static-libstdc++ not implemented +-#endif +-int main() {}])], +- [AC_MSG_RESULT([yes]); have_static_libs=yes], +- [AC_MSG_RESULT([no])]) +- AC_LANG_POP(C++) +- +- LDFLAGS="$saved_LDFLAGS" +-fi +- + ACX_PROG_GNAT + ACX_PROG_CMP_IGNORE_INITIAL + diff --git a/binutils-export-demangle.h.patch b/binutils-export-demangle.h.patch new file mode 100644 index 0000000..1e9001c --- /dev/null +++ b/binutils-export-demangle.h.patch @@ -0,0 +1,33 @@ +diff -rupN --no-dereference binutils-2.34/bfd/Makefile.am binutils-2.34-new/bfd/Makefile.am +--- binutils-2.34/bfd/Makefile.am 2020-06-19 23:58:55.632544403 +0200 ++++ binutils-2.34-new/bfd/Makefile.am 2020-06-19 23:58:55.635544398 +0200 +@@ -33,7 +33,7 @@ bfdlibdir = @bfdlibdir@ + bfdincludedir = @bfdincludedir@ + bfdlib_LTLIBRARIES = libbfd.la + bfdinclude_HEADERS = $(BFD_H) $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h \ +- bfd_stdint.h $(INCDIR)/diagnostics.h $(INCDIR)/bfdlink.h ++ bfd_stdint.h $(INCDIR)/diagnostics.h $(INCDIR)/bfdlink.h $(INCDIR)/demangle.h + else !INSTALL_LIBBFD + # Empty these so that the respective installation directories will not be created. + bfdlibdir = +diff -rupN --no-dereference binutils-2.34/bfd/Makefile.in binutils-2.34-new/bfd/Makefile.in +--- binutils-2.34/bfd/Makefile.in 2020-06-19 23:58:55.633544401 +0200 ++++ binutils-2.34-new/bfd/Makefile.in 2020-06-19 23:58:55.635544398 +0200 +@@ -249,7 +249,7 @@ am__can_run_installinfo = \ + esac + am__bfdinclude_HEADERS_DIST = $(INCDIR)/plugin-api.h bfd.h \ + $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h bfd_stdint.h \ +- $(INCDIR)/diagnostics.h $(INCDIR)/bfdlink.h ++ $(INCDIR)/diagnostics.h $(INCDIR)/bfdlink.h $(INCDIR)/demangle.h + HEADERS = $(bfdinclude_HEADERS) + RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +@@ -468,7 +468,7 @@ libbfd_la_LDFLAGS = $(am__append_1) -rel + @INSTALL_LIBBFD_FALSE@bfdinclude_HEADERS = $(am__append_2) + @INSTALL_LIBBFD_TRUE@bfdinclude_HEADERS = $(BFD_H) \ + @INSTALL_LIBBFD_TRUE@ $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h \ +-@INSTALL_LIBBFD_TRUE@ bfd_stdint.h $(INCDIR)/diagnostics.h \ ++@INSTALL_LIBBFD_TRUE@ bfd_stdint.h $(INCDIR)/diagnostics.h $(INCDIR)/demangle.h \ + @INSTALL_LIBBFD_TRUE@ $(INCDIR)/bfdlink.h $(am__append_2) + @INSTALL_LIBBFD_FALSE@rpath_bfdlibdir = @bfdlibdir@ + @INSTALL_LIBBFD_FALSE@noinst_LTLIBRARIES = libbfd.la diff --git a/binutils-fix-testsuite-failures.patch b/binutils-fix-testsuite-failures.patch new file mode 100644 index 0000000..5a082a7 --- /dev/null +++ b/binutils-fix-testsuite-failures.patch @@ -0,0 +1,302 @@ +diff -rupN --no-dereference binutils-2.34/ld/testsuite/ld-plugin/plugin-10.d binutils-2.34-new/ld/testsuite/ld-plugin/plugin-10.d +--- binutils-2.34/ld/testsuite/ld-plugin/plugin-10.d 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-10.d 2020-06-19 23:59:01.460534931 +0200 +@@ -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.34/ld/testsuite/ld-plugin/plugin-11.d binutils-2.34-new/ld/testsuite/ld-plugin/plugin-11.d +--- binutils-2.34/ld/testsuite/ld-plugin/plugin-11.d 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-11.d 2020-06-19 23:59:01.460534931 +0200 +@@ -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.34/ld/testsuite/ld-plugin/plugin-13.d binutils-2.34-new/ld/testsuite/ld-plugin/plugin-13.d +--- binutils-2.34/ld/testsuite/ld-plugin/plugin-13.d 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-13.d 2020-06-19 23:59:01.460534931 +0200 +@@ -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.34/ld/testsuite/ld-plugin/plugin-14.d binutils-2.34-new/ld/testsuite/ld-plugin/plugin-14.d +--- binutils-2.34/ld/testsuite/ld-plugin/plugin-14.d 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-14.d 2020-06-19 23:59:01.460534931 +0200 +@@ -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.34/ld/testsuite/ld-plugin/plugin-15.d binutils-2.34-new/ld/testsuite/ld-plugin/plugin-15.d +--- binutils-2.34/ld/testsuite/ld-plugin/plugin-15.d 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-15.d 2020-06-19 23:59:01.460534931 +0200 +@@ -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.34/ld/testsuite/ld-plugin/plugin-16.d binutils-2.34-new/ld/testsuite/ld-plugin/plugin-16.d +--- binutils-2.34/ld/testsuite/ld-plugin/plugin-16.d 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-16.d 2020-06-19 23:59:01.460534931 +0200 +@@ -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.34/ld/testsuite/ld-plugin/plugin-17.d binutils-2.34-new/ld/testsuite/ld-plugin/plugin-17.d +--- binutils-2.34/ld/testsuite/ld-plugin/plugin-17.d 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-17.d 2020-06-19 23:59:01.461534930 +0200 +@@ -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.34/ld/testsuite/ld-plugin/plugin-18.d binutils-2.34-new/ld/testsuite/ld-plugin/plugin-18.d +--- binutils-2.34/ld/testsuite/ld-plugin/plugin-18.d 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-18.d 2020-06-19 23:59:01.461534930 +0200 +@@ -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.34/ld/testsuite/ld-plugin/plugin-19.d binutils-2.34-new/ld/testsuite/ld-plugin/plugin-19.d +--- binutils-2.34/ld/testsuite/ld-plugin/plugin-19.d 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-19.d 2020-06-19 23:59:01.461534930 +0200 +@@ -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.34/ld/testsuite/ld-plugin/plugin-20.d binutils-2.34-new/ld/testsuite/ld-plugin/plugin-20.d +--- binutils-2.34/ld/testsuite/ld-plugin/plugin-20.d 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-20.d 2020-06-19 23:59:01.461534930 +0200 +@@ -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.34/ld/testsuite/ld-plugin/plugin-21.d binutils-2.34-new/ld/testsuite/ld-plugin/plugin-21.d +--- binutils-2.34/ld/testsuite/ld-plugin/plugin-21.d 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-21.d 2020-06-19 23:59:01.461534930 +0200 +@@ -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.34/ld/testsuite/ld-plugin/plugin-22.d binutils-2.34-new/ld/testsuite/ld-plugin/plugin-22.d +--- binutils-2.34/ld/testsuite/ld-plugin/plugin-22.d 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-22.d 2020-06-19 23:59:01.461534930 +0200 +@@ -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.34/ld/testsuite/ld-plugin/plugin-23.d binutils-2.34-new/ld/testsuite/ld-plugin/plugin-23.d +--- binutils-2.34/ld/testsuite/ld-plugin/plugin-23.d 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-23.d 2020-06-19 23:59:01.461534930 +0200 +@@ -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.34/ld/testsuite/ld-plugin/plugin-24.d binutils-2.34-new/ld/testsuite/ld-plugin/plugin-24.d +--- binutils-2.34/ld/testsuite/ld-plugin/plugin-24.d 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-24.d 2020-06-19 23:59:01.462534928 +0200 +@@ -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.34/ld/testsuite/ld-plugin/plugin-25.d binutils-2.34-new/ld/testsuite/ld-plugin/plugin-25.d +--- binutils-2.34/ld/testsuite/ld-plugin/plugin-25.d 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-25.d 2020-06-19 23:59:01.462534928 +0200 +@@ -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.34/ld/testsuite/ld-plugin/plugin-28.d binutils-2.34-new/ld/testsuite/ld-plugin/plugin-28.d +--- binutils-2.34/ld/testsuite/ld-plugin/plugin-28.d 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-28.d 2020-06-19 23:59:01.462534928 +0200 +@@ -1 +1,2 @@ + .*: error: Error ++#... +diff -rupN --no-dereference binutils-2.34/ld/testsuite/ld-plugin/plugin-29.d binutils-2.34-new/ld/testsuite/ld-plugin/plugin-29.d +--- binutils-2.34/ld/testsuite/ld-plugin/plugin-29.d 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-29.d 2020-06-19 23:59:01.462534928 +0200 +@@ -1 +1,2 @@ + .*: warning: Warning ++#... +diff -rupN --no-dereference binutils-2.34/ld/testsuite/ld-plugin/plugin-30.d binutils-2.34-new/ld/testsuite/ld-plugin/plugin-30.d +--- binutils-2.34/ld/testsuite/ld-plugin/plugin-30.d 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-30.d 2020-06-19 23:59:01.462534928 +0200 +@@ -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.34/ld/testsuite/ld-plugin/plugin-6.d binutils-2.34-new/ld/testsuite/ld-plugin/plugin-6.d +--- binutils-2.34/ld/testsuite/ld-plugin/plugin-6.d 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-6.d 2020-06-19 23:59:01.462534928 +0200 +@@ -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.34/ld/testsuite/ld-plugin/plugin-7.d binutils-2.34-new/ld/testsuite/ld-plugin/plugin-7.d +--- binutils-2.34/ld/testsuite/ld-plugin/plugin-7.d 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-7.d 2020-06-19 23:59:01.462534928 +0200 +@@ -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.34/ld/testsuite/ld-plugin/plugin-8.d binutils-2.34-new/ld/testsuite/ld-plugin/plugin-8.d +--- binutils-2.34/ld/testsuite/ld-plugin/plugin-8.d 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-8.d 2020-06-19 23:59:01.463534926 +0200 +@@ -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.34/ld/testsuite/ld-plugin/plugin-9.d binutils-2.34-new/ld/testsuite/ld-plugin/plugin-9.d +--- binutils-2.34/ld/testsuite/ld-plugin/plugin-9.d 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-9.d 2020-06-19 23:59:01.463534926 +0200 +@@ -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.34/ld/testsuite/ld-plugin/pr20070.d binutils-2.34-new/ld/testsuite/ld-plugin/pr20070.d +--- binutils-2.34/ld/testsuite/ld-plugin/pr20070.d 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/pr20070.d 2020-06-19 23:59:01.463534926 +0200 +@@ -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.34/ld/testsuite/ld-srec/srec.exp binutils-2.34-new/ld/testsuite/ld-srec/srec.exp +--- binutils-2.34/ld/testsuite/ld-srec/srec.exp 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/ld/testsuite/ld-srec/srec.exp 2020-06-19 23:59:01.463534926 +0200 +@@ -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 -rupN --no-dereference binutils-2.34/ld/testsuite/ld-x86-64/x86-64.exp binutils-2.34-new/ld/testsuite/ld-x86-64/x86-64.exp +--- binutils-2.34/ld/testsuite/ld-x86-64/x86-64.exp 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/ld/testsuite/ld-x86-64/x86-64.exp 2020-06-19 23:59:01.463534926 +0200 +@@ -1322,25 +1322,6 @@ if { [isnative] && [check_compiler_avail + "$NOPIE_CFLAGS" \ + ] \ + ] +- } else { +- run_cc_link_tests [list \ +- [list \ +- "Build pr22001-1b" \ +- "$NOPIE_LDFLAGS -Wl,-z,nocopyreloc,--no-as-needed tmpdir/pr22001-1.so" \ +- "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \ +- { pr22001-1c.c } \ +- {{error_output "pr22001-1b.err"}} \ +- "pr22001-1b" \ +- ] \ +- [list \ +- "Build pr21997-1b" \ +- "$NOPIE_LDFLAGS -Wl,--no-as-needed tmpdir/pr21997-1.so" \ +- "$NOPIE_CFLAGS -Wa,-mx86-used-note=yes" \ +- { pr21997-1c.c } \ +- {{error_output "pr21997-1b.err"}} \ +- "pr21997-1b" \ +- ] \ +- ] + } + + run_ld_link_exec_tests [list \ diff --git a/binutils-gold-ignore-discarded-note-relocs.patch b/binutils-gold-ignore-discarded-note-relocs.patch new file mode 100644 index 0000000..f9f7701 --- /dev/null +++ b/binutils-gold-ignore-discarded-note-relocs.patch @@ -0,0 +1,11 @@ +diff -rupN --no-dereference binutils-2.34/gold/target-reloc.h binutils-2.34-new/gold/target-reloc.h +--- binutils-2.34/gold/target-reloc.h 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/gold/target-reloc.h 2020-06-19 23:58:59.805537627 +0200 +@@ -136,6 +136,7 @@ class Default_comdat_behavior + if (Layout::is_debug_info_section(name)) + return CB_PRETEND; + if (strcmp(name, ".eh_frame") == 0 ++ || strncmp(name, ".gnu.build.attributes", 21) == 0 // FIXME: We should really be checking the section type for ST_NOTE... + || strcmp(name, ".gcc_except_table") == 0) + return CB_IGNORE; + return CB_ERROR; diff --git a/binutils-gold-mismatched-section-flags.patch b/binutils-gold-mismatched-section-flags.patch new file mode 100644 index 0000000..3935490 --- /dev/null +++ b/binutils-gold-mismatched-section-flags.patch @@ -0,0 +1,36 @@ +diff -rupN --no-dereference binutils-2.34/gold/layout.cc binutils-2.34-new/gold/layout.cc +--- binutils-2.34/gold/layout.cc 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/gold/layout.cc 2020-06-19 23:59:02.307533550 +0200 +@@ -869,6 +869,7 @@ Layout::get_output_section(const char* n + && (same_name->flags() & elfcpp::SHF_TLS) == 0) + os = same_name; + } ++#if 0 /* BZ 1722715, PR 17556. */ + else if ((flags & elfcpp::SHF_TLS) == 0) + { + elfcpp::Elf_Xword zero_flags = 0; +@@ -879,6 +880,7 @@ Layout::get_output_section(const char* n + if (p != this->section_name_map_.end()) + os = p->second; + } ++#endif + } + + if (os == NULL) +diff -rupN --no-dereference binutils-2.34/gold/object.cc binutils-2.34-new/gold/object.cc +--- binutils-2.34/gold/object.cc 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/gold/object.cc 2020-06-19 23:59:02.308533548 +0200 +@@ -1656,6 +1656,13 @@ Sized_relobj_file::do_ + omit[i] = true; + } + ++ // Skip empty sections without flags. ++ if (!(shdr.get_sh_flags() & ~elfcpp::SHF_GROUP) ++ && !shdr.get_sh_size()) ++ { ++ omit[i] = true; ++ } ++ + bool discard = omit[i]; + if (!discard) + { diff --git a/binutils-readelf-compression-header-size.patch b/binutils-readelf-compression-header-size.patch new file mode 100644 index 0000000..b245608 --- /dev/null +++ b/binutils-readelf-compression-header-size.patch @@ -0,0 +1,126 @@ +diff -rupN --no-dereference binutils-2.34/binutils/readelf.c binutils-2.34-new/binutils/readelf.c +--- binutils-2.34/binutils/readelf.c 2020-06-19 23:58:58.954539011 +0200 ++++ binutils-2.34-new/binutils/readelf.c 2020-06-19 23:59:03.134532200 +0200 +@@ -6714,15 +6714,18 @@ process_section_headers (Filedata * file + { + Elf_Internal_Chdr chdr; + +- (void) get_compression_header (&chdr, buf, sizeof (buf)); +- +- if (chdr.ch_type == ELFCOMPRESS_ZLIB) +- printf (" ZLIB, "); ++ if (get_compression_header (&chdr, buf, sizeof (buf)) == 0) ++ printf (_(" []\n")); + else +- printf (_(" [: 0x%x], "), +- chdr.ch_type); +- print_vma (chdr.ch_size, LONG_HEX); +- printf (", %lu\n", (unsigned long) chdr.ch_addralign); ++ { ++ if (chdr.ch_type == ELFCOMPRESS_ZLIB) ++ printf (" ZLIB, "); ++ else ++ printf (_(" [: 0x%x], "), ++ chdr.ch_type); ++ print_vma (chdr.ch_size, LONG_HEX); ++ printf (", %lu\n", (unsigned long) chdr.ch_addralign); ++ } + } + } + } +@@ -13679,11 +13682,16 @@ dump_section_as_strings (Elf_Internal_Sh + = get_compression_header (& chdr, (unsigned char *) start, + num_bytes); + ++ if (compression_header_size == 0) ++ /* An error message will have already been generated ++ by get_compression_header. */ ++ goto error_out; ++ + if (chdr.ch_type != ELFCOMPRESS_ZLIB) + { + warn (_("section '%s' has unsupported compress type: %d\n"), + printable_section_name (filedata, section), chdr.ch_type); +- return FALSE; ++ goto error_out; + } + uncompressed_size = chdr.ch_size; + start += compression_header_size; +@@ -13715,7 +13723,7 @@ dump_section_as_strings (Elf_Internal_Sh + { + error (_("Unable to decompress section %s\n"), + printable_section_name (filedata, section)); +- return FALSE; ++ goto error_out; + } + } + else +@@ -13785,6 +13793,10 @@ dump_section_as_strings (Elf_Internal_Sh + + putchar ('\n'); + return TRUE; ++ ++ error_out: ++ free (real_start); ++ return FALSE; + } + + static bfd_boolean +@@ -13797,7 +13809,7 @@ dump_section_as_bytes (Elf_Internal_Shdr + bfd_size_type section_size; + bfd_vma addr; + unsigned char * data; +- unsigned char * real_start; ++ unsigned char * real_start = NULL; + unsigned char * start; + + real_start = start = (unsigned char *) get_section_contents (section, filedata); +@@ -13820,11 +13832,16 @@ dump_section_as_bytes (Elf_Internal_Shdr + unsigned int compression_header_size + = get_compression_header (& chdr, start, section_size); + ++ if (compression_header_size == 0) ++ /* An error message will have already been generated ++ by get_compression_header. */ ++ goto error_out; ++ + if (chdr.ch_type != ELFCOMPRESS_ZLIB) + { + warn (_("section '%s' has unsupported compress type: %d\n"), + printable_section_name (filedata, section), chdr.ch_type); +- return FALSE; ++ goto error_out; + } + uncompressed_size = chdr.ch_size; + start += compression_header_size; +@@ -13859,7 +13876,7 @@ dump_section_as_bytes (Elf_Internal_Shdr + error (_("Unable to decompress section %s\n"), + printable_section_name (filedata, section)); + /* FIXME: Print the section anyway ? */ +- return FALSE; ++ goto error_out; + } + } + else +@@ -13939,6 +13956,10 @@ dump_section_as_bytes (Elf_Internal_Shdr + + putchar ('\n'); + return TRUE; ++ ++ error_out: ++ free (real_start); ++ return FALSE; + } + + static ctf_sect_t * +@@ -14149,6 +14170,10 @@ load_specific_debug_section (enum dwarf_ + } + + compression_header_size = get_compression_header (&chdr, start, size); ++ if (compression_header_size == 0) ++ /* An error message will have already been generated ++ by get_compression_header. */ ++ return FALSE; + + if (chdr.ch_type != ELFCOMPRESS_ZLIB) + { diff --git a/binutils-readelf-other-sym-info.patch b/binutils-readelf-other-sym-info.patch new file mode 100644 index 0000000..d52a12f --- /dev/null +++ b/binutils-readelf-other-sym-info.patch @@ -0,0 +1,64 @@ +diff -rupN --no-dereference binutils-2.34/binutils/readelf.c binutils-2.34-new/binutils/readelf.c +--- binutils-2.34/binutils/readelf.c 2020-06-19 23:58:58.123540362 +0200 ++++ binutils-2.34-new/binutils/readelf.c 2020-06-19 23:58:58.127540355 +0200 +@@ -11496,12 +11496,14 @@ print_dynamic_symbol (Filedata * filedat + 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 (" %3.3s ", get_symbol_index_type (filedata, psym->st_shndx)); +@@ -11509,6 +11511,15 @@ print_dynamic_symbol (Filedata * filedat + print_symbol (25, GET_DYNAMIC_NAME (psym->st_name)); + else + printf (_(" "), psym->st_name); ++#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'); + } + +@@ -12043,11 +12054,13 @@ process_symbol_table (Filedata * filedat + 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)); + print_symbol (25, psym->st_name < strtab_size +@@ -12066,7 +12079,15 @@ process_symbol_table (Filedata * filedat + printf (sym_info == symbol_hidden ? "@%s" : "@@%s", + version_string); + } ++#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 diff --git a/binutils-special-sections-in-groups.patch b/binutils-special-sections-in-groups.patch new file mode 100644 index 0000000..bdd7515 --- /dev/null +++ b/binutils-special-sections-in-groups.patch @@ -0,0 +1,28 @@ +diff -rupN --no-dereference binutils-2.34/bfd/elf.c binutils-2.34-new/bfd/elf.c +--- binutils-2.34/bfd/elf.c 2020-01-30 08:15:56.000000000 +0100 ++++ binutils-2.34-new/bfd/elf.c 2020-06-19 23:59:00.638536271 +0200 +@@ -838,7 +838,13 @@ setup_group (bfd *abfd, Elf_Internal_Shd + } + } + +- if (elf_group_name (newsect) == NULL) ++ if (elf_group_name (newsect) == NULL ++ /* OS specific sections might be in a group (eg ARM's ARM_EXIDX section) ++ but they will not have been added to the group because they do not ++ have contents that the ELF code in the BFD library knows how to ++ process. This is OK though - we rely upon the target backends to ++ handle these sections for us. */ ++ && hdr->sh_type < SHT_LOOS) + { + /* xgettext:c-format */ + _bfd_error_handler (_("%pB: no group info for section '%pA'"), +@@ -944,7 +950,8 @@ _bfd_elf_setup_sections (bfd *abfd) + else if (idx->shdr->bfd_section) + elf_sec_group (idx->shdr->bfd_section) = shdr->bfd_section; + else if (idx->shdr->sh_type != SHT_RELA +- && idx->shdr->sh_type != SHT_REL) ++ && idx->shdr->sh_type != SHT_REL ++ && idx->shdr->sh_type < SHT_LOOS) + { + /* There are some unknown sections in the group. */ + _bfd_error_handler diff --git a/mingw-binutils.spec b/mingw-binutils.spec new file mode 100644 index 0000000..f2d3c01 --- /dev/null +++ b/mingw-binutils.spec @@ -0,0 +1,582 @@ +%global run_testsuite 1 + +Name: mingw-binutils +Version: 2.34 +Release: 3%{?dist} +Summary: Cross-compiled version of binutils for Win32 and Win64 environments + +License: GPLv2+ and LGPLv2+ and GPLv3+ and LGPLv3+ + +URL: http://www.gnu.org/software/binutils/ +Source0: http://ftp.gnu.org/gnu/binutils/binutils-%{version}.tar.bz2 + +### Patches from native package + +# Unneeded, mingw does not have lib64 +# Patch01: binutils-2.20.51.0.2-libtool-lib64.patch + +# Purpose: Appends a RHEL or Fedora release string to the generic binutils +# version string. +# Lifetime: Permanent. This is a RHEL/Fedora specific patch. +Patch02: binutils-2.25-version.patch + +# Purpose: Exports the demangle.h header file (associated with the libiberty +# sources) with the binutils-devel rpm. +# Lifetime: Permanent. This is a RHEL/Fedora specific patch. +Patch03: binutils-export-demangle.h.patch + +# Purpose: Disables the check in the BFD library's bfd.h header file that +# config.h has been included before the bfd.h header. See BZ +# #845084 for more details. +# Lifetime: Permanent - but it should not be. The bfd.h header defines +# various types that are dependent upon configuration options, so +# the order of inclusion is important. +# FIXME: It would be better if the packages using the bfd.h header were +# fixed so that they do include the header files in the correct +# order. +Patch04: binutils-2.22.52.0.4-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-2.29-filename-in-error-messages.patch + +# Unneeded, affects ELF only +# Patch06: binutils-2.29-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 + +# Unneeded, affects ELF only +# Patch08: 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 + +# Unneeded, affects ELF only +# Patch10: binutils-attach-to-group.patch + +# Purpose: Stop gold from complaining about relocs in the .gnu.build.attribute +# section that reference symbols in discarded sections. +# Lifetime: Fixed in 2.33 (maybe) +Patch11: binutils-gold-ignore-discarded-note-relocs.patch + +# Purpose: Allow OS specific sections in section groups. +# Lifetime: Might be fixed in 2.33 +Patch12: binutils-special-sections-in-groups.patch + +# Purpose: Fix linker testsuite failures. +# Lifetime: Fixed in 2.33 (possibly) +Patch13: binutils-fix-testsuite-failures.patch + +# Purpose: Stop gold from aborting when input sections with the same name +# have different flags. +# Lifetime: Fixed in 2.35 (maybe) +Patch14: binutils-gold-mismatched-section-flags.patch + +# Purpose: Fix a potential use of an initialised field by readelf. +# Lifetime: Fixed in 2.35 +Patch15: binutils-readelf-compression-header-size.patch + +# Purpose: Add a check to the GOLD linker for a corrupt input file +# with a fuzzed section offset. +# Lifetime: Fixed in 2.35 (maybe) +Patch16: binutils-CVE-2019-1010204.patch + +### MINGW specific patches + +Patch102: binutils-config.patch + +BuildRequires: gcc +BuildRequires: flex +BuildRequires: bison +BuildRequires: texinfo +BuildRequires: zlib-devel +BuildRequires: mingw32-filesystem >= 102 +BuildRequires: mingw64-filesystem >= 102 +%if %{run_testsuite} +BuildRequires: dejagnu +BuildRequires: sharutils +%endif +Provides: bundled(libiberty) +BuildRequires: autoconf, automake + + +%description +Cross compiled binutils (utilities like 'strip', 'as', 'ld') which +understand Windows executables and DLLs. + +%package -n mingw-binutils-generic +Summary: Utilities which are needed for both the Win32 and Win64 toolchains + +%description -n mingw-binutils-generic +Utilities (like strip and objdump) which are needed for +both the Win32 and Win64 toolchains + +%package -n mingw32-binutils +Summary: Cross-compiled version of binutils for the Win32 environment +Requires: mingw-binutils-generic = %{version}-%{release} + +# NB: This must be left in. +Requires: mingw32-filesystem >= 95 + +%description -n mingw32-binutils +Cross compiled binutils (utilities like 'strip', 'as', 'ld') which +understand Windows executables and DLLs. + +%package -n mingw64-binutils +Summary: Cross-compiled version of binutils for the Win64 environment +Requires: mingw-binutils-generic = %{version}-%{release} + +# NB: This must be left in. +Requires: mingw64-filesystem >= 95 + +%description -n mingw64-binutils +Cross compiled binutils (utilities like 'strip', 'as', 'ld') which +understand Windows executables and DLLs. + + +%prep +%autosetup -p1 -n binutils-%{version} + +# See Patch02 +sed -i -e 's/%''{release}/%{release}/g' bfd/Makefile{.am,.in} + + +%build +# Dependencies are not set up to rebuild the configure files +# in the subdirectories. So we just rebuild the ones we care +# about +pushd libiberty +autoconf +popd +pushd intl +autoconf +popd + +# We call configure directly rather than via macros, thus if +# we are using LTO, we have to manually fix the broken configure +# scripts +[ %{_lto_cflags}x != x ] && %{_fix_broken_configure_for_lto} + + +mkdir build_win32 +pushd build_win32 +CFLAGS="%{optflags}" \ +../configure \ + --build=%_build --host=%_host \ + --target=%{mingw32_target} \ + --disable-nls \ + --with-sysroot=%{mingw32_sysroot} \ + --prefix=%{_prefix} \ + --bindir=%{_bindir} \ + --includedir=%{_includedir} \ + --libdir=%{_libdir} \ + --mandir=%{_mandir} \ + --infodir=%{_infodir} + +%make_build +popd + +mkdir build_win64 +pushd build_win64 +CFLAGS="%{optflags}" \ +../configure \ + --build=%_build --host=%_host \ + --target=%{mingw64_target} \ + --disable-nls \ + --with-sysroot=%{mingw64_sysroot} \ + --prefix=%{_prefix} \ + --bindir=%{_bindir} \ + --includedir=%{_includedir} \ + --libdir=%{_libdir} \ + --mandir=%{_mandir} \ + --infodir=%{_infodir} + +%make_build +popd + +# Create multilib versions for the tools strip, objdump nm, and objcopy +mkdir build_multilib +pushd build_multilib +CFLAGS="%{optflags}" \ +../configure \ + --build=%_build --host=%_host \ + --target=%{mingw64_target} \ + --enable-targets=%{mingw64_target},%{mingw32_target} \ + --disable-nls \ + --with-sysroot=%{mingw64_sysroot} \ + --prefix=%{_prefix} \ + --bindir=%{_bindir} \ + --includedir=%{_includedir} \ + --libdir=%{_libdir} \ + --mandir=%{_mandir} \ + --infodir=%{_infodir} + +%make_build +popd + + +%check +%if !%{run_testsuite} +echo ====================TESTSUITE DISABLED========================= +%else +pushd build_win32 + make -k check < /dev/null || : + echo ====================TESTING WIN32 ========================= + cat {gas/testsuite/gas,ld/ld,binutils/binutils}.sum + echo ====================TESTING WIN32 END===================== + for file in {gas/testsuite/gas,ld/ld,binutils/binutils}.{sum,log} + do + ln $file binutils-%{mingw32_target}-$(basename $file) || : + done + tar cjf binutils-%{mingw32_target}.tar.bz2 binutils-%{mingw32_target}-*.{sum,log} + uuencode binutils-%{mingw32_target}.tar.bz2 binutils-%{mingw32_target}.tar.bz2 + rm -f binutils-%{mingw32_target}.tar.bz2 binutils-%{mingw32_target}-*.{sum,log} +popd + +pushd build_win64 + make -k check < /dev/null || : + echo ====================TESTING WIN64 ========================= + cat {gas/testsuite/gas,ld/ld,binutils/binutils}.sum + echo ====================TESTING WIN64 END===================== + for file in {gas/testsuite/gas,ld/ld,binutils/binutils}.{sum,log} + do + ln $file binutils-%{mingw64_target}-$(basename $file) || : + done + tar cjf binutils-%{mingw64_target}.tar.bz2 binutils-%{mingw64_target}-*.{sum,log} + uuencode binutils-%{mingw64_target}.tar.bz2 binutils-%{mingw64_target}.tar.bz2 + rm -f binutils-%{mingw64_target}.tar.bz2 binutils-%{mingw64_target}-*.{sum,log} +popd +%endif + + +%install +%mingw_make_install +make -C build_multilib DESTDIR=%{buildroot}/multilib install + +# These files conflict with ordinary binutils. +rm -rf %{buildroot}%{_infodir} +rm -f %{buildroot}%{_libdir}/libiberty* + +# Keep the multilib versions of the strip, objdump and objcopy commands +# We need these for the RPM integration as these tools must be able to +# both process win32 and win64 binaries +mv %{buildroot}/multilib%{_bindir}/%{mingw64_strip} %{buildroot}%{_bindir}/%{mingw_strip} +mv %{buildroot}/multilib%{_bindir}/%{mingw64_objdump} %{buildroot}%{_bindir}/%{mingw_objdump} +mv %{buildroot}/multilib%{_bindir}/%{mingw64_objcopy} %{buildroot}%{_bindir}/%{mingw_objcopy} +mv %{buildroot}/multilib%{_bindir}/%{mingw64_nm} %{buildroot}%{_bindir}/%{mingw_nm} +rm -rf %{buildroot}/multilib + + +%files -n mingw-binutils-generic +%license COPYING +%{_mandir}/man1/* +%{_bindir}/%{mingw_strip} +%{_bindir}/%{mingw_objdump} +%{_bindir}/%{mingw_objcopy} +%{_bindir}/%{mingw_nm} + +%files -n mingw32-binutils +%{_bindir}/%{mingw32_target}-addr2line +%{_bindir}/%{mingw32_target}-ar +%{_bindir}/%{mingw32_target}-as +%{_bindir}/%{mingw32_target}-c++filt +%{_bindir}/%{mingw32_target}-dlltool +%{_bindir}/%{mingw32_target}-dllwrap +%{_bindir}/%{mingw32_target}-elfedit +%{_bindir}/%{mingw32_target}-gprof +%{_bindir}/%{mingw32_target}-ld +%{_bindir}/%{mingw32_target}-ld.bfd +%{_bindir}/%{mingw32_target}-nm +%{_bindir}/%{mingw32_target}-objcopy +%{_bindir}/%{mingw32_target}-objdump +%{_bindir}/%{mingw32_target}-ranlib +%{_bindir}/%{mingw32_target}-readelf +%{_bindir}/%{mingw32_target}-size +%{_bindir}/%{mingw32_target}-strings +%{_bindir}/%{mingw32_target}-strip +%{_bindir}/%{mingw32_target}-windmc +%{_bindir}/%{mingw32_target}-windres +%{_prefix}/%{mingw32_target}/bin/ar +%{_prefix}/%{mingw32_target}/bin/as +%{_prefix}/%{mingw32_target}/bin/dlltool +%{_prefix}/%{mingw32_target}/bin/ld +%{_prefix}/%{mingw32_target}/bin/ld.bfd +%{_prefix}/%{mingw32_target}/bin/nm +%{_prefix}/%{mingw32_target}/bin/objcopy +%{_prefix}/%{mingw32_target}/bin/objdump +%{_prefix}/%{mingw32_target}/bin/ranlib +%{_prefix}/%{mingw32_target}/bin/readelf +%{_prefix}/%{mingw32_target}/bin/strip +%{_prefix}/%{mingw32_target}/lib/ldscripts + +%files -n mingw64-binutils +%{_bindir}/%{mingw64_target}-addr2line +%{_bindir}/%{mingw64_target}-ar +%{_bindir}/%{mingw64_target}-as +%{_bindir}/%{mingw64_target}-c++filt +%{_bindir}/%{mingw64_target}-dlltool +%{_bindir}/%{mingw64_target}-dllwrap +%{_bindir}/%{mingw64_target}-elfedit +%{_bindir}/%{mingw64_target}-gprof +%{_bindir}/%{mingw64_target}-ld +%{_bindir}/%{mingw64_target}-ld.bfd +%{_bindir}/%{mingw64_target}-nm +%{_bindir}/%{mingw64_target}-objcopy +%{_bindir}/%{mingw64_target}-objdump +%{_bindir}/%{mingw64_target}-ranlib +%{_bindir}/%{mingw64_target}-readelf +%{_bindir}/%{mingw64_target}-size +%{_bindir}/%{mingw64_target}-strings +%{_bindir}/%{mingw64_target}-strip +%{_bindir}/%{mingw64_target}-windmc +%{_bindir}/%{mingw64_target}-windres +%{_prefix}/%{mingw64_target}/bin/ar +%{_prefix}/%{mingw64_target}/bin/as +%{_prefix}/%{mingw64_target}/bin/dlltool +%{_prefix}/%{mingw64_target}/bin/ld +%{_prefix}/%{mingw64_target}/bin/ld.bfd +%{_prefix}/%{mingw64_target}/bin/nm +%{_prefix}/%{mingw64_target}/bin/objcopy +%{_prefix}/%{mingw64_target}/bin/objdump +%{_prefix}/%{mingw64_target}/bin/ranlib +%{_prefix}/%{mingw64_target}/bin/readelf +%{_prefix}/%{mingw64_target}/bin/strip +%{_prefix}/%{mingw64_target}/lib/ldscripts + + +%changelog +* Wed Jul 29 2020 Sandro Mani - 2.34-3 +- Fix ld --version output + +* Tue Jul 28 2020 Fedora Release Engineering - 2.34-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 20 2020 Jeff Law - 2.34.0-2 +- Fix configure tests compromised by LTO + +* Fri Jun 19 2020 Sandro Mani - 2.34.0-1 +- Update to 2.34.0 +- Modernize spec + +* Wed Jan 29 2020 Fedora Release Engineering - 2.32-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Nov 19 2019 Sandro Mani - 2.32-6 +- Add binutils_24267.patch +- Drop non-relevant patches from native binutils package + +* Tue Aug 13 2019 Fabiano FidĂȘncio - 3.32-5 +- Backport all patches from native binutils package, rhbz#1740709 + +* Wed Aug 07 2019 Sandro Mani - 2.32-4 +- Backport patch to fix "too many open files" when linking libLLVM.dll + +* Thu Jul 25 2019 Fedora Release Engineering - 2.32-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue May 07 2019 Sandro Mani - 2.32-1 +- Update to 2.32 + +* Fri Feb 01 2019 Fedora Release Engineering - 2.30-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Aug 22 2018 Sandro Mani - 2.30-5 +- Refresh patch for binutils bug #23061 + +* Wed Aug 08 2018 Sandro Mani - 2.30-4 +- Backport patch for binutils bug #23061 + +* Fri Jul 13 2018 Fedora Release Engineering - 2.30-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Jun 14 2018 Sandro Mani - 2.30-2 +- Backport patch for binutils bug #22762 + +* Thu Jun 14 2018 Sandro Mani - 2.30-1 +- Update to 2.30 + +* Thu Feb 08 2018 Fedora Release Engineering - 2.29.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sun Oct 08 2017 Kalev Lember - 2.29.1-1 +- Update to 2.29.1 + +* Tue Sep 19 2017 Sandro Mani - 2.29-4 +- Rebuild for mingw-filesystem (for %%mingw_nm macro) + +* Fri Aug 25 2017 Sandro Mani - 2.29-3 +- Also build multilib version of nm + +* Thu Aug 03 2017 Fedora Release Engineering - 2.29-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Kalev Lember - 2.29-1 +- Update to 2.29 + +* Mon Mar 06 2017 Kalev Lember - 2.28-1 +- Update to 2.28 + +* Fri Feb 10 2017 Fedora Release Engineering - 2.27-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Aug 10 2016 Kalev Lember - 2.27-1 +- Update to 2.27 + +* Tue May 10 2016 Kalev Lember - 2.26-1 +- Update to 2.26 + +* Thu Feb 04 2016 Fedora Release Engineering - 2.25-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 2.25-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Tue Dec 23 2014 Erik van Pienbroek - 2.25-1 +- Update to 2.25 + +* Tue Dec 23 2014 Erik van Pienbroek - 2.24-5 +- Fix CVE-2014-8501 (RHBZ #1162578 #1162583) +- Fix CVE-2014-8502 (RHBZ #1162602) +- Fix CVE-2014-8503 (RHBZ #1162612) +- Fix CVE-2014-8504 (RHBZ #1162626) +- Fix CVE-2014-8737 (RHBZ #1162660) +- Fix CVE-2014-8738 (RHBZ #1162673) + +* Sun Aug 17 2014 Fedora Release Engineering - 2.24-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 2.24-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri May 30 2014 Erik van Pienbroek - 2.24-2 +- Fix FTBFS against gcc 4.9 + +* Sat Jan 11 2014 Erik van Pienbroek - 2.24-1 +- Update to 2.24 + +* Sat Aug 03 2013 Fedora Release Engineering - 2.23.52.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Apr 3 2013 Erik van Pienbroek - 2.23.52.0.1-1 +- Update to 2.23.52.0.1 +- Fixes FTBFS against latest texinfo +- Resolve build failure on PPC + +* Thu Feb 14 2013 Fedora Release Engineering - 2.23.51.0.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Jan 22 2013 Erik van Pienbroek - 2.23.51.0.5-3 +- Backported patch to fix 'unexpected version string length' error in windres (RHBZ #902960) + +* Tue Nov 27 2012 Erik van Pienbroek - 2.23.51.0.5-2 +- Added BR: zlib-devel to enable support for compressed debug sections + +* Wed Nov 21 2012 Erik van Pienbroek - 2.23.51.0.5-1 +- Update to 2.23.51.0.5 release + +* Mon Oct 15 2012 Jon Ciesla - 2.22.52.0.4-2 +- Provides: bundled(libiberty) + +* Wed Jul 18 2012 Erik van Pienbroek - 2.22.52.0.4-1 +- Update to 2.22.52.0.4 release + +* Sat Jun 2 2012 Erik van Pienbroek - 2.22.52.0.3-1 +- Update to 2.22.52.0.3 release + +* Sun Apr 8 2012 Erik van Pienbroek - 2.22.52-4 +- Cleaned up unneeded %%global tags + +* Tue Mar 6 2012 Erik van Pienbroek - 2.22.52-3 +- Made the package compliant with the new MinGW packaging guidelines +- Added win64 support +- Added a mingw-binutils-generic package containing toolchain + utilities which can be used by both the win32 and win64 toolchains +- Enable the testsuite +- Package the license +- Fix source URL + +* Tue Mar 6 2012 Erik van Pienbroek - 2.22.52-2 +- Renamed the source package to mingw-binutils (RHBZ #673786) +- Use mingw macros without leading underscore + +* Sat Feb 25 2012 Erik van Pienbroek - 2.22.52-1 +- Update to 2.22.52 20120225 snapshot +- Bump the BR/R: mingw32-filesystem to >= 95 +- Rebuild using the i686-w64-mingw32 triplet +- Dropped some obsolete configure arguments +- Temporary provide mingw-strip, mingw-objdump and mingw-objcopy + in preparation for win32+win64 support + +* Tue Jan 10 2012 Erik van Pienbroek - 2.22-1 +- Update to 2.22 +- Dropped unneeded RPM tags +- Use parallel make + +* Tue May 10 2011 Kalev Lember - 2.21-2 +- Default to runtime pseudo reloc v2 now that mingw32-runtime 3.18 is in + +* Thu Mar 17 2011 Kalev Lember - 2.21-1 +- Update to 2.21 +- Added a patch to use runtime pseudo reloc v1 by default as the version of + mingw32-runtime we have does not support v2. +- Don't own the /usr/i686-pc-mingw32/bin/ directory + +* Tue Feb 08 2011 Fedora Release Engineering - 2.20.51.0.10-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Sep 7 2010 Richard W.M. Jones - 2.20.51.0.10-1 +- Synchronize with Fedora native version (2.20.51.0.10). +- Note however that we are not using any Fedora patches. + +* Thu May 13 2010 Kalev Lember - 2.20.1-1 +- Update to 2.20.1 + +* Wed Sep 16 2009 Kalev Lember - 2.19.51.0.14-1 +- Update to 2.19.51.0.14 + +* Sat Jul 25 2009 Fedora Release Engineering - 2.19.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Tue Mar 10 2009 Richard W.M. Jones - 2.19.1-4 +- Switch to using upstream (GNU) binutils 2.19.1. It's exactly the + same as the MinGW version now. + +* Wed Feb 25 2009 Fedora Release Engineering - 2.19.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Fri Feb 20 2009 Richard W.M. Jones - 2.19.1-2 +- Rebuild for mingw32-gcc 4.4 + +* Tue Feb 10 2009 Richard W.M. Jones - 2.19.1-1 +- New upstream version 2.19.1. + +* Mon Dec 15 2008 Richard W.M. Jones - 2.19-1 +- New upstream version 2.19. + +* Sat Nov 29 2008 Richard W.M. Jones - 2.18.50_20080109_2-10 +- Must runtime-require mingw32-filesystem. + +* Fri Nov 21 2008 Levente Farkas - 2.18.50_20080109_2-9 +- BR mingw32-filesystem >= 38 + +* Wed Sep 24 2008 Richard W.M. Jones - 2.18.50_20080109_2-8 +- Rename mingw -> mingw32. +- BR mingw32-filesystem >= 26. + +* Thu Sep 4 2008 Richard W.M. Jones - 2.18.50_20080109_2-7 +- Use mingw-filesystem. + +* Mon Jul 7 2008 Richard W.M. Jones - 2.18.50_20080109_2-5 +- Initial RPM release, largely based on earlier work from several sources. diff --git a/sources b/sources new file mode 100644 index 0000000..24c4851 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (binutils-2.34.tar.bz2) = f47e7304e102c7bbc97958a08093e27796b9051d1567ce4fbb723d39ef3e29efa325ee14a1bdcc462a925a7f9bbbc9aee28294c6dc23850f371030f3835a8067