- 19 Sep, 2017 11 commits
-
-
Nick Clifton authored
-
Nick Clifton authored
* xtensa-isa.c (xtensa_isa_init): Don't update lookup table entries for sysregs with negative indices. * emultempl/xtensaelf.em (xtensa_wild_group_interleave_callback): Only check for by_name sorting.
-
Alan Modra authored
-
Alan Modra authored
After the PR 21411 fix, the linker generated .eh_frame for ppc64 glink can be edited by the generic code. The sequence of events goes something like: 1) Some object file adds .eh_frame aligned to 8, making the output .eh_frame aligned to at least 8, so linker generated .eh_frame FDE is padded to an 8 byte boundary. 2) All .eh_frame past the glink .eh_frame is garbage collected. 3) Generic code detects that last FDE (the glink .eh_frame) doesn't need to be padded to an 8 byte boundary, reducing size from 88 to 84. 4) elf64-ppc.c check fails. PR 21441 * elf64-ppc.c (ppc64_elf_build_stubs): Don't check glink_eh_frame size. (cherry picked from commit 25516cc5)
-
Alan Modra authored
elf_gc_sweep_symbol should run after verdefs are calculated, since the verdef code creates symbols for the versions. However, elf_gc_sweep_symbol needs to run before verrefs so as to not emit useless verrefs for symbols that are gc'd. I've also removed a _bfd_elf_link_renumber_dynsyms calls added by Maciej after I fussed about it when reviewing. On further examination the call appears to be unnecessary. Looking at renumber_dynsyms also made me realize that the test to exclude .gnu.version has been wrong since 2016-04-26 (git commit d5486c43), so fix that too. PR 22150 * elflink.c (bfd_elf_size_dynamic_sections): Garbage collect symbols before calculating verrefs. Don't renumber dynsyms after gc. Exclude .gnu.version when zero or one dynsym. Localize some vars and reindent. (cherry picked from commit 3d13f3e9)
-
Alan Modra authored
The trouble with stubs per output section is that ppc32 uses a plt stub as the address of a global function. This needs to be unique, otherwise we'll get multiple addresses for a function. Obviously this is only a partial solution, since ppc32 will get multiple stubs when code is larger than 33M. A proper fix will involve selecting a unique stub to use for non-branch relocs. * options.h (stub-group-multi): Default to true. Add --no-stub-group-multi. (cherry picked from commit ab502e63)
-
Alan Modra authored
The machinery to do this was there, but not enabled if the terminator was the only thing in the section. bfd/ * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Don't exit early for a section containing just a terminator. Allow multiple terminators at end of section. * elflink.c (bfd_elf_discard_info): Iterate over .eh_frame sections when not adding alignment. Assert on terminator in the middle of FDEs. ld/ * testsuite/ld-elf/eh3.d: Update. * testsuite/ld-elf/eh4.d: Update. (cherry picked from commit 9866ffe2)
-
Alan Modra authored
PR 21441 PR 22048 * elflink.c (bfd_elf_discard_info): Don't pad embedded zero terminators. (cherry picked from commit af471f82)
-
Alan Modra authored
Until all .eh_frame sections have been edited we don't know their sizes. So it isn't possible to properly decide whether a non-empty .eh_frame section follows a given section until editing is complete. bfd/ PR 21441 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't add alignment padding here. * elflink.c (bfd_elf_discard_info): Add .eh_frame padding here in a reverse pass over sections. ld/ PR 21441 * testsuite/ld-x86-64/pr21038a.d: Adjust. * testsuite/ld-x86-64/pr21038a-now.d: Adjust. (cherry picked from commit 79a94a2a)
-
Alan Modra authored
This reverts commit 35e01275.
-
GDB Administrator authored
-
- 18 Sep, 2017 3 commits
-
-
H.J. Lu authored
Require GCC 5 or above for 3 x86 tests which fail with GCC 4.9.3. PR ld/21924 * testsuite/ld-i386/i386.exp: Require GCC 5 or above for "weakundef1 with PIE" test. * testsuite/ld-x86-64/tls.exp: Require GCC 5 or above for "tlsdesc1" and "tlsdesc1 with PIE" tests. (cherry picked from commit 25d28c91)
-
H.J. Lu authored
Since bfd_canonicalize_dynamic_reloc returns -1 on error, check it in elf_i386_get_synthetic_symtab and elf_x86_64_get_synthetic_symtab. PR ld/22148 * elf32-i386.c (elf_i386_get_synthetic_symtab): Check error return from bfd_canonicalize_dynamic_reloc. * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Likewise. (cherry picked from commit 94670f6c)
-
GDB Administrator authored
-
- 17 Sep, 2017 1 commit
-
-
GDB Administrator authored
-
- 16 Sep, 2017 1 commit
-
-
GDB Administrator authored
-
- 15 Sep, 2017 2 commits
-
-
Nick Clifton authored
-
GDB Administrator authored
-
- 14 Sep, 2017 6 commits
-
-
Nick Clifton authored
PR binutils/22113 * peXXigen.c (pe_print_idata): Extend check for HintName vector entries.
-
Alan Modra authored
This reverts commit bd926929.
-
Hans-Peter Nilsson authored
Weak undefineds with PUSHJ relocs were "lost", causing internal inconsistencies and an abort. Import from mainline.
-
Hans-Peter Nilsson authored
gcc-4.3.0 warns that it may be used uninitialized. It takes a look and a half at the code to understand that it's false. Import from mainline.
-
GDB Administrator authored
-
- 13 Sep, 2017 1 commit
-
-
GDB Administrator authored
-
- 12 Sep, 2017 1 commit
-
-
GDB Administrator authored
-
- 11 Sep, 2017 1 commit
-
-
GDB Administrator authored
-
- 10 Sep, 2017 3 commits
-
-
Nick Clifton authored
Import fix from mainline that fixes buffer overrun errors when parsing corrupt DWARF debug information string sections. PR 22047 * dwarf2.c (read_section): If necessary add a terminating NUL byte to dwarf string sections.
-
Alan Modra authored
This changes the PowerPC64 --plt-align option to perform the usual alignment of code as suggested by its name, as well as the previous behaviour of padding so as to reduce boundary crossing. The old behaviour is had by using a negative parameter. The default is also changed to align plt stub code by default to 32 byte boundaries, the point being to get better bctr branch prediction on power8 and power9 hardware. bfd/ * elf64-ppp.c (plt_stub_pad): Handle positive and negative plt_stub_align. ld/ * ld.texinfo (--plt-align): Describe new behaviour of option. * emultempl/ppc64elf.em (params): Default plt_stub_align to 5. * testsuite/ld-powerpc/powerpc.exp: Pass --no-plt-align for selected tests. * testsuite/ld-powerpc/relbrlt.d: Pass --no-plt-align. * testsuite/ld-powerpc/elfv2so.d: Adjust expected output. (cherry picked from commit 2420fff6) (and commit bab55c05 for part of elfv2so.d change)
-
GDB Administrator authored
-
- 09 Sep, 2017 3 commits
-
-
H.J. Lu authored
Since the NOTRACK prefix is no longer required to be the last prefix before the REX prefix, restriction on the NOTRACK prefix position is removed from assembler as well as disassembler. Assembler encodes the NOTRACK prefix the same way as the DS segment register, which places it before other prefixes. Disassembler displays prefixes in the order they appear. gas/ * config/tc-i386.c (NOTRACK_PREFIX): Removed. (REX_PREFIX): Updated. (MAX_PREFIXES): Likewise. (parse_insn): Remove restriction on NOTRACK prefix position. * testsuite/gas/i386/notrack.s: Add tests with NOTRACK prefix before other prefixes. * testsuite/gas/i386/x86-64-notrack.s: Likewise. * testsuite/gas/i386/notrackbad.s: Remove tests with NOTRACK prefix before other prefixes. * testsuite/gas/i386/x86-64-notrackbad.s: Likewise. * testsuite/gas/i386/notrack-intel.d: Updated. * testsuite/gas/i386/notrack.d: Likewise. * testsuite/gas/i386/notrackbad.l: Likewise. * testsuite/gas/i386/x86-64-notrack-intel.d: Likewise. * testsuite/gas/i386/x86-64-notrack.d: Likewise. * testsuite/gas/i386/x86-64-notrackbad.l: Likewise. opcodes/ * i386-dis.c (last_active_prefix): Removed. (ckprefix): Don't set last_active_prefix. (NOTRACK_Fixup): Don't check last_active_prefix. (cherry picked from commit 4e9ac44a)
-
H.J. Lu authored
Update x86 get_synthetic_symtab to check for valid PLT section size before examining PLT section contents. PR binutils/22018 * elf32-i386.c (elf_i386_get_synthetic_symtab): Check for valid PLT section size. * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Likewise. (cherry picked from commit 90efb642)
-
GDB Administrator authored
-
- 08 Sep, 2017 1 commit
-
-
GDB Administrator authored
-
- 07 Sep, 2017 1 commit
-
-
GDB Administrator authored
-
- 06 Sep, 2017 1 commit
-
-
GDB Administrator authored
-
- 05 Sep, 2017 4 commits
-
-
Nick Clifton authored
PR 21861 * winduni.c (codepages): Use cp1252 for codepage 0. PR 21813 * rddbg.c (read_symbol_stabs_debugging_info): Check for an empty string whilst concatenating symbol names. PR 21909 * prdbg.c (pr_int_type): Increase size of local string buffer. (pr_float_type): Likewise. (pr_bool_type): Likewise. PR 21820 * readelf.c (dump_section_as_strings): Do not fail if the section was empty. (dump_section_as_bytes): Likewise. PR 21990 * readelf.c (process_version_sections <SHT_GNU_verneed>): Check for invalid vn_next field before adding to idx. Use unsigned long for index vars. Move index checks. <SHT_GNU_verdef>: Likewise for vd_next. PR 21994 * readelf.c (process_version_sections <SHT_GNU_verdef>): Check vd_aux and vda_next for sanity. Delete "end". Correct overflow checks. (process_version_sections <SHT_GNU_verneed>): Correct overflow check. Don't report invalid vna_next on overflow. Do report invalid vna_next on size less than aux info.
-
Nick Clifton authored
PR binutils/22032 * opncls.c (bfd_close_all_done): Don't call bfd_cache_close before _close_and_cleanup. Call iovec->bclose after. (bfd_close): Remove code common to, and call, bfd_close_all_done.
-
Nick Clifton authored
PR 21995 * readelf.c (process_mips_specific): Add checks for a NULL data pointer.
-
GDB Administrator authored
-