From c976b1ba25611ef0bcb56a4a2eece86135f9fb66 Mon Sep 17 00:00:00 2001 From: DistroBaker Date: Fri, 18 Dec 2020 03:26:09 +0000 Subject: [PATCH] Merged update from upstream sources This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/mingw-binutils.git#d64b64711179af8e3626c00d6b8041726dc3e6d8 --- binutils-2.22.52.0.4-no-config-h-check.patch | 4 +- binutils-2.25-version.patch | 4 +- ...tils-2.29-filename-in-error-messages.patch | 2 +- binutils-CVE-2019-1010204.patch | 2 +- binutils-config.patch | 38 +++++++------- ...ls-do-not-link-with-static-libstdc++.patch | 4 +- binutils-export-demangle.h.patch | 8 +-- binutils-fix-testsuite-failures.patch | 50 +++++++++---------- ...ls-gold-ignore-discarded-note-relocs.patch | 2 +- binutils-gold-mismatched-section-flags.patch | 4 +- ...tils-readelf-compression-header-size.patch | 4 +- binutils-readelf-other-sym-info.patch | 4 +- binutils-special-sections-in-groups.patch | 2 +- binutils_CVE-2020-16592.patch | 39 +++++++++++++++ binutils_CVE-2020-16598.patch | 12 +++++ mingw-binutils.spec | 11 +++- 16 files changed, 124 insertions(+), 66 deletions(-) create mode 100644 binutils_CVE-2020-16592.patch create mode 100644 binutils_CVE-2020-16598.patch 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 index cca5e81..e1d6ed4 100644 --- a/binutils-2.22.52.0.4-no-config-h-check.patch +++ b/binutils-2.22.52.0.4-no-config-h-check.patch @@ -1,6 +1,6 @@ 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 ++++ binutils-2.34-new/bfd/bfd-in2.h 2020-12-18 02:57:14.328056141 +0100 @@ -30,11 +30,6 @@ #ifndef __BFD_H_SEEN__ #define __BFD_H_SEEN__ @@ -15,7 +15,7 @@ diff -rupN --no-dereference binutils-2.34/bfd/bfd-in2.h binutils-2.34-new/bfd/bf #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 ++++ binutils-2.34-new/bfd/bfd-in.h 2020-12-18 02:57:14.329056138 +0100 @@ -23,11 +23,6 @@ #ifndef __BFD_H_SEEN__ #define __BFD_H_SEEN__ diff --git a/binutils-2.25-version.patch b/binutils-2.25-version.patch index 118d7ed..c430d1d 100644 --- a/binutils-2.25-version.patch +++ b/binutils-2.25-version.patch @@ -1,6 +1,6 @@ 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 ++++ binutils-2.34-new/bfd/Makefile.am 2020-12-18 02:57:12.205063623 +0100 @@ -967,8 +967,8 @@ DISTCLEANFILES = $(BUILD_CFILES) $(BUILD bfdver.h: $(srcdir)/version.h $(srcdir)/development.sh $(srcdir)/Makefile.in @echo "creating $@" @@ -23,7 +23,7 @@ diff -rupN --no-dereference binutils-2.34/bfd/Makefile.am binutils-2.34-new/bfd/ 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 ++++ binutils-2.34-new/bfd/Makefile.in 2020-12-18 02:57:12.205063623 +0100 @@ -2081,8 +2081,8 @@ stmp-lcoff-h: $(LIBCOFF_H_FILES) bfdver.h: $(srcdir)/version.h $(srcdir)/development.sh $(srcdir)/Makefile.in @echo "creating $@" diff --git a/binutils-2.29-filename-in-error-messages.patch b/binutils-2.29-filename-in-error-messages.patch index 52aee4f..011108d 100644 --- a/binutils-2.29-filename-in-error-messages.patch +++ b/binutils-2.29-filename-in-error-messages.patch @@ -1,6 +1,6 @@ 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 ++++ binutils-2.34-new/binutils/readelf.c 2020-12-18 02:57:15.341052571 +0100 @@ -20350,75 +20350,85 @@ process_file (char * file_name) Filedata * filedata = NULL; struct stat statbuf; diff --git a/binutils-CVE-2019-1010204.patch b/binutils-CVE-2019-1010204.patch index 3dd5270..1843bb1 100644 --- a/binutils-CVE-2019-1010204.patch +++ b/binutils-CVE-2019-1010204.patch @@ -1,6 +1,6 @@ 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 ++++ binutils-2.34-new/gold/fileread.cc 2020-12-18 02:57:23.485023881 +0100 @@ -381,6 +381,12 @@ File_read::do_read(off_t start, section_ ssize_t bytes; if (this->whole_file_view_ != NULL) diff --git a/binutils-config.patch b/binutils-config.patch index 8456584..1d7651d 100644 --- a/binutils-config.patch +++ b/binutils-config.patch @@ -1,19 +1,6 @@ -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 +diff -rupN --no-dereference binutils-2.34/config/intdiv0.m4 binutils-2.34-new/config/intdiv0.m4 +--- binutils-2.34/config/intdiv0.m4 2020-01-18 14:55:47.000000000 +0100 ++++ binutils-2.34-new/config/intdiv0.m4 2020-12-18 02:57:26.339013830 +0100 @@ -31,10 +31,10 @@ sigfpe_handler (sig) int sig; exit (sig != SIGFPE); } @@ -29,10 +16,21 @@ index 55dddcf1..ba906efc 100644 int main () { -diff --git a/libiberty/configure.ac b/libiberty/configure.ac -index f1ce7601..fc20d228 100644 ---- a/libiberty/configure.ac -+++ b/libiberty/configure.ac +diff -rupN --no-dereference binutils-2.34/libiberty/aclocal.m4 binutils-2.34-new/libiberty/aclocal.m4 +--- binutils-2.34/libiberty/aclocal.m4 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/libiberty/aclocal.m4 2020-12-18 02:57:26.339013830 +0100 +@@ -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 -rupN --no-dereference binutils-2.34/libiberty/configure.ac binutils-2.34-new/libiberty/configure.ac +--- binutils-2.34/libiberty/configure.ac 2020-01-18 14:55:48.000000000 +0100 ++++ binutils-2.34-new/libiberty/configure.ac 2020-12-18 02:57:26.339013830 +0100 @@ -661,7 +661,7 @@ if test -z "${setobjs}"; then for v in $vars; do AC_MSG_CHECKING([for $v]) diff --git a/binutils-do-not-link-with-static-libstdc++.patch b/binutils-do-not-link-with-static-libstdc++.patch index e8b2ab1..b910b1a 100644 --- a/binutils-do-not-link-with-static-libstdc++.patch +++ b/binutils-do-not-link-with-static-libstdc++.patch @@ -1,6 +1,6 @@ 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 ++++ binutils-2.34-new/configure 2020-12-18 02:57:17.364045443 +0100 @@ -5103,49 +5103,6 @@ if test -z "$LD"; then fi fi @@ -53,7 +53,7 @@ diff -rupN --no-dereference binutils-2.34/configure binutils-2.34-new/configure 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 ++++ binutils-2.34-new/configure.ac 2020-12-18 02:57:17.364045443 +0100 @@ -1284,26 +1284,6 @@ if test -z "$LD"; then fi fi diff --git a/binutils-export-demangle.h.patch b/binutils-export-demangle.h.patch index 1e9001c..ed87e96 100644 --- a/binutils-export-demangle.h.patch +++ b/binutils-export-demangle.h.patch @@ -1,6 +1,6 @@ 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 +--- binutils-2.34/bfd/Makefile.am 2020-12-18 02:57:13.290059799 +0100 ++++ binutils-2.34-new/bfd/Makefile.am 2020-12-18 02:57:13.293059789 +0100 @@ -33,7 +33,7 @@ bfdlibdir = @bfdlibdir@ bfdincludedir = @bfdincludedir@ bfdlib_LTLIBRARIES = libbfd.la @@ -11,8 +11,8 @@ diff -rupN --no-dereference binutils-2.34/bfd/Makefile.am binutils-2.34-new/bfd/ # 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 +--- binutils-2.34/bfd/Makefile.in 2020-12-18 02:57:13.290059799 +0100 ++++ binutils-2.34-new/bfd/Makefile.in 2020-12-18 02:57:13.294059785 +0100 @@ -249,7 +249,7 @@ am__can_run_installinfo = \ esac am__bfdinclude_HEADERS_DIST = $(INCDIR)/plugin-api.h bfd.h \ diff --git a/binutils-fix-testsuite-failures.patch b/binutils-fix-testsuite-failures.patch index 5a082a7..6dcd3c9 100644 --- a/binutils-fix-testsuite-failures.patch +++ b/binutils-fix-testsuite-failures.patch @@ -1,6 +1,6 @@ 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 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-10.d 2020-12-18 02:57:20.370034853 +0100 @@ -32,7 +32,8 @@ hook called: claim_file tmpdir/func.o \[ hook called: claim_file tmpdir/libtext.a \[@.* not claimed #... @@ -13,7 +13,7 @@ diff -rupN --no-dereference binutils-2.34/ld/testsuite/ld-plugin/plugin-10.d bin #... 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 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-11.d 2020-12-18 02:57:20.371034849 +0100 @@ -35,8 +35,9 @@ hook called: claim_file tmpdir/func.o \[ hook called: claim_file tmpdir/libtext.a \[@.* CLAIMED #... @@ -28,7 +28,7 @@ diff -rupN --no-dereference binutils-2.34/ld/testsuite/ld-plugin/plugin-11.d bin #... 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 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-13.d 2020-12-18 02:57:20.371034849 +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 @@ -37,7 +37,7 @@ diff -rupN --no-dereference binutils-2.34/ld/testsuite/ld-plugin/plugin-13.d bin -#... 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 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-14.d 2020-12-18 02:57:20.371034849 +0100 @@ -27,7 +27,6 @@ hook called: claim_file .*/ld/testsuite/ hook called: claim_file tmpdir/text.o \[@0/.* not claimed #... @@ -49,7 +49,7 @@ diff -rupN --no-dereference binutils-2.34/ld/testsuite/ld-plugin/plugin-14.d bin #... 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 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-15.d 2020-12-18 02:57:20.371034849 +0100 @@ -28,7 +28,6 @@ hook called: claim_file .*/ld/testsuite/ hook called: claim_file tmpdir/text.o \[@0/.* not claimed #... @@ -61,7 +61,7 @@ diff -rupN --no-dereference binutils-2.34/ld/testsuite/ld-plugin/plugin-15.d bin #... 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 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-16.d 2020-12-18 02:57:20.372034846 +0100 @@ -30,9 +30,8 @@ hook called: claim_file .*/ld/testsuite/ hook called: claim_file tmpdir/text.o \[@0/.* not claimed #... @@ -76,7 +76,7 @@ diff -rupN --no-dereference binutils-2.34/ld/testsuite/ld-plugin/plugin-16.d bin #... 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 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-17.d 2020-12-18 02:57:20.372034846 +0100 @@ -31,7 +31,8 @@ hook called: claim_file .*/ld/testsuite/ hook called: claim_file tmpdir/text.o \[@0/.* not claimed #... @@ -89,7 +89,7 @@ diff -rupN --no-dereference binutils-2.34/ld/testsuite/ld-plugin/plugin-17.d bin #... 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 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-18.d 2020-12-18 02:57:20.372034846 +0100 @@ -32,7 +32,8 @@ hook called: claim_file .*/ld/testsuite/ hook called: claim_file tmpdir/libtext.a \[@.* not claimed #... @@ -102,7 +102,7 @@ diff -rupN --no-dereference binutils-2.34/ld/testsuite/ld-plugin/plugin-18.d bin #... 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 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-19.d 2020-12-18 02:57:20.372034846 +0100 @@ -35,8 +35,9 @@ hook called: claim_file .*/ld/testsuite/ hook called: claim_file tmpdir/libtext.a \[@.* CLAIMED #... @@ -117,7 +117,7 @@ diff -rupN --no-dereference binutils-2.34/ld/testsuite/ld-plugin/plugin-19.d bin #... 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 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-20.d 2020-12-18 02:57:20.372034846 +0100 @@ -2,6 +2,5 @@ hook called: all symbols read. Input: func.c \(tmpdir/libfunc.a\) Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.* @@ -128,7 +128,7 @@ diff -rupN --no-dereference binutils-2.34/ld/testsuite/ld-plugin/plugin-20.d bin 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 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-21.d 2020-12-18 02:57:20.372034846 +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.* @@ -139,7 +139,7 @@ diff -rupN --no-dereference binutils-2.34/ld/testsuite/ld-plugin/plugin-21.d bin 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 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-22.d 2020-12-18 02:57:20.373034842 +0100 @@ -2,6 +2,5 @@ Claimed: tmpdir/libfunc.a \[@.* hook called: all symbols read. Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.* @@ -150,7 +150,7 @@ diff -rupN --no-dereference binutils-2.34/ld/testsuite/ld-plugin/plugin-22.d bin 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 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-23.d 2020-12-18 02:57:20.373034842 +0100 @@ -2,6 +2,5 @@ Claimed: .*/ld/testsuite/ld-plugin/func. hook called: all symbols read. Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.* @@ -161,7 +161,7 @@ diff -rupN --no-dereference binutils-2.34/ld/testsuite/ld-plugin/plugin-23.d bin 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 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-24.d 2020-12-18 02:57:20.373034842 +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.* @@ -170,7 +170,7 @@ diff -rupN --no-dereference binutils-2.34/ld/testsuite/ld-plugin/plugin-24.d bin 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 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-25.d 2020-12-18 02:57:20.373034842 +0100 @@ -2,4 +2,5 @@ Claimed: .*/ld/testsuite/ld-plugin/func. hook called: all symbols read. Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.* @@ -179,19 +179,19 @@ diff -rupN --no-dereference binutils-2.34/ld/testsuite/ld-plugin/plugin-25.d bin 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 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-28.d 2020-12-18 02:57:20.373034842 +0100 @@ -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 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-29.d 2020-12-18 02:57:20.373034842 +0100 @@ -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 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-30.d 2020-12-18 02:57:20.373034842 +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 @@ -199,7 +199,7 @@ diff -rupN --no-dereference binutils-2.34/ld/testsuite/ld-plugin/plugin-30.d bin +#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 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-6.d 2020-12-18 02:57:20.374034839 +0100 @@ -27,7 +27,6 @@ hook called: claim_file tmpdir/func.o \[ hook called: claim_file tmpdir/text.o \[@0/.* not claimed #... @@ -211,7 +211,7 @@ diff -rupN --no-dereference binutils-2.34/ld/testsuite/ld-plugin/plugin-6.d binu #... 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 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-7.d 2020-12-18 02:57:20.374034839 +0100 @@ -28,7 +28,6 @@ hook called: claim_file tmpdir/func.o \[ hook called: claim_file tmpdir/text.o \[@0/.* not claimed #... @@ -223,7 +223,7 @@ diff -rupN --no-dereference binutils-2.34/ld/testsuite/ld-plugin/plugin-7.d binu #... 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 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-8.d 2020-12-18 02:57:20.374034839 +0100 @@ -30,9 +30,8 @@ hook called: claim_file tmpdir/func.o \[ hook called: claim_file tmpdir/text.o \[@0/.* not claimed #... @@ -238,7 +238,7 @@ diff -rupN --no-dereference binutils-2.34/ld/testsuite/ld-plugin/plugin-8.d binu #... 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 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/plugin-9.d 2020-12-18 02:57:20.374034839 +0100 @@ -31,7 +31,8 @@ hook called: claim_file tmpdir/func.o \[ hook called: claim_file tmpdir/text.o \[@0/.* not claimed #... @@ -251,7 +251,7 @@ diff -rupN --no-dereference binutils-2.34/ld/testsuite/ld-plugin/plugin-9.d binu #... 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 ++++ binutils-2.34-new/ld/testsuite/ld-plugin/pr20070.d 2020-12-18 02:57:20.374034839 +0100 @@ -5,5 +5,6 @@ Sym: 'weakdef' Resolution: LDPR_PREVAILI Sym: 'undef' Resolution: LDPR_UNDEF Sym: 'weakundef' Resolution: LDPR_UNDEF @@ -261,7 +261,7 @@ diff -rupN --no-dereference binutils-2.34/ld/testsuite/ld-plugin/pr20070.d binut #... 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 ++++ binutils-2.34-new/ld/testsuite/ld-srec/srec.exp 2020-12-18 02:57:20.374034839 +0100 @@ -21,6 +21,8 @@ # Get the offset from an S-record line to the start of the data. @@ -273,7 +273,7 @@ diff -rupN --no-dereference binutils-2.34/ld/testsuite/ld-srec/srec.exp binutils 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 ++++ binutils-2.34-new/ld/testsuite/ld-x86-64/x86-64.exp 2020-12-18 02:57:20.374034839 +0100 @@ -1322,25 +1322,6 @@ if { [isnative] && [check_compiler_avail "$NOPIE_CFLAGS" \ ] \ diff --git a/binutils-gold-ignore-discarded-note-relocs.patch b/binutils-gold-ignore-discarded-note-relocs.patch index f9f7701..ab2bc7c 100644 --- a/binutils-gold-ignore-discarded-note-relocs.patch +++ b/binutils-gold-ignore-discarded-note-relocs.patch @@ -1,6 +1,6 @@ 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 ++++ binutils-2.34-new/gold/target-reloc.h 2020-12-18 02:57:18.369041902 +0100 @@ -136,6 +136,7 @@ class Default_comdat_behavior if (Layout::is_debug_info_section(name)) return CB_PRETEND; diff --git a/binutils-gold-mismatched-section-flags.patch b/binutils-gold-mismatched-section-flags.patch index 3935490..8496561 100644 --- a/binutils-gold-mismatched-section-flags.patch +++ b/binutils-gold-mismatched-section-flags.patch @@ -1,6 +1,6 @@ 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 ++++ binutils-2.34-new/gold/layout.cc 2020-12-18 02:57:21.401031221 +0100 @@ -869,6 +869,7 @@ Layout::get_output_section(const char* n && (same_name->flags() & elfcpp::SHF_TLS) == 0) os = same_name; @@ -19,7 +19,7 @@ diff -rupN --no-dereference binutils-2.34/gold/layout.cc binutils-2.34-new/gold/ 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 ++++ binutils-2.34-new/gold/object.cc 2020-12-18 02:57:21.402031218 +0100 @@ -1656,6 +1656,13 @@ Sized_relobj_file::do_ omit[i] = true; } diff --git a/binutils-readelf-compression-header-size.patch b/binutils-readelf-compression-header-size.patch index b245608..6ad24a1 100644 --- a/binutils-readelf-compression-header-size.patch +++ b/binutils-readelf-compression-header-size.patch @@ -1,6 +1,6 @@ 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 +--- binutils-2.34/binutils/readelf.c 2020-12-18 02:57:17.359045461 +0100 ++++ binutils-2.34-new/binutils/readelf.c 2020-12-18 02:57:22.432027590 +0100 @@ -6714,15 +6714,18 @@ process_section_headers (Filedata * file { Elf_Internal_Chdr chdr; diff --git a/binutils-readelf-other-sym-info.patch b/binutils-readelf-other-sym-info.patch index d52a12f..ef9f6ea 100644 --- a/binutils-readelf-other-sym-info.patch +++ b/binutils-readelf-other-sym-info.patch @@ -1,6 +1,6 @@ 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 +--- binutils-2.34/binutils/readelf.c 2020-12-18 02:57:16.348049023 +0100 ++++ binutils-2.34-new/binutils/readelf.c 2020-12-18 02:57:16.353049005 +0100 @@ -11496,12 +11496,14 @@ print_dynamic_symbol (Filedata * filedat unsigned int vis = ELF_ST_VISIBILITY (psym->st_other); diff --git a/binutils-special-sections-in-groups.patch b/binutils-special-sections-in-groups.patch index bdd7515..a90203a 100644 --- a/binutils-special-sections-in-groups.patch +++ b/binutils-special-sections-in-groups.patch @@ -1,6 +1,6 @@ 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 ++++ binutils-2.34-new/bfd/elf.c 2020-12-18 02:57:19.376038355 +0100 @@ -838,7 +838,13 @@ setup_group (bfd *abfd, Elf_Internal_Shd } } diff --git a/binutils_CVE-2020-16592.patch b/binutils_CVE-2020-16592.patch new file mode 100644 index 0000000..b8f0125 --- /dev/null +++ b/binutils_CVE-2020-16592.patch @@ -0,0 +1,39 @@ +diff -rupN --no-dereference binutils-2.34/bfd/peXXigen.c binutils-2.34-new/bfd/peXXigen.c +--- binutils-2.34/bfd/peXXigen.c 2020-01-18 14:55:47.000000000 +0100 ++++ binutils-2.34-new/bfd/peXXigen.c 2020-12-18 02:57:24.508020278 +0100 +@@ -177,25 +177,25 @@ _bfd_XXi_swap_sym_in (bfd * abfd, void * + int unused_section_number = 0; + asection *sec; + flagword flags; ++ size_t name_len; ++ char *sec_name; + + for (sec = abfd->sections; sec; sec = sec->next) + if (unused_section_number <= sec->target_index) + unused_section_number = sec->target_index + 1; + +- if (name == namebuf) ++ name_len = strlen (name) + 1; ++ sec_name = bfd_alloc (abfd, name_len); ++ if (sec_name == NULL) + { +- name = (const char *) bfd_alloc (abfd, strlen (namebuf) + 1); +- if (name == NULL) +- { +- _bfd_error_handler (_("%pB: out of memory creating name for empty section"), +- abfd); +- return; +- } +- strcpy ((char *) name, namebuf); ++ _bfd_error_handler (_("%pB: out of memory creating name " ++ "for empty section"), abfd); ++ return; + } ++ memcpy (sec_name, name, name_len); + + flags = SEC_HAS_CONTENTS | SEC_ALLOC | SEC_DATA | SEC_LOAD; +- sec = bfd_make_section_anyway_with_flags (abfd, name, flags); ++ sec = bfd_make_section_anyway_with_flags (abfd, sec_name, flags); + if (sec == NULL) + { + _bfd_error_handler (_("%pB: unable to create fake empty section"), diff --git a/binutils_CVE-2020-16598.patch b/binutils_CVE-2020-16598.patch new file mode 100644 index 0000000..3291b52 --- /dev/null +++ b/binutils_CVE-2020-16598.patch @@ -0,0 +1,12 @@ +diff -rupN --no-dereference binutils-2.34/binutils/debug.c binutils-2.34-new/binutils/debug.c +--- binutils-2.34/binutils/debug.c 2020-01-18 14:55:47.000000000 +0100 ++++ binutils-2.34-new/binutils/debug.c 2020-12-18 02:57:25.423017056 +0100 +@@ -3277,6 +3277,8 @@ debug_class_type_samep (struct debug_han + names, since that sometimes fails in the presence of + typedefs and we really don't care. */ + if (strcmp (f1->name, f2->name) != 0 ++ || f1->type == NULL ++ || f2->type == NULL + || ! debug_type_samep (info, + debug_get_real_type ((void *) info, + f1->type, NULL), diff --git a/mingw-binutils.spec b/mingw-binutils.spec index f2d3c01..06d0d4c 100644 --- a/mingw-binutils.spec +++ b/mingw-binutils.spec @@ -2,7 +2,7 @@ Name: mingw-binutils Version: 2.34 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Cross-compiled version of binutils for Win32 and Win64 environments License: GPLv2+ and LGPLv2+ and GPLv3+ and LGPLv3+ @@ -92,6 +92,12 @@ Patch15: binutils-readelf-compression-header-size.patch # with a fuzzed section offset. # Lifetime: Fixed in 2.35 (maybe) Patch16: binutils-CVE-2019-1010204.patch +# Backport fix for CVE-2020-16592 +# https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=7ecb51549ab1ec22aba5aaf34b70323cf0b8509a +Patch17: binutils_CVE-2020-16592.patch +# Backport fix for CVE-2020-16598 +# https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ca3f923f82a079dcf441419f4a50a50f8b4b33c2 +Patch18: binutils_CVE-2020-16598.patch ### MINGW specific patches @@ -357,6 +363,9 @@ rm -rf %{buildroot}/multilib %changelog +* Fri Dec 18 2020 Sandro Mani - 2.34-4 +- Backport patches for CVE-2020-16592, CVE-2020-16598 + * Wed Jul 29 2020 Sandro Mani - 2.34-3 - Fix ld --version output