Update to 2.34
This commit is contained in:
parent
e2ca543cde
commit
dd6665cb03
1
.gitignore
vendored
1
.gitignore
vendored
@ -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
|
||||
|
||||
@ -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
|
||||
@ -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__
|
||||
|
||||
@ -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," \
|
||||
|
||||
@ -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];
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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,
|
||||
@ -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;
|
||||
@ -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
|
||||
@ -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]);
|
||||
@ -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);
|
||||
@ -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)
|
||||
@ -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<size, big_endian>::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
|
||||
@ -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<Char_type>::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<const Char_type*>(pdata);
|
||||
const Char_type* pend = p + sec_len / sizeof(Char_type);
|
||||
@@ -494,7 +496,7 @@ Output_merge_string<Char_type>::do_add_i
|
||||
// aligned, so each string within the section must retain the same
|
||||
// modulo.
|
||||
uintptr_t init_align_modulo = (reinterpret_cast<uintptr_t>(pdata)
|
||||
- & (this->addralign() - 1));
|
||||
+ & (addralign - 1));
|
||||
bool has_misaligned_strings = false;
|
||||
|
||||
while (p < pend)
|
||||
@@ -503,7 +505,7 @@ Output_merge_string<Char_type>::do_add_i
|
||||
|
||||
// Within merge input section each string must be aligned.
|
||||
if (len != 0
|
||||
- && ((reinterpret_cast<uintptr_t>(p) & (this->addralign() - 1))
|
||||
+ && ((reinterpret_cast<uintptr_t>(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<size, big_endian> 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<unsigned int, Compressed_section_info> 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())
|
||||
@ -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)
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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);
|
||||
@ -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"),
|
||||
@ -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 \
|
||||
|
||||
@ -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" \
|
||||
] \
|
||||
]
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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<size, big_endian>::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<size, big_endian>::do_
|
||||
omit[i] = true;
|
||||
}
|
||||
|
||||
|
||||
@ -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;
|
||||
126
binutils-readelf-compression-header-size.patch
Normal file
126
binutils-readelf-compression-header-size.patch
Normal file
@ -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 (_(" [<corrupt>]\n"));
|
||||
else
|
||||
- printf (_(" [<unknown>: 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 (_(" [<unknown>: 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)
|
||||
{
|
||||
@ -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 (_(" <corrupt: %14ld>"), 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);
|
||||
}
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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,86 +79,22 @@ 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
|
||||
# Lifetime: Fixed in 2.35 (maybe)
|
||||
Patch14: 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: Fix a potential use of an initialised field by readelf.
|
||||
# Lifetime: Fixed in 2.35
|
||||
Patch15: binutils-readelf-compression-header-size.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
|
||||
# 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
|
||||
|
||||
# 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
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: flex
|
||||
BuildRequires: bison
|
||||
@ -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 <manisandro@gmail.com> - 2.34.0-1
|
||||
- Update to 2.34.0
|
||||
- Modernize spec
|
||||
|
||||
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.32-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
|
||||
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (binutils-2.32.tar.bz2) = 99ec7ed2b5ebfd3ac16cecb1567ec4a72f81ac30717002d601708f7547b2f8122ffcce076c986f22894aede33c54c73012210a4e973ba9b6e2d87a242a2bee12
|
||||
SHA512 (binutils-2.34.tar.bz2) = f47e7304e102c7bbc97958a08093e27796b9051d1567ce4fbb723d39ef3e29efa325ee14a1bdcc462a925a7f9bbbc9aee28294c6dc23850f371030f3835a8067
|
||||
|
||||
Loading…
Reference in New Issue
Block a user