diff --git a/.gitignore b/.gitignore index f31c610..b59e8d9 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ binutils-2.20.1.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/0001-Plugin-target-handling.patch b/0001-Plugin-target-handling.patch deleted file mode 100644 index e808184..0000000 --- a/0001-Plugin-target-handling.patch +++ /dev/null @@ -1,158 +0,0 @@ -diff -rupN --no-dereference binutils-2.32/bfd/config.bfd binutils-2.32-new/bfd/config.bfd ---- binutils-2.32/bfd/config.bfd 2019-01-19 17:01:32.000000000 +0100 -+++ binutils-2.32-new/bfd/config.bfd 2019-11-19 20:47:16.708676031 +0100 -@@ -217,11 +217,6 @@ esac - # convention, else the table becomes a real mess to understand and maintain. - - case "${targ}" in -- plugin) -- targ_defvec=plugin_vec -- targ_selvecs="plugin_vec" -- ;; -- - # START OF targmatch.h - #ifdef BFD64 - aarch64-*-darwin*) -diff -rupN --no-dereference binutils-2.32/bfd/configure binutils-2.32-new/bfd/configure ---- binutils-2.32/bfd/configure 2019-02-02 16:47:56.000000000 +0100 -+++ binutils-2.32-new/bfd/configure 2019-11-19 20:47:16.710676043 +0100 -@@ -12409,10 +12409,6 @@ else - fi - - --if test "$plugins" = "yes"; then -- enable_targets="$enable_targets plugin" --fi -- - # Check whether --enable-64-bit-bfd was given. - if test "${enable_64_bit_bfd+set}" = set; then : - enableval=$enable_64_bit_bfd; case "${enableval}" in -@@ -14580,12 +14576,12 @@ selarchs= - TDEFINES= - for targ in $target $canon_targets - do -- if test "x$targ" = "xall"; then -+ if test $targ = all; then - all_targets=true - assocvecs="$assocvecs $targ_defvec $targ_selvecs" -- else -+ elif test $targ != plugin; then - . $srcdir/config.bfd -- if test "x$targ" = "x$target"; then -+ if test $targ = $target; then - defvec=$targ_defvec - fi - selvecs="$selvecs $targ_defvec $targ_selvecs" -@@ -14820,7 +14816,6 @@ do - pef_xlib_vec) tb="$tb pef.lo" ;; - pj_elf32_vec) tb="$tb elf32-pj.lo elf32.lo $elf" ;; - pj_elf32_le_vec) tb="$tb elf32-pj.lo elf32.lo $elf" ;; -- plugin_vec) tb="$tb plugin.lo" ;; - powerpc_boot_vec) tb="$tb ppcboot.lo" ;; - powerpc_elf32_vec) tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;; - powerpc_elf32_le_vec) tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;; -@@ -14947,6 +14942,10 @@ do - fi - done - -+if test "$plugins" = "yes"; then -+ tb="$tb plugin.lo" -+fi -+ - # Target architecture .o files. - # A couple of CPUs use shorter file names to avoid problems on DOS - # filesystems. -diff -rupN --no-dereference binutils-2.32/bfd/configure.ac binutils-2.32-new/bfd/configure.ac ---- binutils-2.32/bfd/configure.ac 2019-01-19 17:01:32.000000000 +0100 -+++ binutils-2.32-new/bfd/configure.ac 2019-11-19 20:47:16.710676043 +0100 -@@ -46,10 +46,6 @@ ACX_LARGEFILE - - AM_CONDITIONAL(PLUGINS, test "$plugins" = "yes") - --if test "$plugins" = "yes"; then -- enable_targets="$enable_targets plugin" --fi -- - AC_ARG_ENABLE(64-bit-bfd, - [ --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)], - [case "${enableval}" in -@@ -348,12 +344,12 @@ selarchs= - TDEFINES= - for targ in $target $canon_targets - do -- if test "x$targ" = "xall"; then -+ if test $targ = all; then - all_targets=true - assocvecs="$assocvecs $targ_defvec $targ_selvecs" -- else -+ elif test $targ != plugin; then - . $srcdir/config.bfd -- if test "x$targ" = "x$target"; then -+ if test $targ = $target; then - defvec=$targ_defvec - fi - selvecs="$selvecs $targ_defvec $targ_selvecs" -@@ -588,7 +584,6 @@ do - pef_xlib_vec) tb="$tb pef.lo" ;; - pj_elf32_vec) tb="$tb elf32-pj.lo elf32.lo $elf" ;; - pj_elf32_le_vec) tb="$tb elf32-pj.lo elf32.lo $elf" ;; -- plugin_vec) tb="$tb plugin.lo" ;; - powerpc_boot_vec) tb="$tb ppcboot.lo" ;; - powerpc_elf32_vec) tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;; - powerpc_elf32_le_vec) tb="$tb elf32-ppc.lo elf-vxworks.lo elf32.lo $elf" ;; -@@ -715,6 +710,10 @@ do - fi - done - -+if test "$plugins" = "yes"; then -+ tb="$tb plugin.lo" -+fi -+ - # Target architecture .o files. - # A couple of CPUs use shorter file names to avoid problems on DOS - # filesystems. -diff -rupN --no-dereference binutils-2.32/bfd/format.c binutils-2.32-new/bfd/format.c ---- binutils-2.32/bfd/format.c 2019-01-19 17:01:33.000000000 +0100 -+++ binutils-2.32-new/bfd/format.c 2019-11-19 20:47:16.710676043 +0100 -@@ -290,8 +290,15 @@ bfd_check_format_matches (bfd *abfd, bfd - { - const bfd_target *temp; - -- /* Don't check the default target twice. */ -+ /* The binary target matches anything, so don't return it when -+ searching. Don't match the plugin target if we have another -+ alternative since we want to properly set the input format -+ before allowing a plugin to claim the file. Also, don't -+ check the default target twice. */ - if (*target == &binary_vec -+#if BFD_SUPPORTS_PLUGINS -+ || (match_count != 0 && *target == &plugin_vec) -+#endif - || (!abfd->target_defaulted && *target == save_targ)) - continue; - -diff -rupN --no-dereference binutils-2.32/bfd/targets.c binutils-2.32-new/bfd/targets.c ---- binutils-2.32/bfd/targets.c 2019-01-19 17:01:33.000000000 +0100 -+++ binutils-2.32-new/bfd/targets.c 2019-11-19 20:47:16.711676049 +0100 -@@ -1142,10 +1142,6 @@ static const bfd_target * const _bfd_tar - &pj_elf32_vec, - &pj_elf32_le_vec, - --#if BFD_SUPPORTS_PLUGINS -- &plugin_vec, --#endif -- - &powerpc_boot_vec, - &powerpc_elf32_vec, - &powerpc_elf32_le_vec, -@@ -1298,6 +1294,10 @@ static const bfd_target * const _bfd_tar - /* Likewise for ihex. */ - &ihex_vec, - -+#if BFD_SUPPORTS_PLUGINS -+ &plugin_vec, -+#endif -+ - /* Add any required traditional-core-file-handler. */ - - #ifdef AIX386_CORE 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 caf99dd..cca5e81 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.32/bfd/bfd-in2.h binutils-2.32-new/bfd/bfd-in2.h ---- binutils-2.32/bfd/bfd-in2.h 2019-01-19 17:01:32.000000000 +0100 -+++ binutils-2.32-new/bfd/bfd-in2.h 2019-11-19 20:46:59.623577944 +0100 +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__ @@ -13,9 +13,9 @@ diff -rupN --no-dereference binutils-2.32/bfd/bfd-in2.h binutils-2.32-new/bfd/bf #ifdef __cplusplus extern "C" { #endif -diff -rupN --no-dereference binutils-2.32/bfd/bfd-in.h binutils-2.32-new/bfd/bfd-in.h ---- binutils-2.32/bfd/bfd-in.h 2019-01-19 17:01:32.000000000 +0100 -+++ binutils-2.32-new/bfd/bfd-in.h 2019-11-19 20:46:59.622577938 +0100 +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__ diff --git a/binutils-2.25-version.patch b/binutils-2.25-version.patch index fb1f221..118d7ed 100644 --- a/binutils-2.25-version.patch +++ b/binutils-2.25-version.patch @@ -1,7 +1,7 @@ -diff -rupN --no-dereference binutils-2.32/bfd/Makefile.am binutils-2.32-new/bfd/Makefile.am ---- binutils-2.32/bfd/Makefile.am 2019-01-19 17:01:32.000000000 +0100 -+++ binutils-2.32-new/bfd/Makefile.am 2019-11-19 20:46:58.072569411 +0100 -@@ -953,8 +953,8 @@ DISTCLEANFILES = $(BUILD_CFILES) $(BUILD +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/'` ;\ @@ -12,7 +12,7 @@ diff -rupN --no-dereference binutils-2.32/bfd/Makefile.am binutils-2.32-new/bfd/ bfd_version_package="\"$(PKGVERSION)\"" ;\ report_bugs_to="\"$(REPORT_BUGS_TO)\"" ;\ . $(srcdir)/development.sh ;\ -@@ -965,7 +965,7 @@ bfdver.h: $(srcdir)/version.h $(srcdir)/ +@@ -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," \ @@ -21,10 +21,10 @@ diff -rupN --no-dereference binutils-2.32/bfd/Makefile.am binutils-2.32-new/bfd/ -e "s,@report_bugs_to@,$$report_bugs_to," \ < $(srcdir)/version.h > $@; \ echo "$${bfd_soversion}" > libtool-soversion -diff -rupN --no-dereference binutils-2.32/bfd/Makefile.in binutils-2.32-new/bfd/Makefile.in ---- binutils-2.32/bfd/Makefile.in 2019-02-02 16:47:56.000000000 +0100 -+++ binutils-2.32-new/bfd/Makefile.in 2019-11-19 20:46:58.072569411 +0100 -@@ -2068,8 +2068,8 @@ stmp-lcoff-h: $(LIBCOFF_H_FILES) +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/'` ;\ @@ -35,7 +35,7 @@ diff -rupN --no-dereference binutils-2.32/bfd/Makefile.in binutils-2.32-new/bfd/ bfd_version_package="\"$(PKGVERSION)\"" ;\ report_bugs_to="\"$(REPORT_BUGS_TO)\"" ;\ . $(srcdir)/development.sh ;\ -@@ -2080,7 +2080,7 @@ bfdver.h: $(srcdir)/version.h $(srcdir)/ +@@ -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," \ diff --git a/binutils-2.29-filename-in-error-messages.patch b/binutils-2.29-filename-in-error-messages.patch index be81eca..52aee4f 100644 --- a/binutils-2.29-filename-in-error-messages.patch +++ b/binutils-2.29-filename-in-error-messages.patch @@ -1,7 +1,7 @@ -diff -rupN --no-dereference binutils-2.32/binutils/readelf.c binutils-2.32-new/binutils/readelf.c ---- binutils-2.32/binutils/readelf.c 2019-01-19 17:01:33.000000000 +0100 -+++ binutils-2.32-new/binutils/readelf.c 2019-11-19 20:47:00.396582218 +0100 -@@ -19642,75 +19642,85 @@ process_file (char * file_name) +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]; diff --git a/binutils-CVE-2019-1010204.patch b/binutils-CVE-2019-1010204.patch index fa3a250..3dd5270 100644 --- a/binutils-CVE-2019-1010204.patch +++ b/binutils-CVE-2019-1010204.patch @@ -1,6 +1,6 @@ -diff -rupN --no-dereference binutils-2.32/gold/fileread.cc binutils-2.32-new/gold/fileread.cc ---- binutils-2.32/gold/fileread.cc 2019-01-19 17:01:33.000000000 +0100 -+++ binutils-2.32-new/gold/fileread.cc 2019-11-19 20:47:14.475662786 +0100 +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) diff --git a/binutils-CVE-2019-14250.patch b/binutils-CVE-2019-14250.patch deleted file mode 100644 index aa4c8fc..0000000 --- a/binutils-CVE-2019-14250.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -rupN --no-dereference binutils-2.32/libiberty/simple-object-elf.c binutils-2.32-new/libiberty/simple-object-elf.c ---- binutils-2.32/libiberty/simple-object-elf.c 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/libiberty/simple-object-elf.c 2019-11-19 20:47:15.208667119 +0100 -@@ -549,6 +549,14 @@ simple_object_elf_match (unsigned char h - return NULL; - } - -+ if (eor->shstrndx == 0) -+ { -+ *errmsg = "invalid ELF shstrndx == 0"; -+ *err = 0; -+ XDELETE (eor); -+ return NULL; -+ } -+ - return (void *) eor; - } - diff --git a/binutils-CVE-2019-14444.patch b/binutils-CVE-2019-14444.patch deleted file mode 100644 index 1a869ac..0000000 --- a/binutils-CVE-2019-14444.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -rupN --no-dereference binutils-2.32/binutils/readelf.c binutils-2.32-new/binutils/readelf.c ---- binutils-2.32/binutils/readelf.c 2019-11-19 20:47:07.833624139 +0100 -+++ binutils-2.32-new/binutils/readelf.c 2019-11-19 20:47:15.941671465 +0100 -@@ -13234,7 +13234,7 @@ apply_relocations (Filedata * - } - - rloc = start + rp->r_offset; -- if ((rloc + reloc_size) > end || (rloc < start)) -+ if (rloc >= end || (rloc + reloc_size) > end || (rloc < start)) - { - warn (_("skipping invalid relocation offset 0x%lx in section %s\n"), - (unsigned long) rp->r_offset, diff --git a/binutils-CVE-2019-9071.patch b/binutils-CVE-2019-9071.patch deleted file mode 100644 index e50676b..0000000 --- a/binutils-CVE-2019-9071.patch +++ /dev/null @@ -1,111 +0,0 @@ -diff -rupN --no-dereference binutils-2.32/libiberty/cp-demangle.c binutils-2.32-new/libiberty/cp-demangle.c ---- binutils-2.32/libiberty/cp-demangle.c 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/libiberty/cp-demangle.c 2019-11-19 20:47:08.574628396 +0100 -@@ -861,7 +861,7 @@ CP_STATIC_IF_GLIBCPP_V3 - int - cplus_demangle_fill_name (struct demangle_component *p, const char *s, int len) - { -- if (p == NULL || s == NULL || len == 0) -+ if (p == NULL || s == NULL || len <= 0) - return 0; - p->d_printing = 0; - p->type = DEMANGLE_COMPONENT_NAME; -@@ -4055,7 +4055,7 @@ d_growable_string_callback_adapter (cons - are larger than the actual numbers encountered. */ - - static void --d_count_templates_scopes (int *num_templates, int *num_scopes, -+d_count_templates_scopes (struct d_print_info *dpi, - const struct demangle_component *dc) - { - if (dc == NULL) -@@ -4075,13 +4075,13 @@ d_count_templates_scopes (int *num_templ - break; - - case DEMANGLE_COMPONENT_TEMPLATE: -- (*num_templates)++; -+ dpi->num_copy_templates++; - goto recurse_left_right; - - case DEMANGLE_COMPONENT_REFERENCE: - case DEMANGLE_COMPONENT_RVALUE_REFERENCE: - if (d_left (dc)->type == DEMANGLE_COMPONENT_TEMPLATE_PARAM) -- (*num_scopes)++; -+ dpi->num_saved_scopes++; - goto recurse_left_right; - - case DEMANGLE_COMPONENT_QUAL_NAME: -@@ -4146,42 +4146,42 @@ d_count_templates_scopes (int *num_templ - case DEMANGLE_COMPONENT_TAGGED_NAME: - case DEMANGLE_COMPONENT_CLONE: - recurse_left_right: -- d_count_templates_scopes (num_templates, num_scopes, -- d_left (dc)); -- d_count_templates_scopes (num_templates, num_scopes, -- d_right (dc)); -+ /* PR 89394 - Check for too much recursion. */ -+ if (dpi->recursion > DEMANGLE_RECURSION_LIMIT) -+ /* FIXME: There ought to be a way to report to the -+ user that the recursion limit has been reached. */ -+ return; -+ -+ ++ dpi->recursion; -+ d_count_templates_scopes (dpi, d_left (dc)); -+ d_count_templates_scopes (dpi, d_right (dc)); -+ -- dpi->recursion; - break; - - case DEMANGLE_COMPONENT_CTOR: -- d_count_templates_scopes (num_templates, num_scopes, -- dc->u.s_ctor.name); -+ d_count_templates_scopes (dpi, dc->u.s_ctor.name); - break; - - case DEMANGLE_COMPONENT_DTOR: -- d_count_templates_scopes (num_templates, num_scopes, -- dc->u.s_dtor.name); -+ d_count_templates_scopes (dpi, dc->u.s_dtor.name); - break; - - case DEMANGLE_COMPONENT_EXTENDED_OPERATOR: -- d_count_templates_scopes (num_templates, num_scopes, -- dc->u.s_extended_operator.name); -+ d_count_templates_scopes (dpi, dc->u.s_extended_operator.name); - break; - - case DEMANGLE_COMPONENT_FIXED_TYPE: -- d_count_templates_scopes (num_templates, num_scopes, -- dc->u.s_fixed.length); -+ d_count_templates_scopes (dpi, dc->u.s_fixed.length); - break; - - case DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS: - case DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS: -- d_count_templates_scopes (num_templates, num_scopes, -- d_left (dc)); -+ d_count_templates_scopes (dpi, d_left (dc)); - break; - - case DEMANGLE_COMPONENT_LAMBDA: - case DEMANGLE_COMPONENT_DEFAULT_ARG: -- d_count_templates_scopes (num_templates, num_scopes, -- dc->u.s_unary_num.sub); -+ d_count_templates_scopes (dpi, dc->u.s_unary_num.sub); - break; - } - } -@@ -4216,8 +4216,12 @@ d_print_init (struct d_print_info *dpi, - dpi->next_copy_template = 0; - dpi->num_copy_templates = 0; - -- d_count_templates_scopes (&dpi->num_copy_templates, -- &dpi->num_saved_scopes, dc); -+ d_count_templates_scopes (dpi, dc); -+ /* If we did not reach the recursion limit, then reset the -+ current recursion value back to 0, so that we can print -+ the templates. */ -+ if (dpi->recursion < DEMANGLE_RECURSION_LIMIT) -+ dpi->recursion = 0; - dpi->num_copy_templates *= dpi->num_saved_scopes; - - dpi->current_template = NULL; diff --git a/binutils-CVE-2019-9073.patch b/binutils-CVE-2019-9073.patch deleted file mode 100644 index b460828..0000000 --- a/binutils-CVE-2019-9073.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -rupN --no-dereference binutils-2.32/binutils/objdump.c binutils-2.32-new/binutils/objdump.c ---- binutils-2.32/binutils/objdump.c 2019-01-19 17:01:33.000000000 +0100 -+++ binutils-2.32-new/binutils/objdump.c 2019-11-19 20:47:04.839607089 +0100 -@@ -3178,7 +3178,9 @@ dump_bfd_header (bfd *abfd) - static void - dump_bfd_private_header (bfd *abfd) - { -- bfd_print_private_bfd_data (abfd, stdout); -+ if (!bfd_print_private_bfd_data (abfd, stdout)) -+ non_fatal (_("warning: private headers incomplete: %s"), -+ bfd_errmsg (bfd_get_error ())); - } - - static void diff --git a/binutils-CVE-2019-9074.patch b/binutils-CVE-2019-9074.patch deleted file mode 100644 index ef46e3c..0000000 --- a/binutils-CVE-2019-9074.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -rupN --no-dereference binutils-2.32/bfd/pei-x86_64.c binutils-2.32-new/bfd/pei-x86_64.c ---- binutils-2.32/bfd/pei-x86_64.c 2019-01-19 17:01:33.000000000 +0100 -+++ binutils-2.32-new/bfd/pei-x86_64.c 2019-11-19 20:47:05.573611249 +0100 -@@ -541,7 +541,7 @@ pex64_bfd_print_pdata_section (bfd *abfd - /* virt_size might be zero for objects. */ - if (stop == 0 && strcmp (abfd->xvec->name, "pe-x86-64") == 0) - { -- stop = (datasize / onaline) * onaline; -+ stop = datasize; - virt_size_is_zero = TRUE; - } - else if (datasize < stop) -@@ -551,8 +551,8 @@ pex64_bfd_print_pdata_section (bfd *abfd - _("Warning: %s section size (%ld) is smaller than virtual size (%ld)\n"), - pdata_section->name, (unsigned long) datasize, - (unsigned long) stop); -- /* Be sure not to read passed datasize. */ -- stop = datasize / onaline; -+ /* Be sure not to read past datasize. */ -+ stop = datasize; - } - - /* Display functions table. */ -@@ -724,8 +724,7 @@ pex64_bfd_print_pdata_section (bfd *abfd - altent += imagebase; - - if (altent >= pdata_vma -- && (altent + PDATA_ROW_SIZE <= pdata_vma -- + pei_section_data (abfd, pdata_section)->virt_size)) -+ && altent - pdata_vma + PDATA_ROW_SIZE <= stop) - { - pex64_get_runtime_function - (abfd, &arf, &pdata[altent - pdata_vma]); diff --git a/binutils-CVE-2019-9075.patch b/binutils-CVE-2019-9075.patch deleted file mode 100644 index 5f11621..0000000 --- a/binutils-CVE-2019-9075.patch +++ /dev/null @@ -1,73 +0,0 @@ -diff -rupN --no-dereference binutils-2.32/bfd/archive64.c binutils-2.32-new/bfd/archive64.c ---- binutils-2.32/bfd/archive64.c 2019-01-19 17:01:32.000000000 +0100 -+++ binutils-2.32-new/bfd/archive64.c 2019-11-19 20:47:06.349615660 +0100 -@@ -100,8 +100,6 @@ _bfd_archive_64_bit_slurp_armap (bfd *ab - return FALSE; - carsyms = ardata->symdefs; - stringbase = ((char *) ardata->symdefs) + carsym_size; -- stringbase[stringsize] = 0; -- stringend = stringbase + stringsize; - - raw_armap = (bfd_byte *) bfd_alloc (abfd, ptrsize); - if (raw_armap == NULL) -@@ -115,15 +113,17 @@ _bfd_archive_64_bit_slurp_armap (bfd *ab - goto release_raw_armap; - } - -+ stringend = stringbase + stringsize; -+ *stringend = 0; - for (i = 0; i < nsymz; i++) - { - carsyms->file_offset = bfd_getb64 (raw_armap + i * 8); - carsyms->name = stringbase; -- if (stringbase < stringend) -- stringbase += strlen (stringbase) + 1; -+ stringbase += strlen (stringbase); -+ if (stringbase != stringend) -+ ++stringbase; - ++carsyms; - } -- *stringbase = '\0'; - - ardata->symdef_count = nsymz; - ardata->first_file_filepos = bfd_tell (abfd); -diff -rupN --no-dereference binutils-2.32/bfd/archive.c binutils-2.32-new/bfd/archive.c ---- binutils-2.32/bfd/archive.c 2019-01-19 17:01:32.000000000 +0100 -+++ binutils-2.32-new/bfd/archive.c 2019-11-19 20:47:06.350615666 +0100 -@@ -1012,6 +1012,7 @@ do_slurp_coff_armap (bfd *abfd) - int *raw_armap, *rawptr; - struct artdata *ardata = bfd_ardata (abfd); - char *stringbase; -+ char *stringend; - bfd_size_type stringsize; - bfd_size_type parsed_size; - carsym *carsyms; -@@ -1071,22 +1072,20 @@ do_slurp_coff_armap (bfd *abfd) - } - - /* OK, build the carsyms. */ -- for (i = 0; i < nsymz && stringsize > 0; i++) -+ stringend = stringbase + stringsize; -+ *stringend = 0; -+ for (i = 0; i < nsymz; i++) - { - bfd_size_type len; - - rawptr = raw_armap + i; - carsyms->file_offset = swap ((bfd_byte *) rawptr); - carsyms->name = stringbase; -- /* PR 17512: file: 4a1d50c1. */ -- len = strnlen (stringbase, stringsize); -- if (len < stringsize) -- len ++; -- stringbase += len; -- stringsize -= len; -+ stringbase += strlen (stringbase); -+ if (stringbase != stringend) -+ ++stringbase; - carsyms++; - } -- *stringbase = 0; - - ardata->symdef_count = nsymz; - ardata->first_file_filepos = bfd_tell (abfd); diff --git a/binutils-CVE-2019-9077.patch b/binutils-CVE-2019-9077.patch deleted file mode 100644 index 19e57bf..0000000 --- a/binutils-CVE-2019-9077.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -rupN --no-dereference binutils-2.32/binutils/readelf.c binutils-2.32-new/binutils/readelf.c ---- binutils-2.32/binutils/readelf.c 2019-11-19 20:47:01.883590484 +0100 -+++ binutils-2.32-new/binutils/readelf.c 2019-11-19 20:47:07.105619971 +0100 -@@ -16200,6 +16200,13 @@ process_mips_specific (Filedata * fileda - return FALSE; - } - -+ /* PR 24243 */ -+ if (sect->sh_size < sizeof (* eopt)) -+ { -+ error (_("The MIPS options section is too small.\n")); -+ return FALSE; -+ } -+ - eopt = (Elf_External_Options *) get_data (NULL, filedata, options_offset, 1, - sect->sh_size, _("options")); - if (eopt) diff --git a/binutils-aarch64-gold-PLT-for-MOVW_ABS.patch b/binutils-aarch64-gold-PLT-for-MOVW_ABS.patch deleted file mode 100644 index 8141307..0000000 --- a/binutils-aarch64-gold-PLT-for-MOVW_ABS.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -rupN --no-dereference binutils-2.32/gold/aarch64.cc binutils-2.32-new/gold/aarch64.cc ---- binutils-2.32/gold/aarch64.cc 2019-01-19 17:01:33.000000000 +0100 -+++ binutils-2.32-new/gold/aarch64.cc 2019-11-19 20:47:09.316632670 +0100 -@@ -6496,6 +6496,17 @@ Target_aarch64::Scan:: - gold_error(_("%s: unsupported reloc %u in pos independent link."), - object->name().c_str(), r_type); - } -+ // Make a PLT entry if necessary. -+ if (gsym->needs_plt_entry()) -+ { -+ target->make_plt_entry(symtab, layout, gsym); -+ // Since this is not a PC-relative relocation, we may be -+ // taking the address of a function. In that case we need to -+ // set the entry in the dynamic symbol table to the address of -+ // the PLT entry. -+ if (gsym->is_from_dynobj() && !parameters->options().shared()) -+ gsym->set_needs_dynsym_value(); -+ } - break; - - case elfcpp::R_AARCH64_LD_PREL_LO19: // 273 diff --git a/binutils-alignment-of-decompressed-sections.patch b/binutils-alignment-of-decompressed-sections.patch deleted file mode 100644 index b115cbb..0000000 --- a/binutils-alignment-of-decompressed-sections.patch +++ /dev/null @@ -1,447 +0,0 @@ -diff -rup binutils.orig/bfd/bfd.c binutils-2.31.1/bfd/bfd.c ---- binutils.orig/bfd/bfd.c 2019-02-18 11:53:32.155652114 +0000 -+++ binutils-2.31.1/bfd/bfd.c 2019-02-18 12:03:21.591459682 +0000 -@@ -2332,6 +2332,8 @@ bfd_update_compression_header (bfd *abfd - bfd_put_32 (abfd, sec->size, &echdr->ch_size); - bfd_put_32 (abfd, 1 << sec->alignment_power, - &echdr->ch_addralign); -+ /* bfd_log2 (alignof (Elf32_Chdr)). */ -+ bfd_set_section_alignment (abfd, sec, 2); - } - else - { -@@ -2342,6 +2344,8 @@ bfd_update_compression_header (bfd *abfd - bfd_put_64 (abfd, sec->size, &echdr->ch_size); - bfd_put_64 (abfd, 1 << sec->alignment_power, - &echdr->ch_addralign); -+ /* bfd_log2 (alignof (Elf64_Chdr)). */ -+ bfd_set_section_alignment (abfd, sec, 3); - } - } - else -@@ -2354,6 +2358,8 @@ bfd_update_compression_header (bfd *abfd - order. */ - memcpy (contents, "ZLIB", 4); - bfd_putb64 (sec->size, contents + 4); -+ /* No way to keep the original alignment, just use 1 always. */ -+ bfd_set_section_alignment (abfd, sec, 0); - } - } - } -@@ -2368,12 +2374,15 @@ bfd_update_compression_header (bfd *abfd - SYNOPSIS - bfd_boolean bfd_check_compression_header - (bfd *abfd, bfd_byte *contents, asection *sec, -- bfd_size_type *uncompressed_size); -+ bfd_size_type *uncompressed_size, -+ unsigned int *uncompressed_alignment_power); -+ - - DESCRIPTION - Check the compression header at CONTENTS of SEC in ABFD and -- store the uncompressed size in UNCOMPRESSED_SIZE if the -- compression header is valid. -+ store the uncompressed size in UNCOMPRESSED_SIZE and the -+ uncompressed data alignment in UNCOMPRESSED_ALIGNMENT_POWER -+ if the compression header is valid. - - RETURNS - Return TRUE if the compression header is valid. -@@ -2382,7 +2391,8 @@ RETURNS - bfd_boolean - bfd_check_compression_header (bfd *abfd, bfd_byte *contents, - asection *sec, -- bfd_size_type *uncompressed_size) -+ bfd_size_type *uncompressed_size, -+ unsigned int *uncompressed_alignment_power) - { - if (bfd_get_flavour (abfd) == bfd_target_elf_flavour - && (elf_section_flags (sec) & SHF_COMPRESSED) != 0) -@@ -2404,9 +2414,10 @@ bfd_check_compression_header (bfd *abfd, - chdr.ch_addralign = bfd_get_64 (abfd, &echdr->ch_addralign); - } - if (chdr.ch_type == ELFCOMPRESS_ZLIB -- && chdr.ch_addralign == 1U << sec->alignment_power) -+ && chdr.ch_addralign == (1U << bfd_log2 (chdr.ch_addralign))) - { - *uncompressed_size = chdr.ch_size; -+ *uncompressed_alignment_power = bfd_log2 (chdr.ch_addralign); - return TRUE; - } - } -diff -rup binutils.orig/bfd/bfd-in2.h binutils-2.31.1/bfd/bfd-in2.h ---- binutils.orig/bfd/bfd-in2.h 2019-02-18 11:53:32.156652107 +0000 -+++ binutils-2.31.1/bfd/bfd-in2.h 2019-02-18 12:00:23.849723903 +0000 -@@ -7274,7 +7274,8 @@ void bfd_update_compression_header - - bfd_boolean bfd_check_compression_header - (bfd *abfd, bfd_byte *contents, asection *sec, -- bfd_size_type *uncompressed_size); -+ bfd_size_type *uncompressed_size, -+ unsigned int *uncompressed_alignment_power); - - int bfd_get_compression_header_size (bfd *abfd, asection *sec); - -@@ -7850,7 +7851,8 @@ void bfd_cache_section_contents - bfd_boolean bfd_is_section_compressed_with_header - (bfd *abfd, asection *section, - int *compression_header_size_p, -- bfd_size_type *uncompressed_size_p); -+ bfd_size_type *uncompressed_size_p, -+ unsigned int *uncompressed_alignment_power_p); - - bfd_boolean bfd_is_section_compressed - (bfd *abfd, asection *section); -diff -rup binutils.orig/bfd/compress.c binutils-2.31.1/bfd/compress.c ---- binutils.orig/bfd/compress.c 2019-02-18 11:53:32.153652128 +0000 -+++ binutils-2.31.1/bfd/compress.c 2019-02-18 12:11:44.899886376 +0000 -@@ -84,11 +84,13 @@ bfd_compress_section_contents (bfd *abfd - int zlib_size = 0; - int orig_compression_header_size; - bfd_size_type orig_uncompressed_size; -+ unsigned int orig_uncompressed_alignment_pow; - int header_size = bfd_get_compression_header_size (abfd, NULL); - bfd_boolean compressed - = bfd_is_section_compressed_with_header (abfd, sec, - &orig_compression_header_size, -- &orig_uncompressed_size); -+ &orig_uncompressed_size, -+ &orig_uncompressed_alignment_pow); - - /* Either ELF compression header or the 12-byte, "ZLIB" + 8-byte size, - overhead in .zdebug* section. */ -@@ -153,6 +155,8 @@ bfd_compress_section_contents (bfd *abfd - return 0; - } - free (uncompressed_buffer); -+ bfd_set_section_alignment (abfd, sec, -+ orig_uncompressed_alignment_pow); - sec->contents = buffer; - sec->compress_status = COMPRESS_SECTION_DONE; - return orig_uncompressed_size; -@@ -364,20 +368,25 @@ SYNOPSIS - bfd_boolean bfd_is_section_compressed_with_header - (bfd *abfd, asection *section, - int *compression_header_size_p, -- bfd_size_type *uncompressed_size_p); -+ bfd_size_type *uncompressed_size_p, -+ unsigned int *uncompressed_alignment_power_p); -+ - - DESCRIPTION - Return @code{TRUE} if @var{section} is compressed. Compression -- header size is returned in @var{compression_header_size_p} and -- uncompressed size is returned in @var{uncompressed_size_p}. If -- compression is unsupported, compression header size is returned -- with -1 and uncompressed size is returned with 0. -+ header size is returned in @var{compression_header_size_p}, -+ uncompressed size is returned in @var{uncompressed_size_p} -+ and the uncompressed data alignement power is returned in -+ @var{uncompressed_align_pow_p}. If compression is -+ unsupported, compression header size is returned with -1 -+ and uncompressed size is returned with 0. - */ - - bfd_boolean - bfd_is_section_compressed_with_header (bfd *abfd, sec_ptr sec, - int *compression_header_size_p, -- bfd_size_type *uncompressed_size_p) -+ bfd_size_type *uncompressed_size_p, -+ unsigned int *uncompressed_align_pow_p) - { - bfd_byte header[MAX_COMPRESSION_HEADER_SIZE]; - int compression_header_size; -@@ -385,6 +394,8 @@ bfd_is_section_compressed_with_header (b - unsigned int saved = sec->compress_status; - bfd_boolean compressed; - -+ *uncompressed_align_pow_p = 0; -+ - compression_header_size = bfd_get_compression_header_size (abfd, sec); - if (compression_header_size > MAX_COMPRESSION_HEADER_SIZE) - abort (); -@@ -412,7 +423,8 @@ bfd_is_section_compressed_with_header (b - if (compression_header_size != 0) - { - if (!bfd_check_compression_header (abfd, header, sec, -- uncompressed_size_p)) -+ uncompressed_size_p, -+ uncompressed_align_pow_p)) - compression_header_size = -1; - } - /* Check for the pathalogical case of a debug string section that -@@ -449,9 +461,11 @@ bfd_is_section_compressed (bfd *abfd, se - { - int compression_header_size; - bfd_size_type uncompressed_size; -+ unsigned int uncompressed_align_power; - return (bfd_is_section_compressed_with_header (abfd, sec, - &compression_header_size, -- &uncompressed_size) -+ &uncompressed_size, -+ &uncompressed_align_power) - && compression_header_size >= 0 - && uncompressed_size > 0); - } -@@ -480,6 +494,7 @@ bfd_init_section_decompress_status (bfd - int compression_header_size; - int header_size; - bfd_size_type uncompressed_size; -+ unsigned int uncompressed_alignment_power = 0; - - compression_header_size = bfd_get_compression_header_size (abfd, sec); - if (compression_header_size > MAX_COMPRESSION_HEADER_SIZE) -@@ -508,7 +523,8 @@ bfd_init_section_decompress_status (bfd - uncompressed_size = bfd_getb64 (header + 4); - } - else if (!bfd_check_compression_header (abfd, header, sec, -- &uncompressed_size)) -+ &uncompressed_size, -+ &uncompressed_alignment_power)) - { - bfd_set_error (bfd_error_wrong_format); - return FALSE; -@@ -516,6 +532,7 @@ bfd_init_section_decompress_status (bfd - - sec->compressed_size = sec->size; - sec->size = uncompressed_size; -+ bfd_set_section_alignment (abfd, sec, uncompressed_alignment_power); - sec->compress_status = DECOMPRESS_SECTION_SIZED; - - return TRUE; -diff -rup binutils.orig/bfd/elf.c binutils-2.31.1/bfd/elf.c ---- binutils.orig/bfd/elf.c 2019-02-18 11:53:32.161652071 +0000 -+++ binutils-2.31.1/bfd/elf.c 2019-02-18 12:08:52.135108638 +0000 -@@ -1177,10 +1177,12 @@ _bfd_elf_make_section_from_shdr (bfd *ab - enum { nothing, compress, decompress } action = nothing; - int compression_header_size; - bfd_size_type uncompressed_size; -+ unsigned int uncompressed_align_power; - bfd_boolean compressed - = bfd_is_section_compressed_with_header (abfd, newsect, - &compression_header_size, -- &uncompressed_size); -+ &uncompressed_size, -+ &uncompressed_align_power); - - if (compressed) - { -diff -rup binutils.orig/binutils/readelf.c binutils-2.31.1/binutils/readelf.c ---- binutils.orig/binutils/readelf.c 2019-02-18 11:53:32.947646480 +0000 -+++ binutils-2.31.1/binutils/readelf.c 2019-02-18 12:10:13.142535034 +0000 -@@ -13366,12 +13366,6 @@ dump_section_as_strings (Elf_Internal_Sh - printable_section_name (filedata, section), chdr.ch_type); - return FALSE; - } -- else if (chdr.ch_addralign != section->sh_addralign) -- { -- warn (_("compressed section '%s' is corrupted\n"), -- printable_section_name (filedata, section)); -- return FALSE; -- } - uncompressed_size = chdr.ch_size; - start += compression_header_size; - new_size -= compression_header_size; -@@ -13513,12 +13507,6 @@ dump_section_as_bytes (Elf_Internal_Shdr - printable_section_name (filedata, section), chdr.ch_type); - return FALSE; - } -- else if (chdr.ch_addralign != section->sh_addralign) -- { -- warn (_("compressed section '%s' is corrupted\n"), -- printable_section_name (filedata, section)); -- return FALSE; -- } - uncompressed_size = chdr.ch_size; - start += compression_header_size; - new_size -= compression_header_size; -@@ -13688,12 +13676,6 @@ load_specific_debug_section (enum dwarf_ - section->name, chdr.ch_type); - return FALSE; - } -- else if (chdr.ch_addralign != sec->sh_addralign) -- { -- warn (_("compressed section '%s' is corrupted\n"), -- section->name); -- return FALSE; -- } - uncompressed_size = chdr.ch_size; - start += compression_header_size; - size -= compression_header_size; -diff -rup binutils.orig/binutils/testsuite/binutils-all/dw2-3.rS binutils-2.31.1/binutils/testsuite/binutils-all/dw2-3.rS ---- binutils.orig/binutils/testsuite/binutils-all/dw2-3.rS 2019-02-18 11:53:32.908646758 +0000 -+++ binutils-2.31.1/binutils/testsuite/binutils-all/dw2-3.rS 2019-02-18 12:10:40.884338917 +0000 -@@ -1,3 +1,3 @@ - #... -- +\[[ 0-9]+\] .debug_info +(PROGBITS|MIPS_DWARF) +0+ +[0-9a-f]+ +[0-9a-f]+ [0-9a-f]+ +C +0 +0 +1 -+ +\[[ 0-9]+\] .debug_info +(PROGBITS|MIPS_DWARF) +0+ +[0-9a-f]+ +[0-9a-f]+ [0-9a-f]+ +C +0 +0 +(4|8) - #pass -diff -rup binutils.orig/binutils/testsuite/binutils-all/dw2-3.rt binutils-2.31.1/binutils/testsuite/binutils-all/dw2-3.rt ---- binutils.orig/binutils/testsuite/binutils-all/dw2-3.rt 2019-02-18 11:53:32.905646779 +0000 -+++ binutils-2.31.1/binutils/testsuite/binutils-all/dw2-3.rt 2019-02-18 12:11:13.476108521 +0000 -@@ -1,6 +1,6 @@ - #... - +\[[ 0-9]+\] .debug_info -- +(PROGBITS|MIPS_DWARF) +0+ +[0-9a-f]+ +[0-9a-f]+ +[0-9a-f]+ +0 +0 +1 -+ +(PROGBITS|MIPS_DWARF) +0+ +[0-9a-f]+ +[0-9a-f]+ +[0-9a-f]+ +0 +0 +(4|8) - +\[0+800\]: COMPRESSED - +ZLIB, 0+9d, 1 - #pass -diff -rup binutils.orig/gold/merge.cc binutils-2.31.1/gold/merge.cc ---- binutils.orig/gold/merge.cc 2019-02-18 11:53:32.210651723 +0000 -+++ binutils-2.31.1/gold/merge.cc 2019-02-18 12:12:59.027362334 +0000 -@@ -440,9 +440,11 @@ Output_merge_string::do_add_i - { - section_size_type sec_len; - bool is_new; -+ uint64_t addralign = this->addralign(); - const unsigned char* pdata = object->decompressed_section_contents(shndx, - &sec_len, -- &is_new); -+ &is_new, -+ &addralign); - - const Char_type* p = reinterpret_cast(pdata); - const Char_type* pend = p + sec_len / sizeof(Char_type); -@@ -494,7 +496,7 @@ Output_merge_string::do_add_i - // aligned, so each string within the section must retain the same - // modulo. - uintptr_t init_align_modulo = (reinterpret_cast(pdata) -- & (this->addralign() - 1)); -+ & (addralign - 1)); - bool has_misaligned_strings = false; - - while (p < pend) -@@ -503,7 +505,7 @@ Output_merge_string::do_add_i - - // Within merge input section each string must be aligned. - if (len != 0 -- && ((reinterpret_cast(p) & (this->addralign() - 1)) -+ && ((reinterpret_cast(p) & (addralign - 1)) - != init_align_modulo)) - has_misaligned_strings = true; - -diff -rup binutils.orig/gold/object.cc binutils-2.31.1/gold/object.cc ---- binutils.orig/gold/object.cc 2019-02-18 11:53:32.208651737 +0000 -+++ binutils-2.31.1/gold/object.cc 2019-02-18 12:16:35.938828914 +0000 -@@ -751,11 +751,13 @@ build_compressed_section_map( - const unsigned char* contents = - obj->section_contents(i, &len, false); - uint64_t uncompressed_size; -+ Compressed_section_info info; - if (is_zcompressed) - { - // Skip over the ".zdebug" prefix. - name += 7; - uncompressed_size = get_uncompressed_size(contents, len); -+ info.addralign = shdr.get_sh_addralign(); - } - else - { -@@ -763,8 +765,8 @@ build_compressed_section_map( - name += 6; - elfcpp::Chdr chdr(contents); - uncompressed_size = chdr.get_ch_size(); -+ info.addralign = chdr.get_ch_addralign(); - } -- Compressed_section_info info; - info.size = convert_to_section_size_type(uncompressed_size); - info.flag = shdr.get_sh_flags(); - info.contents = NULL; -@@ -3060,7 +3062,8 @@ const unsigned char* - Object::decompressed_section_contents( - unsigned int shndx, - section_size_type* plen, -- bool* is_new) -+ bool* is_new, -+ uint64_t* palign) - { - section_size_type buffer_size; - const unsigned char* buffer = this->do_section_contents(shndx, &buffer_size, -@@ -3087,6 +3090,8 @@ Object::decompressed_section_contents( - { - *plen = uncompressed_size; - *is_new = false; -+ if (palign != NULL) -+ *palign = p->second.addralign; - return p->second.contents; - } - -@@ -3108,6 +3113,8 @@ Object::decompressed_section_contents( - // once in this pass. - *plen = uncompressed_size; - *is_new = true; -+ if (palign != NULL) -+ *palign = p->second.addralign; - return uncompressed_data; - } - -diff -rup binutils.orig/gold/object.h binutils-2.31.1/gold/object.h ---- binutils.orig/gold/object.h 2019-02-18 11:53:32.210651723 +0000 -+++ binutils-2.31.1/gold/object.h 2019-02-18 12:17:50.625300926 +0000 -@@ -373,6 +373,7 @@ struct Compressed_section_info - { - section_size_type size; - elfcpp::Elf_Xword flag; -+ uint64_t addralign; - const unsigned char* contents; - }; - typedef std::map Compressed_section_map; -@@ -808,7 +809,8 @@ class Object - - bool - section_is_compressed(unsigned int shndx, -- section_size_type* uncompressed_size) const -+ section_size_type* uncompressed_size, -+ elfcpp::Elf_Xword* palign = NULL) const - { - if (this->compressed_sections_ == NULL) - return false; -@@ -818,6 +820,8 @@ class Object - { - if (uncompressed_size != NULL) - *uncompressed_size = p->second.size; -+ if (palign != NULL) -+ *palign = p->second.addralign; - return true; - } - return false; -@@ -828,7 +832,7 @@ class Object - // by the caller. - const unsigned char* - decompressed_section_contents(unsigned int shndx, section_size_type* plen, -- bool* is_cached); -+ bool* is_cached, uint64_t* palign = NULL); - - // Discard any buffers of decompressed sections. This is done - // at the end of the Add_symbols task. -diff -rup binutils.orig/gold/output.cc binutils-2.31.1/gold/output.cc ---- binutils.orig/gold/output.cc 2019-02-18 11:53:32.209651729 +0000 -+++ binutils-2.31.1/gold/output.cc 2019-02-18 12:18:39.729953797 +0000 -@@ -2448,7 +2448,14 @@ Output_section::add_input_section(Layout - unsigned int reloc_shndx, - bool have_sections_script) - { -+ section_size_type input_section_size = shdr.get_sh_size(); -+ section_size_type uncompressed_size; - elfcpp::Elf_Xword addralign = shdr.get_sh_addralign(); -+ -+ if (object->section_is_compressed(shndx, &uncompressed_size, -+ &addralign)) -+ input_section_size = uncompressed_size; -+ - if ((addralign & (addralign - 1)) != 0) - { - object->error(_("invalid alignment %lu for section \"%s\""), -@@ -2498,11 +2505,6 @@ Output_section::add_input_section(Layout - } - } - -- section_size_type input_section_size = shdr.get_sh_size(); -- section_size_type uncompressed_size; -- if (object->section_is_compressed(shndx, &uncompressed_size)) -- input_section_size = uncompressed_size; -- - off_t offset_in_section; - - if (this->has_fixed_layout()) diff --git a/binutils-disassembling-efi-files.patch b/binutils-disassembling-efi-files.patch deleted file mode 100644 index cfa3664..0000000 --- a/binutils-disassembling-efi-files.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff -rupN --no-dereference binutils-2.32/bfd/coffgen.c binutils-2.32-new/bfd/coffgen.c ---- binutils-2.32/bfd/coffgen.c 2019-01-19 17:01:32.000000000 +0100 -+++ binutils-2.32-new/bfd/coffgen.c 2019-11-19 20:47:07.835624150 +0100 -@@ -2294,7 +2294,7 @@ coff_find_nearest_line_with_names (bfd * - information. So try again, using a bias against the address sought. */ - if (coff_data (abfd)->dwarf2_find_line_info != NULL) - { -- bfd_signed_vma bias; -+ bfd_signed_vma bias = 0; - - /* Create a cache of the result for the next call. */ - if (sec_data == NULL && section->owner == abfd) -@@ -2306,10 +2306,11 @@ coff_find_nearest_line_with_names (bfd * - - if (sec_data != NULL && sec_data->saved_bias) - bias = sec_data->saved_bias; -- else -+ else if (symbols) - { - bias = _bfd_dwarf2_find_symbol_bias (symbols, - & coff_data (abfd)->dwarf2_find_line_info); -+ - if (sec_data) - { - sec_data->saved_bias = TRUE; -diff -rupN --no-dereference binutils-2.32/bfd/dwarf2.c binutils-2.32-new/bfd/dwarf2.c ---- binutils-2.32/bfd/dwarf2.c 2019-01-19 17:01:32.000000000 +0100 -+++ binutils-2.32-new/bfd/dwarf2.c 2019-11-19 20:47:07.836624156 +0100 -@@ -4472,7 +4472,7 @@ _bfd_dwarf2_find_symbol_bias (asymbol ** - - stash = (struct dwarf2_debug *) *pinfo; - -- if (stash == NULL) -+ if (stash == NULL || symbols == NULL) - return 0; - - for (unit = stash->all_comp_units; unit; unit = unit->next_unit) diff --git a/binutils-do-not-link-with-static-libstdc++.patch b/binutils-do-not-link-with-static-libstdc++.patch index c04b228..e8b2ab1 100644 --- a/binutils-do-not-link-with-static-libstdc++.patch +++ b/binutils-do-not-link-with-static-libstdc++.patch @@ -1,7 +1,7 @@ -diff -rupN --no-dereference binutils-2.32/configure binutils-2.32-new/configure ---- binutils-2.32/configure 2019-01-19 17:10:54.000000000 +0100 -+++ binutils-2.32-new/configure 2019-11-19 20:47:01.887590506 +0100 -@@ -5049,49 +5049,6 @@ if test -z "$LD"; then +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 @@ -51,10 +51,10 @@ diff -rupN --no-dereference binutils-2.32/configure binutils-2.32-new/configure if test -n "$ac_tool_prefix"; then -diff -rupN --no-dereference binutils-2.32/configure.ac binutils-2.32-new/configure.ac ---- binutils-2.32/configure.ac 2019-02-02 17:15:43.000000000 +0100 -+++ binutils-2.32-new/configure.ac 2019-11-19 20:47:01.887590506 +0100 -@@ -1283,26 +1283,6 @@ if test -z "$LD"; 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 diff --git a/binutils-do-not-merge-differing-SHF_EXCLUDE-groups.patch b/binutils-do-not-merge-differing-SHF_EXCLUDE-groups.patch deleted file mode 100644 index d8c78a7..0000000 --- a/binutils-do-not-merge-differing-SHF_EXCLUDE-groups.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -rupN --no-dereference binutils-2.32/ld/emultempl/elf32.em binutils-2.32-new/ld/emultempl/elf32.em ---- binutils-2.32/ld/emultempl/elf32.em 2019-01-19 17:01:33.000000000 +0100 -+++ binutils-2.32-new/ld/emultempl/elf32.em 2019-11-19 20:47:12.267649813 +0100 -@@ -2029,10 +2029,12 @@ elf_orphan_compatible (asection *in, ase - if (elf_section_data (out)->this_hdr.sh_info - != elf_section_data (in)->this_hdr.sh_info) - return FALSE; -- /* We can't merge two sections with differing SHF_EXCLUDE when doing -- a relocatable link. */ -+ /* We can't merge with member of output section group nor merge two -+ sections with differing SHF_EXCLUDE when doing a relocatable link. */ - if (bfd_link_relocatable (&link_info) -- && ((elf_section_flags (out) ^ elf_section_flags (in)) & SHF_EXCLUDE) != 0) -+ && (elf_next_in_group (out) != NULL -+ || ((elf_section_flags (out) ^ elf_section_flags (in)) -+ & SHF_EXCLUDE) != 0)) - return FALSE; - return _bfd_elf_match_sections_by_type (link_info.output_bfd, out, - in->owner, in); diff --git a/binutils-do-not-warn-about-debuginfo-files.patch b/binutils-do-not-warn-about-debuginfo-files.patch deleted file mode 100644 index 367430e..0000000 --- a/binutils-do-not-warn-about-debuginfo-files.patch +++ /dev/null @@ -1,66 +0,0 @@ -diff -rupN --no-dereference binutils-2.32/bfd/elf-bfd.h binutils-2.32-new/bfd/elf-bfd.h ---- binutils-2.32/bfd/elf-bfd.h 2019-01-19 17:01:32.000000000 +0100 -+++ binutils-2.32-new/bfd/elf-bfd.h 2019-11-19 20:47:11.528645500 +0100 -@@ -2749,6 +2749,8 @@ extern bfd_vma elf64_r_sym (bfd_vma); - extern bfd_vma elf32_r_info (bfd_vma, bfd_vma); - extern bfd_vma elf32_r_sym (bfd_vma); - -+extern bfd_boolean is_debuginfo_file (bfd *); -+ - /* Large common section. */ - extern asection _bfd_elf_large_com_section; - -diff -rupN --no-dereference binutils-2.32/bfd/elf.c binutils-2.32-new/bfd/elf.c ---- binutils-2.32/bfd/elf.c 2019-11-19 20:47:04.094602882 +0100 -+++ binutils-2.32-new/bfd/elf.c 2019-11-19 20:47:11.530645511 +0100 -@@ -5807,6 +5807,35 @@ assign_file_positions_for_load_sections - return TRUE; - } - -+/* Determine if a bfd is a debuginfo file. Unfortunately there -+ is no defined method for detecting such files, so we have to -+ use heuristics instead. */ -+ -+bfd_boolean -+is_debuginfo_file (bfd *abfd) -+{ -+ if (abfd == NULL || bfd_get_flavour (abfd) != bfd_target_elf_flavour) -+ return FALSE; -+ -+ Elf_Internal_Shdr **start_headers = elf_elfsections (abfd); -+ Elf_Internal_Shdr **end_headers = start_headers + elf_numsections (abfd); -+ Elf_Internal_Shdr **headerp; -+ -+ for (headerp = start_headers; headerp < end_headers; headerp ++) -+ { -+ Elf_Internal_Shdr *header = * headerp; -+ -+ /* Debuginfo files do not have any allocated SHT_PROGBITS sections. -+ The only allocated sections are SHT_NOBITS or SHT_NOTES. */ -+ if ((header->sh_flags & SHF_ALLOC) == SHF_ALLOC -+ && header->sh_type != SHT_NOBITS -+ && header->sh_type != SHT_NOTE) -+ return FALSE; -+ } -+ -+ return TRUE; -+} -+ - /* Assign file positions for the other sections. */ - - static bfd_boolean -@@ -5840,7 +5869,13 @@ assign_file_positions_for_non_load_secti - BFD_ASSERT (hdr->sh_offset == hdr->bfd_section->filepos); - else if ((hdr->sh_flags & SHF_ALLOC) != 0) - { -- if (hdr->sh_size != 0) -+ if (hdr->sh_size != 0 -+ /* PR 24717 - debuginfo files are known to be not strictly -+ compliant with the ELF standard. In particular they often -+ have .note.gnu.property sections that are outside of any -+ loadable segment. This is not a problem for such files, -+ so do not warn about them. */ -+ && ! is_debuginfo_file (abfd)) - _bfd_error_handler - /* xgettext:c-format */ - (_("%pB: warning: allocated section `%s' not in segment"), diff --git a/binutils-export-demangle.h.patch b/binutils-export-demangle.h.patch index 1b8b282..1e9001c 100644 --- a/binutils-export-demangle.h.patch +++ b/binutils-export-demangle.h.patch @@ -1,6 +1,6 @@ -diff -rupN --no-dereference binutils-2.32/bfd/Makefile.am binutils-2.32-new/bfd/Makefile.am ---- binutils-2.32/bfd/Makefile.am 2019-11-19 20:46:58.862573749 +0100 -+++ binutils-2.32-new/bfd/Makefile.am 2019-11-19 20:46:58.865573765 +0100 +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 @@ -10,9 +10,9 @@ diff -rupN --no-dereference binutils-2.32/bfd/Makefile.am binutils-2.32-new/bfd/ else !INSTALL_LIBBFD # Empty these so that the respective installation directories will not be created. bfdlibdir = -diff -rupN --no-dereference binutils-2.32/bfd/Makefile.in binutils-2.32-new/bfd/Makefile.in ---- binutils-2.32/bfd/Makefile.in 2019-11-19 20:46:58.863573754 +0100 -+++ binutils-2.32-new/bfd/Makefile.in 2019-11-19 20:46:58.866573771 +0100 +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 \ diff --git a/binutils-fix-testsuite-failures.patch b/binutils-fix-testsuite-failures.patch index e912436..5a082a7 100644 --- a/binutils-fix-testsuite-failures.patch +++ b/binutils-fix-testsuite-failures.patch @@ -1,6 +1,6 @@ -diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-10.d binutils-2.32-new/ld/testsuite/ld-plugin/plugin-10.d ---- binutils-2.32/ld/testsuite/ld-plugin/plugin-10.d 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-plugin/plugin-10.d 2019-11-19 20:47:04.100602916 +0100 +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 #... @@ -11,9 +11,9 @@ diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-10.d bin +#... hook called: cleanup. #... -diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-11.d binutils-2.32-new/ld/testsuite/ld-plugin/plugin-11.d ---- binutils-2.32/ld/testsuite/ld-plugin/plugin-11.d 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-plugin/plugin-11.d 2019-11-19 20:47:04.100602916 +0100 +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 #... @@ -26,32 +26,18 @@ diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-11.d bin +#... hook called: cleanup. #... -diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-12.d binutils-2.32-new/ld/testsuite/ld-plugin/plugin-12.d ---- binutils-2.32/ld/testsuite/ld-plugin/plugin-12.d 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-plugin/plugin-12.d 2019-11-19 20:47:04.100602916 +0100 -@@ -1,6 +1,6 @@ - #... --.*: symbol `func' definition: 0, visibility: 0, resolution: 2 --.*: symbol `func1' definition: 0, visibility: 1, resolution: 3 --.*: symbol `func2' definition: 0, visibility: 2, resolution: 3 --.*: symbol `func3' definition: 0, visibility: 3, resolution: 3 -+.*: symbol `_?func' definition: 0, visibility: 0, resolution: . -+.*: symbol `_?func1' definition: 0, visibility: 1, resolution: 3 -+.*: symbol `_?func2' definition: 0, visibility: 2, resolution: 3 -+.*: symbol `_?func3' definition: 0, visibility: 3, resolution: 3 - #pass -diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-13.d binutils-2.32-new/ld/testsuite/ld-plugin/plugin-13.d ---- binutils-2.32/ld/testsuite/ld-plugin/plugin-13.d 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-plugin/plugin-13.d 2019-11-19 20:47:04.097602899 +0100 +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.32/ld/testsuite/ld-plugin/plugin-14.d binutils-2.32-new/ld/testsuite/ld-plugin/plugin-14.d ---- binutils-2.32/ld/testsuite/ld-plugin/plugin-14.d 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-plugin/plugin-14.d 2019-11-19 20:47:04.097602899 +0100 +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 #... @@ -61,9 +47,9 @@ diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-14.d bin +#... hook called: cleanup. #... -diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-15.d binutils-2.32-new/ld/testsuite/ld-plugin/plugin-15.d ---- binutils-2.32/ld/testsuite/ld-plugin/plugin-15.d 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-plugin/plugin-15.d 2019-11-19 20:47:04.097602899 +0100 +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 #... @@ -73,9 +59,9 @@ diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-15.d bin +#... hook called: cleanup. #... -diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-16.d binutils-2.32-new/ld/testsuite/ld-plugin/plugin-16.d ---- binutils-2.32/ld/testsuite/ld-plugin/plugin-16.d 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-plugin/plugin-16.d 2019-11-19 20:47:04.097602899 +0100 +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 #... @@ -88,9 +74,9 @@ diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-16.d bin +#... hook called: cleanup. #... -diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-17.d binutils-2.32-new/ld/testsuite/ld-plugin/plugin-17.d ---- binutils-2.32/ld/testsuite/ld-plugin/plugin-17.d 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-plugin/plugin-17.d 2019-11-19 20:47:04.098602905 +0100 +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 #... @@ -101,9 +87,9 @@ diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-17.d bin +#... hook called: cleanup. #... -diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-18.d binutils-2.32-new/ld/testsuite/ld-plugin/plugin-18.d ---- binutils-2.32/ld/testsuite/ld-plugin/plugin-18.d 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-plugin/plugin-18.d 2019-11-19 20:47:04.100602916 +0100 +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 #... @@ -114,9 +100,9 @@ diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-18.d bin +#... hook called: cleanup. #... -diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-19.d binutils-2.32-new/ld/testsuite/ld-plugin/plugin-19.d ---- binutils-2.32/ld/testsuite/ld-plugin/plugin-19.d 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-plugin/plugin-19.d 2019-11-19 20:47:04.100602916 +0100 +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 #... @@ -129,9 +115,9 @@ diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-19.d bin +#... hook called: cleanup. #... -diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-20.d binutils-2.32-new/ld/testsuite/ld-plugin/plugin-20.d ---- binutils-2.32/ld/testsuite/ld-plugin/plugin-20.d 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-plugin/plugin-20.d 2019-11-19 20:47:04.098602905 +0100 +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.* @@ -140,9 +126,9 @@ diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-20.d bin -.*main.c.*: undefined reference to `\.?func' +#... hook called: cleanup. -diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-21.d binutils-2.32-new/ld/testsuite/ld-plugin/plugin-21.d ---- binutils-2.32/ld/testsuite/ld-plugin/plugin-21.d 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-plugin/plugin-21.d 2019-11-19 20:47:04.098602905 +0100 +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.* @@ -151,9 +137,9 @@ diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-21.d bin -.*main.c.*: undefined reference to `\.?func' +#... hook called: cleanup. -diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-22.d binutils-2.32-new/ld/testsuite/ld-plugin/plugin-22.d ---- binutils-2.32/ld/testsuite/ld-plugin/plugin-22.d 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-plugin/plugin-22.d 2019-11-19 20:47:04.098602905 +0100 +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.* @@ -162,9 +148,9 @@ diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-22.d bin -.*main.c.*: undefined reference to `\.?func' +#... hook called: cleanup. -diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-23.d binutils-2.32-new/ld/testsuite/ld-plugin/plugin-23.d ---- binutils-2.32/ld/testsuite/ld-plugin/plugin-23.d 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-plugin/plugin-23.d 2019-11-19 20:47:04.098602905 +0100 +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.* @@ -173,47 +159,47 @@ diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-23.d bin -.*main.c.*: undefined reference to `\.?func' +#... hook called: cleanup. -diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-24.d binutils-2.32-new/ld/testsuite/ld-plugin/plugin-24.d ---- binutils-2.32/ld/testsuite/ld-plugin/plugin-24.d 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-plugin/plugin-24.d 2019-11-19 20:47:04.098602905 +0100 +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.32/ld/testsuite/ld-plugin/plugin-25.d binutils-2.32-new/ld/testsuite/ld-plugin/plugin-25.d ---- binutils-2.32/ld/testsuite/ld-plugin/plugin-25.d 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-plugin/plugin-25.d 2019-11-19 20:47:04.098602905 +0100 +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.32/ld/testsuite/ld-plugin/plugin-28.d binutils-2.32-new/ld/testsuite/ld-plugin/plugin-28.d ---- binutils-2.32/ld/testsuite/ld-plugin/plugin-28.d 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-plugin/plugin-28.d 2019-11-19 20:47:04.101602922 +0100 +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.32/ld/testsuite/ld-plugin/plugin-29.d binutils-2.32-new/ld/testsuite/ld-plugin/plugin-29.d ---- binutils-2.32/ld/testsuite/ld-plugin/plugin-29.d 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-plugin/plugin-29.d 2019-11-19 20:47:04.099602910 +0100 +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.32/ld/testsuite/ld-plugin/plugin-30.d binutils-2.32-new/ld/testsuite/ld-plugin/plugin-30.d ---- binutils-2.32/ld/testsuite/ld-plugin/plugin-30.d 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-plugin/plugin-30.d 2019-11-19 20:47:04.099602910 +0100 +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.32/ld/testsuite/ld-plugin/plugin-6.d binutils-2.32-new/ld/testsuite/ld-plugin/plugin-6.d ---- binutils-2.32/ld/testsuite/ld-plugin/plugin-6.d 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-plugin/plugin-6.d 2019-11-19 20:47:04.099602910 +0100 +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 #... @@ -223,9 +209,9 @@ diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-6.d binu +#... hook called: cleanup. #... -diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-7.d binutils-2.32-new/ld/testsuite/ld-plugin/plugin-7.d ---- binutils-2.32/ld/testsuite/ld-plugin/plugin-7.d 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-plugin/plugin-7.d 2019-11-19 20:47:04.099602910 +0100 +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 #... @@ -235,9 +221,9 @@ diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-7.d binu +#... hook called: cleanup. #... -diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-8.d binutils-2.32-new/ld/testsuite/ld-plugin/plugin-8.d ---- binutils-2.32/ld/testsuite/ld-plugin/plugin-8.d 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-plugin/plugin-8.d 2019-11-19 20:47:04.101602922 +0100 +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 #... @@ -250,9 +236,9 @@ diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-8.d binu +#... hook called: cleanup. #... -diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-9.d binutils-2.32-new/ld/testsuite/ld-plugin/plugin-9.d ---- binutils-2.32/ld/testsuite/ld-plugin/plugin-9.d 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-plugin/plugin-9.d 2019-11-19 20:47:04.099602910 +0100 +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 #... @@ -263,9 +249,9 @@ diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/plugin-9.d binu +#... hook called: cleanup. #... -diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/pr20070.d binutils-2.32-new/ld/testsuite/ld-plugin/pr20070.d ---- binutils-2.32/ld/testsuite/ld-plugin/pr20070.d 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-plugin/pr20070.d 2019-11-19 20:47:04.099602910 +0100 +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 @@ -273,9 +259,9 @@ diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-plugin/pr20070.d binut +#... hook called: cleanup. #... -diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-srec/srec.exp binutils-2.32-new/ld/testsuite/ld-srec/srec.exp ---- binutils-2.32/ld/testsuite/ld-srec/srec.exp 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-srec/srec.exp 2019-11-19 20:47:04.099602910 +0100 +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. @@ -285,10 +271,10 @@ diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-srec/srec.exp binutils proc srec_off { l } { if [string match "S1*" $l] { return 8 -diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-x86-64/x86-64.exp binutils-2.32-new/ld/testsuite/ld-x86-64/x86-64.exp ---- binutils-2.32/ld/testsuite/ld-x86-64/x86-64.exp 2019-01-19 17:01:34.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-x86-64/x86-64.exp 2019-11-19 20:47:04.100602916 +0100 -@@ -1275,25 +1275,6 @@ if { [isnative] && [which $CC] != 0 } { +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" \ ] \ ] diff --git a/binutils-gas-build-note-relocs.patch b/binutils-gas-build-note-relocs.patch deleted file mode 100644 index 1fa71d4..0000000 --- a/binutils-gas-build-note-relocs.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff -rupN --no-dereference binutils-2.32/gas/write.c binutils-2.32-new/gas/write.c ---- binutils-2.32/gas/write.c 2019-01-19 17:01:33.000000000 +0100 -+++ binutils-2.32-new/gas/write.c 2019-11-19 20:47:10.792641216 +0100 -@@ -1891,7 +1891,8 @@ create_obj_attrs_section (void) - static void - create_note_reloc (segT sec, - symbolS * sym, -- bfd_size_type offset, -+ bfd_size_type note_offset, -+ bfd_size_type desc2_offset, - int reloc_type, - bfd_vma addend, - char * note) -@@ -1901,10 +1902,10 @@ create_note_reloc (segT sec, - reloc = XNEW (struct reloc_list); - - /* We create a .b type reloc as resolve_reloc_expr_symbols() has already been called. */ -- reloc->u.b.sec = sec; -- reloc->u.b.s = symbol_get_bfdsym (sym); -+ reloc->u.b.sec = sec; -+ reloc->u.b.s = symbol_get_bfdsym (sym); - reloc->u.b.r.sym_ptr_ptr = & reloc->u.b.s; -- reloc->u.b.r.address = offset; -+ reloc->u.b.r.address = note_offset + desc2_offset; - reloc->u.b.r.addend = addend; - reloc->u.b.r.howto = bfd_reloc_type_lookup (stdoutput, reloc_type); - -@@ -1929,12 +1930,12 @@ create_note_reloc (segT sec, - if (target_big_endian) - { - if (bfd_arch_bits_per_address (stdoutput) <= 32) -- note[offset + 3] = addend; -+ note[desc2_offset + 3] = addend; - else -- note[offset + 7] = addend; -+ note[desc2_offset + 7] = addend; - } - else -- note[offset] = addend; -+ note[desc2_offset] = addend; - } - } - -@@ -2037,10 +2038,10 @@ maybe_generate_build_notes (void) - memcpy (note + 12, "GA$3a1", 8); - - /* Create a relocation to install the start address of the note... */ -- create_note_reloc (sec, sym, total_size + 20, desc_reloc, 0, note); -+ create_note_reloc (sec, sym, total_size, 20, desc_reloc, 0, note); - - /* ...and another one to install the end address. */ -- create_note_reloc (sec, sym, total_size + desc2_offset, desc_reloc, -+ create_note_reloc (sec, sym, total_size, desc2_offset, desc_reloc, - bfd_get_section_size (bsym->section), - note); - diff --git a/binutils-gold-ignore-discarded-note-relocs.patch b/binutils-gold-ignore-discarded-note-relocs.patch index a8adff1..f9f7701 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.32/gold/target-reloc.h binutils-2.32-new/gold/target-reloc.h ---- binutils-2.32/gold/target-reloc.h 2019-01-19 17:01:33.000000000 +0100 -+++ binutils-2.32-new/gold/target-reloc.h 2019-11-19 20:47:02.632594671 +0100 +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; diff --git a/binutils-gold-mismatched-section-flags.patch b/binutils-gold-mismatched-section-flags.patch index 13659f0..3935490 100644 --- a/binutils-gold-mismatched-section-flags.patch +++ b/binutils-gold-mismatched-section-flags.patch @@ -1,7 +1,7 @@ -diff -rupN --no-dereference binutils-2.32/gold/layout.cc binutils-2.32-new/gold/layout.cc ---- binutils-2.32/gold/layout.cc 2019-01-19 17:01:33.000000000 +0100 -+++ binutils-2.32-new/gold/layout.cc 2019-11-19 20:47:10.054636935 +0100 -@@ -868,6 +868,7 @@ Layout::get_output_section(const char* n +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; } @@ -9,7 +9,7 @@ diff -rupN --no-dereference binutils-2.32/gold/layout.cc binutils-2.32-new/gold/ else if ((flags & elfcpp::SHF_TLS) == 0) { elfcpp::Elf_Xword zero_flags = 0; -@@ -878,6 +879,7 @@ Layout::get_output_section(const char* n +@@ -879,6 +880,7 @@ Layout::get_output_section(const char* n if (p != this->section_name_map_.end()) os = p->second; } @@ -17,10 +17,10 @@ diff -rupN --no-dereference binutils-2.32/gold/layout.cc binutils-2.32-new/gold/ } if (os == NULL) -diff -rupN --no-dereference binutils-2.32/gold/object.cc binutils-2.32-new/gold/object.cc ---- binutils-2.32/gold/object.cc 2019-01-19 17:01:33.000000000 +0100 -+++ binutils-2.32-new/gold/object.cc 2019-11-19 20:47:10.054636935 +0100 -@@ -1644,6 +1644,13 @@ Sized_relobj_file::do_ +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; } diff --git a/binutils-objcopy-gnu-build-version-notes.patch b/binutils-objcopy-gnu-build-version-notes.patch deleted file mode 100644 index d1f1492..0000000 --- a/binutils-objcopy-gnu-build-version-notes.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff -rupN --no-dereference binutils-2.32/binutils/objcopy.c binutils-2.32-new/binutils/objcopy.c ---- binutils-2.32/binutils/objcopy.c 2019-01-19 17:01:33.000000000 +0100 -+++ binutils-2.32-new/binutils/objcopy.c 2019-11-19 20:47:13.738658442 +0100 -@@ -1988,7 +1988,6 @@ merge_gnu_build_notes (bfd * abfd, asect - unsigned long previous_open_end = 0; - long relsize; - -- - relsize = bfd_get_reloc_upper_bound (abfd, sec); - if (relsize > 0) - { -@@ -2005,7 +2004,8 @@ merge_gnu_build_notes (bfd * abfd, asect - } - - /* Make a copy of the notes and convert to our internal format. -- Minimum size of a note is 12 bytes. */ -+ Minimum size of a note is 12 bytes. Also locate the version -+ notes and check them. */ - pnote = pnotes = (objcopy_internal_note *) xcalloc ((size / 12), sizeof (* pnote)); - while (remain >= 12) - { -@@ -2174,12 +2174,10 @@ merge_gnu_build_notes (bfd * abfd, asect - attribute_type_byte = version_1_seen ? 1 : 3; - val_start = attribute_type_byte + 1; - -- /* The first note should be the first version note. */ -- if (pnotes[0].note.namedata[attribute_type_byte] != GNU_BUILD_ATTRIBUTE_VERSION) -- { -- err = _("bad GNU build attribute notes: first note not version note"); -- goto done; -- } -+ /* We used to require that the first note be a version note, -+ but this is no longer enforced. Due to the problems with -+ linking sections with the same name (eg .gnu.build.note.hot) -+ we cannot guarantee that the first note will be a version note. */ - - /* Now merge the notes. The rules are: - 1. Preserve the ordering of the notes. -@@ -2196,8 +2194,9 @@ merge_gnu_build_notes (bfd * abfd, asect - with a non-empty description field must also be preserved *OR* the - description field of the note must be changed to contain the starting - address to which it refers. -- 6. Notes with the same start and end address can be deleted. */ -- for (pnote = pnotes + 1; pnote < pnotes_end; pnote ++) -+ 6. Notes with the same start and end address can be deleted. -+ 7. FIXME: Elminate duplicate version notes - even function specific ones ? */ -+ for (pnote = pnotes; pnote < pnotes_end; pnote ++) - { - int note_type; - objcopy_internal_note * back; -@@ -2225,7 +2224,6 @@ merge_gnu_build_notes (bfd * abfd, asect - && back->note.namesz == pnote->note.namesz - && memcmp (back->note.namedata, pnote->note.namedata, pnote->note.namesz) == 0) - { -- fprintf (stderr, "DUP FUNXC\n"); - duplicate_found = TRUE; - pnote->note.type = 0; - break; 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 index ddec626..d52a12f 100644 --- a/binutils-readelf-other-sym-info.patch +++ b/binutils-readelf-other-sym-info.patch @@ -1,7 +1,7 @@ -diff -rupN --no-dereference binutils-2.32/binutils/readelf.c binutils-2.32-new/binutils/readelf.c ---- binutils-2.32/binutils/readelf.c 2019-11-19 20:47:01.146586379 +0100 -+++ binutils-2.32-new/binutils/readelf.c 2019-11-19 20:47:01.152586412 +0100 -@@ -11321,12 +11321,14 @@ print_dynamic_symbol (Filedata * filedat +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)); @@ -16,7 +16,7 @@ diff -rupN --no-dereference binutils-2.32/binutils/readelf.c binutils-2.32-new/b } printf (" %3.3s ", get_symbol_index_type (filedata, psym->st_shndx)); -@@ -11334,6 +11336,15 @@ print_dynamic_symbol (Filedata * filedat +@@ -11509,6 +11511,15 @@ print_dynamic_symbol (Filedata * filedat print_symbol (25, GET_DYNAMIC_NAME (psym->st_name)); else printf (_(" "), psym->st_name); @@ -32,7 +32,7 @@ diff -rupN --no-dereference binutils-2.32/binutils/readelf.c binutils-2.32-new/b putchar ('\n'); } -@@ -11842,11 +11853,13 @@ process_symbol_table (Filedata * filedat +@@ -12043,11 +12054,13 @@ process_symbol_table (Filedata * filedat unsigned int vis = ELF_ST_VISIBILITY (psym->st_other); printf (" %-7s", get_symbol_visibility (vis)); @@ -46,7 +46,7 @@ diff -rupN --no-dereference binutils-2.32/binutils/readelf.c binutils-2.32-new/b } printf (" %4s ", get_symbol_index_type (filedata, psym->st_shndx)); print_symbol (25, psym->st_name < strtab_size -@@ -11865,7 +11878,15 @@ process_symbol_table (Filedata * filedat +@@ -12066,7 +12079,15 @@ process_symbol_table (Filedata * filedat printf (sym_info == symbol_hidden ? "@%s" : "@@%s", version_string); } diff --git a/binutils-rh1736114.patch b/binutils-rh1736114.patch deleted file mode 100644 index f229ef7..0000000 --- a/binutils-rh1736114.patch +++ /dev/null @@ -1,107 +0,0 @@ -diff -rupN --no-dereference binutils-2.32/bfd/elf-properties.c binutils-2.32-new/bfd/elf-properties.c ---- binutils-2.32/bfd/elf-properties.c 2019-01-19 17:01:32.000000000 +0100 -+++ binutils-2.32-new/bfd/elf-properties.c 2019-11-19 20:47:13.003654121 +0100 -@@ -322,12 +322,10 @@ elf_merge_gnu_property_list (struct bfd_ - (bfd_vma) p->property.pr_type, first_pbfd, abfd); - } - } -- else -- { -- /* Remove this property. */ -- *lastp = p->next; -- continue; -- } -+ -+ /* Remove this property. */ -+ *lastp = p->next; -+ continue; - } - else if (number_p) - { -diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-x86-64/pr24721a.s binutils-2.32-new/ld/testsuite/ld-x86-64/pr24721a.s ---- binutils-2.32/ld/testsuite/ld-x86-64/pr24721a.s 1970-01-01 01:00:00.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-x86-64/pr24721a.s 2019-11-19 20:47:13.004654127 +0100 -@@ -0,0 +1,34 @@ -+ .text -+ .globl foo -+ .type foo,@function -+ .p2align 4 -+foo: -+ ret -+ -+ .section ".note.gnu.property", "a" -+.ifdef __64_bit__ -+ .p2align 3 -+.else -+ .p2align 2 -+.endif -+ .long 1f - 0f /* name length */ -+ .long 5f - 2f /* data length */ -+ .long 5 /* note type */ -+0: .asciz "GNU" /* vendor name */ -+1: -+.ifdef __64_bit__ -+ .p2align 3 -+.else -+ .p2align 2 -+.endif -+2: .long 0xc0000002 /* pr_type. */ -+ .long 4f - 3f /* pr_datasz. */ -+3: -+ .long 0x1 -+4: -+.ifdef __64_bit__ -+ .p2align 3 -+.else -+ .p2align 2 -+.endif -+5: -diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-x86-64/pr24721b.s binutils-2.32-new/ld/testsuite/ld-x86-64/pr24721b.s ---- binutils-2.32/ld/testsuite/ld-x86-64/pr24721b.s 1970-01-01 01:00:00.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-x86-64/pr24721b.s 2019-11-19 20:47:13.004654127 +0100 -@@ -0,0 +1,6 @@ -+ .text -+ .globl bar -+ .type bar,@function -+ .p2align 4 -+bar: -+ ret -diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-x86-64/pr24721.d binutils-2.32-new/ld/testsuite/ld-x86-64/pr24721.d ---- binutils-2.32/ld/testsuite/ld-x86-64/pr24721.d 1970-01-01 01:00:00.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-x86-64/pr24721.d 2019-11-19 20:47:13.004654127 +0100 -@@ -0,0 +1,6 @@ -+#source: pr24721a.s -+#source: pr24721b.s -+#as: --64 -defsym __64_bit__=1 -mx86-used-note=no -+#ld: -r -melf_x86_64 -Map tmpdir/pr24721.map -+#readelf: -n -+#map: pr24721.map -diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-x86-64/pr24721.map binutils-2.32-new/ld/testsuite/ld-x86-64/pr24721.map ---- binutils-2.32/ld/testsuite/ld-x86-64/pr24721.map 1970-01-01 01:00:00.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-x86-64/pr24721.map 2019-11-19 20:47:13.004654127 +0100 -@@ -0,0 +1,3 @@ -+#... -+Removed property 0xc0000002 to merge tmpdir/pr24721a.o \(0x1\) and tmpdir/pr24721b.o \(not found\) -+#pass -diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-x86-64/pr24721-x32.d binutils-2.32-new/ld/testsuite/ld-x86-64/pr24721-x32.d ---- binutils-2.32/ld/testsuite/ld-x86-64/pr24721-x32.d 1970-01-01 01:00:00.000000000 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-x86-64/pr24721-x32.d 2019-11-19 20:47:13.003654121 +0100 -@@ -0,0 +1,6 @@ -+#source: pr24721a.s -+#source: pr24721b.s -+#as: --x32 -mx86-used-note=no -+#ld: -r -m elf32_x86_64 -Map tmpdir/pr24721.map -+#readelf: -n -+#map: pr24721.map -diff -rupN --no-dereference binutils-2.32/ld/testsuite/ld-x86-64/x86-64.exp binutils-2.32-new/ld/testsuite/ld-x86-64/x86-64.exp ---- binutils-2.32/ld/testsuite/ld-x86-64/x86-64.exp 2019-11-19 20:47:04.837607078 +0100 -+++ binutils-2.32-new/ld/testsuite/ld-x86-64/x86-64.exp 2019-11-19 20:47:13.004654127 +0100 -@@ -424,6 +424,8 @@ run_dump_test "pr23486d-x32" - run_dump_test "pr23854" - run_dump_test "pr23930" - run_dump_test "pr23930-x32" -+run_dump_test "pr24721" -+run_dump_test "pr24721-x32" - - if { ![istarget "x86_64-*-linux*"] && ![istarget "x86_64-*-nacl*"]} { - return diff --git a/binutils-special-sections-in-groups.patch b/binutils-special-sections-in-groups.patch index b114c50..bdd7515 100644 --- a/binutils-special-sections-in-groups.patch +++ b/binutils-special-sections-in-groups.patch @@ -1,7 +1,7 @@ -diff -rupN --no-dereference binutils-2.32/bfd/elf.c binutils-2.32-new/bfd/elf.c ---- binutils-2.32/bfd/elf.c 2019-01-19 17:01:32.000000000 +0100 -+++ binutils-2.32-new/bfd/elf.c 2019-11-19 20:47:03.372598821 +0100 -@@ -831,7 +831,13 @@ setup_group (bfd *abfd, Elf_Internal_Shd +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 } } @@ -16,7 +16,7 @@ diff -rupN --no-dereference binutils-2.32/bfd/elf.c binutils-2.32-new/bfd/elf.c { /* xgettext:c-format */ _bfd_error_handler (_("%pB: no group info for section '%pA'"), -@@ -937,7 +943,8 @@ _bfd_elf_setup_sections (bfd *abfd) +@@ -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 diff --git a/binutils_24267.patch b/binutils_24267.patch deleted file mode 100644 index 5c9f2bc..0000000 --- a/binutils_24267.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -rupN --no-dereference binutils-2.32/bfd/coffgen.c binutils-2.32-new/bfd/coffgen.c ---- binutils-2.32/bfd/coffgen.c 2019-11-19 20:47:08.571628378 +0100 -+++ binutils-2.32-new/bfd/coffgen.c 2019-11-19 20:47:17.460680520 +0100 -@@ -2639,6 +2639,9 @@ _bfd_coff_section_already_linked (bfd *a - struct bfd_section_already_linked_hash_entry *already_linked_list; - struct coff_comdat_info *s_comdat; - -+ if (sec->output_section == bfd_abs_section_ptr) -+ return FALSE; -+ - flags = sec->flags; - if ((flags & SEC_LINK_ONCE) == 0) - return FALSE; -diff -rupN --no-dereference binutils-2.32/bfd/cofflink.c binutils-2.32-new/bfd/cofflink.c ---- binutils-2.32/bfd/cofflink.c 2019-01-19 17:01:32.000000000 +0100 -+++ binutils-2.32-new/bfd/cofflink.c 2019-11-19 20:47:17.460680520 +0100 -@@ -310,7 +310,9 @@ coff_link_add_symbols (bfd *abfd, - case COFF_SYMBOL_GLOBAL: - flags = BSF_EXPORT | BSF_GLOBAL; - section = coff_section_from_bfd_index (abfd, sym.n_scnum); -- if (! obj_pe (abfd)) -+ if (discarded_section (section)) -+ section = bfd_und_section_ptr; -+ else if (! obj_pe (abfd)) - value -= section->vma; - break; - -@@ -327,6 +329,8 @@ coff_link_add_symbols (bfd *abfd, - case COFF_SYMBOL_PE_SECTION: - flags = BSF_SECTION_SYM | BSF_GLOBAL; - section = coff_section_from_bfd_index (abfd, sym.n_scnum); -+ if (discarded_section (section)) -+ section = bfd_und_section_ptr; - break; - } - diff --git a/mingw-binutils.spec b/mingw-binutils.spec index 5d42aff..593e5a3 100644 --- a/mingw-binutils.spec +++ b/mingw-binutils.spec @@ -1,8 +1,8 @@ %global run_testsuite 1 Name: mingw-binutils -Version: 2.32 -Release: 7%{?dist} +Version: 2.34 +Release: 0%{?dist} Summary: Cross-compiled version of binutils for Win32 and Win64 environments License: GPLv2+ and LGPLv2+ and GPLv3+ and LGPLv3+ @@ -79,85 +79,21 @@ Patch12: binutils-special-sections-in-groups.patch # Lifetime: Fixed in 2.33 (possibly) Patch13: binutils-fix-testsuite-failures.patch -# Purpose: Improve objdump's handling of corrupt input files. -# Lifetime: Fixed in 2.33 -Patch14: binutils-CVE-2019-9073.patch - -# Purpose: Stop illegal memory access parsing corrupt PE files. -# Lifetime: Fixed in 2.33 -Patch15: binutils-CVE-2019-9074.patch - -# Purpose: Stop illegal memory access parsing corrupt archives. -# Lifetime: Fixed in 2.33 -Patch16: binutils-CVE-2019-9075.patch - -# Purpose: Stop illegal memory access parsing a corrupt MIPS binary. -# Lifetime: Fixed in 2.33 -Patch17: binutils-CVE-2019-9077.patch - -# Purpose: Stop a seg-fault when disassembling an EFI binary. -# Lifetime: Fixed in 2.33 -Patch18: binutils-disassembling-efi-files.patch - -# Purpose: Fix a stack exhaustion problem in libiberty's name demangling code. -# Lifetime: Fixed in 2.33 -Patch19: binutils-CVE-2019-9071.patch - -# Purpose: Have the GOLD linker for AArch64 generate PLT entries for MOVW_ABS -# relocations if necessary. -# Lifetime: Fixed in 2.33 -Patch20: binutils-aarch64-gold-PLT-for-MOVW_ABS.patch - # Purpose: Stop gold from aborting when input sections with the same name # have different flags. -# Lifetime: Fixed in 2.33 (probably) -Patch21: binutils-gold-mismatched-section-flags.patch - -# Purpose: Corrcect a memory corruption when generating relocs for build -# notes in the assembler. -# Lifetime: Fixed in 2.33 -Patch22: binutils-gas-build-note-relocs.patch - -# Purpose: Stop the BFD library from issueing warning messages about allocated -# sections being found outside of loadable segments, if they are -# found inside debuginfo files. -# Lifetime: Fixed in 2.33 -Patch23: binutils-do-not-warn-about-debuginfo-files.patch - -# Purpose: Stops the linker from merging section groups with different exclusion flags. -# Lifetime: Fixed in 2.33 -Patch24: binutils-do-not-merge-differing-SHF_EXCLUDE-groups.patch - -# Purpose: Fix -Map and property merging -# Lifetime: Fixed in 2.33 -Patch25: binutils-rh1736114.patch - -# Purpose: Change objcopy/strip so that they do not complain if the -# first note in a sequence of build notes is not a version note. -# Lifetime: Fixed in 2.33 -Patch26: binutils-objcopy-gnu-build-version-notes.patch - -# Purpose: Add a check to the GOLD linker for a corrupt input file -# with a fuzzed section offset. -# Lifetime: Fixed in 2.33 -Patch27: binutils-CVE-2019-1010204.patch - -# Purpose: Add check to libiberty library in order to prevent an integer overflow in the gold linker. -# Lifetime: Fixed in 2.33 -Patch28: binutils-CVE-2019-14250.patch - -# Purpose: Add check to readelf in order to prevent an integer overflow. -# Lifetime: Fixed in 2.33 -Patch29: binutils-CVE-2019-14444.patch +# Lifetime: Fixed in 2.35 (maybe) +Patch14: binutils-gold-mismatched-section-flags.patch -### MINGW specific patches +# Purpose: Fix a potential use of an initialised field by readelf. +# Lifetime: Fixed in 2.35 +Patch15: binutils-readelf-compression-header-size.patch -# Backport https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=999d6dff80fab12d22c2a8d91923db6bde7fb3e5 -# Fixes "too many open files" when linking libLLVM.dll -Patch100: 0001-Plugin-target-handling.patch -# Backport https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=patch;h=2219ae0b0ebe14373850b000c2abaa31dab1d741 -# Fixes an LTO issue (#1475237) -Patch101: binutils_24267.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 BuildRequires: gcc BuildRequires: flex @@ -214,7 +150,7 @@ understand Windows executables and DLLs. %build mkdir build_win32 pushd build_win32 -CFLAGS="$RPM_OPT_FLAGS" \ +CFLAGS="%{optflags}" \ ../configure \ --build=%_build --host=%_host \ --target=%{mingw32_target} \ @@ -227,12 +163,12 @@ CFLAGS="$RPM_OPT_FLAGS" \ --mandir=%{_mandir} \ --infodir=%{_infodir} -make all %{?_smp_mflags} +%make_build popd mkdir build_win64 pushd build_win64 -CFLAGS="$RPM_OPT_FLAGS" \ +CFLAGS="%{optflags}" \ ../configure \ --build=%_build --host=%_host \ --target=%{mingw64_target} \ @@ -245,13 +181,13 @@ CFLAGS="$RPM_OPT_FLAGS" \ --mandir=%{_mandir} \ --infodir=%{_infodir} -make all %{?_smp_mflags} +%make_build popd # Create multilib versions for the tools strip, objdump nm, and objcopy mkdir build_multilib pushd build_multilib -CFLAGS="$RPM_OPT_FLAGS" \ +CFLAGS="%{optflags}" \ ../configure \ --build=%_build --host=%_host \ --target=%{mingw64_target} \ @@ -265,7 +201,7 @@ CFLAGS="$RPM_OPT_FLAGS" \ --mandir=%{_mandir} \ --infodir=%{_infodir} -make %{?_smp_mflags} +%make_build popd @@ -304,25 +240,25 @@ popd %install -%mingw_make_install DESTDIR=$RPM_BUILD_ROOT -make -C build_multilib DESTDIR=$RPM_BUILD_ROOT/multilib install +%mingw_make_install +make -C build_multilib DESTDIR=%{buildroot}/multilib install # These files conflict with ordinary binutils. -rm -rf $RPM_BUILD_ROOT%{_infodir} -rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty* +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 $RPM_BUILD_ROOT/multilib%{_bindir}/%{mingw64_strip} $RPM_BUILD_ROOT%{_bindir}/%{mingw_strip} -mv $RPM_BUILD_ROOT/multilib%{_bindir}/%{mingw64_objdump} $RPM_BUILD_ROOT%{_bindir}/%{mingw_objdump} -mv $RPM_BUILD_ROOT/multilib%{_bindir}/%{mingw64_objcopy} $RPM_BUILD_ROOT%{_bindir}/%{mingw_objcopy} -mv $RPM_BUILD_ROOT/multilib%{_bindir}/%{mingw64_nm} $RPM_BUILD_ROOT%{_bindir}/%{mingw_nm} -rm -rf $RPM_BUILD_ROOT/multilib +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 -%doc COPYING +%license COPYING %{_mandir}/man1/* %{_bindir}/%{mingw_strip} %{_bindir}/%{mingw_objdump} @@ -399,6 +335,10 @@ rm -rf $RPM_BUILD_ROOT/multilib %changelog +* 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 diff --git a/sources b/sources index 0358641..24c4851 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (binutils-2.32.tar.bz2) = 99ec7ed2b5ebfd3ac16cecb1567ec4a72f81ac30717002d601708f7547b2f8122ffcce076c986f22894aede33c54c73012210a4e973ba9b6e2d87a242a2bee12 +SHA512 (binutils-2.34.tar.bz2) = f47e7304e102c7bbc97958a08093e27796b9051d1567ce4fbb723d39ef3e29efa325ee14a1bdcc462a925a7f9bbbc9aee28294c6dc23850f371030f3835a8067