Backport patches for CVE-2020-16592, CVE-2020-16598

This commit is contained in:
Sandro Mani 2020-12-18 02:58:14 +01:00
parent caa6ff7b36
commit d64b647111
16 changed files with 124 additions and 66 deletions

View File

@ -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__

View File

@ -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 $@"

View File

@ -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;

View File

@ -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)

View File

@ -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])

View File

@ -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

View File

@ -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 \

View File

@ -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" \
] \

View File

@ -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;

View File

@ -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<size, big_endian>::do_
omit[i] = true;
}

View File

@ -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;

View File

@ -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);

View File

@ -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
}
}

View File

@ -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"),

View File

@ -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),

View File

@ -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 <manisandro@gmail.com> - 2.34-4
- Backport patches for CVE-2020-16592, CVE-2020-16598
* Wed Jul 29 2020 Sandro Mani <manisandro@gmail.com> - 2.34-3
- Fix ld --version output