and though bugs are the bane of my existence, rest assured the wretched thing will get the best of care here

  1. 19 Sep, 2017 11 commits
    • Nick Clifton's avatar
      Fix spelling ypos in changelog entries · d1a6e719
      Nick Clifton authored
      d1a6e719
    • Nick Clifton's avatar
      Import xtensa patches from the mainline sources to fix name lookup and sorting. · 8161f998
      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.
      8161f998
    • Alan Modra's avatar
      ChangeLog fixes · 50d637ff
      Alan Modra authored
      50d637ff
    • Alan Modra's avatar
      PowerPC64 stubs don't match calculated size · 91020166
      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)
      91020166
    • Alan Modra's avatar
      PR22150, ld keeps a version reference for gc'd symbols · c01ee74d
      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)
      c01ee74d
    • Alan Modra's avatar
      [GOLD, PowerPC] Add --no-stub-group-multi · 2b5d4106
      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)
      2b5d4106
    • Alan Modra's avatar
      Remove .eh_frame zero terminators · 8deff86b
      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)
      8deff86b
    • Alan Modra's avatar
      PR22048, Incorrect .eh_frame section in libc.so · 3bf3f89d
      Alan Modra authored
      	PR 21441
      	PR 22048
      	* elflink.c (bfd_elf_discard_info): Don't pad embedded zero
      	terminators.
      
      (cherry picked from commit af471f82)
      3bf3f89d
    • Alan Modra's avatar
      PR21441, Unnecessary padding of .eh_frame section · 8fd7cca5
      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)
      8fd7cca5
    • Alan Modra's avatar
      1ae8e237
    • GDB Administrator's avatar
      Automatic date update in version.in · 583043c2
      GDB Administrator authored
      583043c2
  2. 18 Sep, 2017 3 commits
    • H.J. Lu's avatar
      ld: Require GCC 5 or above for 3 x86 tests · 00109687
      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)
      00109687
    • H.J. Lu's avatar
      Check error return from bfd_canonicalize_dynamic_reloc · e6ff33ca
      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)
      e6ff33ca
    • GDB Administrator's avatar
      Automatic date update in version.in · 7a31b38e
      GDB Administrator authored
      7a31b38e
  3. 17 Sep, 2017 1 commit
  4. 16 Sep, 2017 1 commit
  5. 15 Sep, 2017 2 commits
  6. 14 Sep, 2017 6 commits
  7. 13 Sep, 2017 1 commit
  8. 12 Sep, 2017 1 commit
  9. 11 Sep, 2017 1 commit
  10. 10 Sep, 2017 3 commits
    • Nick Clifton's avatar
      Import fix from mainline that fixes buffer overrun errors when parsing corrupt... · 4c730770
      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.
      4c730770
    • Alan Modra's avatar
      PowerPC64 --plt-align · 38d47c22
      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)
      38d47c22
    • GDB Administrator's avatar
      Automatic date update in version.in · 68b908bd
      GDB Administrator authored
      68b908bd
  11. 09 Sep, 2017 3 commits
    • H.J. Lu's avatar
      x86: Remove restriction on NOTRACK prefix position · 21ac7093
      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)
      21ac7093
    • H.J. Lu's avatar
      x86: Check for valid PLT section size · bb0216e2
      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)
      bb0216e2
    • GDB Administrator's avatar
      Automatic date update in version.in · fe41779b
      GDB Administrator authored
      fe41779b
  12. 08 Sep, 2017 1 commit
  13. 07 Sep, 2017 1 commit
  14. 06 Sep, 2017 1 commit
  15. 05 Sep, 2017 4 commits
    • Nick Clifton's avatar
      Import patches from mainline to fix minor binutils bugs: · 64aa1246
      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.
      64aa1246
    • Nick Clifton's avatar
      Import patch from mainline to fix memory leak. · 57094590
      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.
      57094590
    • Nick Clifton's avatar
      Import parch from mainline to prevent buffer overrun. · 81d80fc0
      Nick Clifton authored
      	PR 21995
      	* readelf.c (process_mips_specific): Add checks for a NULL data
      	pointer.
      81d80fc0
    • GDB Administrator's avatar
      Automatic date update in version.in · 39b3e074
      GDB Administrator authored
      39b3e074