Compare commits

...
Sign in to create a new pull request.

10 commits

Author SHA1 Message Date
Nick Clifton
1d2e7ca658 Make the s390 assembler accept the -march=z15 command line option.
Resolves: #1876451
2020-09-07 13:54:19 +01:00
Nick Clifton
3f0f291a40 Fix a potential illegal memorty access parsing a corrupt ELF file.
Resolves: #1835138
2020-05-13 11:38:18 +01:00
Nick Clifton
a4d4196e54 Improve the accuracy of addr2line.
Resolves: #1760967
2020-01-02 17:16:52 +00:00
Nick Clifton
d2132862d4 Fix thinko in gold-mismatched sections patch.
Resolves: #1775750
2019-11-25 12:31:09 +00:00
Nick Clifton
281faf9e35 Fix a buffer overrun in the note merging code.
Resolves: #1774507
2019-11-21 09:18:57 +00:00
Nick Clifton
a76d1cde9f Fix seg-fault stripping ppc64le binary. 2019-11-20 17:52:18 +00:00
Nick Clifton
2ee8a55a80 Strip: Do not fill note sections with zero bytes if not merging. 2019-11-07 07:13:55 +00:00
Nick Clifton
308e48f1d4 Objcopy: Do not generate a failure exit status if note merging fails.
Relates: #1767937
2019-11-05 13:51:49 +00:00
Nick Clifton
2456658474 Improve objcopy's ability to merge GNU build attribute notes. 2019-10-31 11:23:12 +00:00
Nick Clifton
7cd9ee061b Fix the verification of the installed linker symlink.
Resolves: #1767000
2019-10-30 17:14:01 +00:00
7 changed files with 4123 additions and 57 deletions

View file

@ -1,38 +0,0 @@
# Generate OUTPUT_FORMAT line for .so files from the system linker output.
# Imported from glibc/Makerules.
/ld.*[ ]-E[BL]/b f
/collect.*[ ]-E[BL]/b f
/OUTPUT_FORMAT[^)]*$/{N
s/\n[ ]*/ /
}
t o
: o
s/^.*OUTPUT_FORMAT(\([^,]*\), \1, \1).*$/OUTPUT_FORMAT(\1)/
t q
s/^.*OUTPUT_FORMAT(\([^,]*\), \([^,]*\), \([^,]*\)).*$/\1,\2,\3/
t s
s/^.*OUTPUT_FORMAT(\([^,)]*\).*$)/OUTPUT_FORMAT(\1)/
t q
d
: s
s/"//g
G
s/\n//
s/^\([^,]*\),\([^,]*\),\([^,]*\),B/OUTPUT_FORMAT(\2)/p
s/^\([^,]*\),\([^,]*\),\([^,]*\),L/OUTPUT_FORMAT(\3)/p
s/^\([^,]*\),\([^,]*\),\([^,]*\)/OUTPUT_FORMAT(\1)/p
/,/s|^|*** BUG in libc/scripts/output-format.sed *** |p
q
: q
s/"//g
p
q
: f
s/^.*[ ]-E\([BL]\)[ ].*$/,\1/
t h
s/^.*[ ]-E\([BL]\)$/,\1/
t h
d
: h
h

View file

@ -0,0 +1,17 @@
--- binutils.orig/bfd/elfcode.h 2020-05-13 11:18:04.792779506 +0100
+++ binutils-2.32/bfd/elfcode.h 2020-05-13 11:19:36.270101134 +0100
@@ -750,12 +750,9 @@ elf_object_p (bfd *abfd)
!= 0))
abfd->flags &= ~D_PAGED;
}
- }
- /* A further sanity check. */
- if (i_ehdrp->e_shnum != 0)
- {
- if (i_ehdrp->e_shstrndx >= elf_numsections (abfd))
+ if (i_ehdrp->e_shstrndx >= elf_numsections (abfd)
+ || i_shdrp[i_ehdrp->e_shstrndx].sh_type != SHT_STRTAB)
{
/* PR 2257:
We used to just goto got_wrong_format_error here

File diff suppressed because it is too large Load diff

View file

@ -17,20 +17,3 @@ diff -rup binutils.orig/gold/layout.cc binutils-2.32/gold/layout.cc
}
if (os == NULL)
diff -rup binutils.orig/gold/object.cc binutils-2.32/gold/object.cc
--- binutils.orig/gold/object.cc 2019-06-24 14:37:36.012086906 +0100
+++ binutils-2.32/gold/object.cc 2019-06-24 14:39:59.287165501 +0100
@@ -1644,6 +1644,13 @@ Sized_relobj_file<size, big_endian>::do_
omit[i] = true;
}
+ // Skip empty sections without flags.
+ if (!(shdr.get_sh_flags() & ~elfcpp::SHF_GROUP)
+ && !shdr.get_sh_size())
+ {
+ omit[i] = true;
+ }
+
bool discard = omit[i];
if (!discard)
{

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,11 @@
--- binutils.orig/gas/config/tc-s390.c 2020-09-07 13:03:11.452827418 +0100
+++ binutils-2.32/gas/config/tc-s390.c 2020-09-07 13:07:08.659288106 +0100
@@ -291,7 +291,7 @@ s390_parse_cpu (const char * arg
S390_INSTR_FLAG_HTM | S390_INSTR_FLAG_VX },
{ STRING_COMMA_LEN ("z14"), STRING_COMMA_LEN ("arch12"),
S390_INSTR_FLAG_HTM | S390_INSTR_FLAG_VX },
- { STRING_COMMA_LEN (""), STRING_COMMA_LEN ("arch13"),
+ { STRING_COMMA_LEN ("z15"), STRING_COMMA_LEN ("arch13"),
S390_INSTR_FLAG_HTM | S390_INSTR_FLAG_VX }
};
static struct

View file

@ -2,7 +2,7 @@
Summary: A GNU collection of binary utilities
Name: %{?cross}binutils%{?_with_debug:-debug}
Version: 2.32
Release: 24%{?dist}
Release: 33%{?dist}
License: GPLv3+
URL: https://sourceware.org/binutils
@ -256,6 +256,22 @@ Patch28: binutils-CVE-2019-14250.patch
# Lifetime: Fixed in 2.33
Patch29: binutils-CVE-2019-14444.patch
# Purpose: Improve objcopy's ability to merge GNU build attribute notes.
# Lifetime: Fixed in 2.34
Patch30: binutils-improved-note-merging.patch
# Purpose: Improve addr2line's ability to translate addresses into file/line numbers.
# Lifetime: Fixed in 2.34
Patch31: binutils-addr2line-fixes.patch
# Purpose: Fix a potential illegal memory access parsing corrupt ELF files.
# Lifetime: Fixed in 2.34
Patch32: binutils-CVE-2019-12972.patch
# Purpose: Have the s390 assembler support the -march=z15 option
# Lifetime: Fixed in 2.33
Patch33: binutils-s390-gas-accept-march-z15.patch
#----------------------------------------------------------------------------
Provides: bundled(libiberty)
@ -411,6 +427,10 @@ Conflicts: gcc-c++ < 4.0.0
%patch27 -p1
%patch28 -p1
%patch29 -p1
%patch30 -p1
%patch31 -p1
%patch32 -p1
%patch33 -p1
# We cannot run autotools as there is an exact requirement of autoconf-2.59.
# FIXME - this is no longer true. Maybe try reinstating autotool use ?
@ -770,7 +790,8 @@ exit 0
%license COPYING COPYING3 COPYING3.LIB COPYING.LIB
%doc README
%{_bindir}/%{?cross}[!l]*
%{_bindir}/%{?cross}ld
# %%verify(symlink) does not work for some reason, so using "owner" instead.
%verify(owner) %{_bindir}/%{?cross}ld
%{_bindir}/%{?cross}ld.bfd
%if %{with docs}
@ -807,6 +828,33 @@ exit 0
#----------------------------------------------------------------------------
%changelog
* Mon Sep 07 2020 Nick Clifton <nickc@redhat.com> - 2.32-33
- Make the s390 assembler accept the -march=z15 command line option. (#1876451)
* Wed May 13 2020 Nick Clifton <nickc@redhat.com> - 2.32-32
- Fix a potential illegal memorty access parsing a corrupt ELF file. (#1835138)
* Thu Jan 02 2020 Nick Clifton <nickc@redhat.com> - 2.32-31
- Improve the accuracy of addr2line. (#1760967)
* Mon Nov 25 2019 Nick Clifton <nickc@redhat.com> - 2.32-30
- Fix snafu left in previous gold patch. (#1775750)
* Thu Nov 21 2019 Nick Clifton <nickc@redhat.com> - 2.32-29
- Fix a buffer overrun in the note merging code. (#1774507)
* Thu Nov 07 2019 Nick Clifton <nickc@redhat.com> - 2.32-28
- Strip: Do not fill note sections with zero bytes if not merging.
* Tue Nov 05 2019 Nick Clifton <nickc@redhat.com> - 2.32-27
- Objcopy: Do not generate a failure exit status if note merging fails. (#1767937)
* Thu Oct 31 2019 Nick Clifton <nickc@redhat.com> - 2.32-26
- Improve objcopy's ability to merge GNU build attribute notes.
* Wed Oct 30 2019 Nick Clifton <nickc@redhat.com> - 2.32-25
- Fix the verification of the installed linker symlink. (#1767000)
* Tue Aug 13 2019 Nick Clifton <nickc@redhat.com> - 2.32-24
- Fix potential integer overflow in readelf. (#1740470)