summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix spelling ypos in changelog entriesbinutils-2_29_1.1Nick Clifton2017-09-192-2/+1
|
* Import xtensa patches from the mainline sources to fix name lookup and sorting.Nick Clifton2017-09-194-18/+33
| | | | | | | | * 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.
* ChangeLog fixesAlan Modra2017-09-191-8/+4
|
* PowerPC64 stubs don't match calculated sizeAlan Modra2017-09-192-6/+7
| | | | | | | | | | | | | | | | | | | | 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 25516cc573ff3551a7ac0538e1d3de5811c7199e)
* PR22150, ld keeps a version reference for gc'd symbolsAlan Modra2017-09-192-117/+118
| | | | | | | | | | | | | | | | | | | | | 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 d5486c4372), 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 3d13f3e9bda5aada68915f5d958f731ae79ed41d)
* [GOLD, PowerPC] Add --no-stub-group-multiAlan Modra2017-09-192-2/+8
| | | | | | | | | | | | | | | 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 ab502e635e78a6c6c9c8abf3072bfeedaca9c26f)
* Remove .eh_frame zero terminatorsAlan Modra2017-09-196-55/+52
| | | | | | | | | | | | | | | | | | 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 9866ffe25a0fe73f5153f2720650baf0dd9cc828)
* PR22048, Incorrect .eh_frame section in libc.soAlan Modra2017-09-192-10/+22
| | | | | | | | | PR 21441 PR 22048 * elflink.c (bfd_elf_discard_info): Don't pad embedded zero terminators. (cherry picked from commit af471f828cc74d65b50a7531ba2c69522266cfe9)
* PR21441, Unnecessary padding of .eh_frame sectionAlan Modra2017-09-196-19/+45
| | | | | | | | | | | | | | | | | | | 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 79a94a2ad1e6e2f227de07427481e4bb8be84504)
* Revert "Import patch from mainline to improve padding of .eh_frame sections."Alan Modra2017-09-198-65/+49
| | | | This reverts commit 35e01275b59ac867d342379d457e732b5acda6a3.
* Automatic date update in version.inGDB Administrator2017-09-191-1/+1
|
* ld: Require GCC 5 or above for 3 x86 testsH.J. Lu2017-09-183-27/+44
| | | | | | | | | | | | 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 25d28c91b89d8f4a7e78b98b01e2c2382cea3e60)
* Check error return from bfd_canonicalize_dynamic_relocH.J. Lu2017-09-183-0/+11
| | | | | | | | | | | | 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 94670f6cf11fc29cc6db6814b38c4305d9bcac96)
* Automatic date update in version.inGDB Administrator2017-09-181-1/+1
|
* Automatic date update in version.inGDB Administrator2017-09-171-1/+1
|
* Automatic date update in version.inGDB Administrator2017-09-161-1/+1
|
* Bump version to 2.29.1 and regenerate configure filesbinutils-2_29_1Nick Clifton2017-09-1525-4727/+5605
|
* Automatic date update in version.inGDB Administrator2017-09-151-1/+1
|
* Import patch from mainline to fix an address violation when parsing a ↵Nick Clifton2017-09-142-2/+11
| | | | | | | | corrupt PE binary. PR binutils/22113 * peXXigen.c (pe_print_idata): Extend check for HintName vector entries.
* Revert "Add enable-gold and enable-ld to src-release"Alan Modra2017-09-142-5/+1
| | | | This reverts commit bd926929f0fae108e24cb51d9f9546b27f0a04df.
* Add enable-gold and enable-ld to src-releasematt rice2017-09-142-1/+5
| | | | | | | | So that the tarball picks up gold bison output. * src-release.sh (do_proto_toplev): Enable gold during release process. (cherry picked from commit 255300f5a96079a9860934c44bb9521e7aca45de)
* PR ld/20125, MMIX weak symbolsHans-Peter Nilsson2017-09-145-6/+56
| | | | | | | Weak undefineds with PUSHJ relocs were "lost", causing internal inconsistencies and an abort. Import from mainline.
* * dwarf.c (display_debug_names): Initialize hash_prev.Hans-Peter Nilsson2017-09-142-1/+6
| | | | | | | 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.
* Automatic date update in version.inGDB Administrator2017-09-141-1/+1
|
* Automatic date update in version.inGDB Administrator2017-09-131-1/+1
|
* Automatic date update in version.inGDB Administrator2017-09-121-1/+1
|
* Automatic date update in version.inGDB Administrator2017-09-111-1/+1
|
* Import fix from mainline that fixes buffer overrun errors when parsing ↵Nick Clifton2017-09-102-0/+31
| | | | | | | | corrupt DWARF debug information string sections. PR 22047 * dwarf2.c (read_section): If necessary add a terminating NUL byte to dwarf string sections.
* PowerPC64 --plt-alignAlan Modra2017-09-108-30/+63
| | | | | | | | | | | | | | | | | | | | | | | | | 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 2420fff633eff03ec1f85eba82a926cd0ecf4229) (and commit bab55c05 for part of elfv2so.d change)
* Automatic date update in version.inGDB Administrator2017-09-101-1/+1
|
* x86: Remove restriction on NOTRACK prefix positionH.J. Lu2017-09-0914-244/+274
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 4e9ac44a8925c7da81735ef24beb5456a0c0fa24)
* x86: Check for valid PLT section sizeH.J. Lu2017-09-093-9/+31
| | | | | | | | | | | | 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 90efb6422939ca031804266fba669f77c22a274a)
* Automatic date update in version.inGDB Administrator2017-09-091-1/+1
|
* Automatic date update in version.inGDB Administrator2017-09-081-1/+1
|
* Automatic date update in version.inGDB Administrator2017-09-071-1/+1
|
* Automatic date update in version.inGDB Administrator2017-09-061-1/+1
|
* Import patches from mainline to fix minor binutils bugs:Nick Clifton2017-09-055-41/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Import patch from mainline to fix memory leak.Nick Clifton2017-09-052-14/+14
| | | | | | | 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.
* Import parch from mainline to prevent buffer overrun.Nick Clifton2017-09-052-3/+11
| | | | | | PR 21995 * readelf.c (process_mips_specific): Add checks for a NULL data pointer.
* Automatic date update in version.inGDB Administrator2017-09-051-1/+1
|
* Import patch from mainline to improve padding of .eh_frame sections.Nick Clifton2017-09-048-47/+65
| | | | | | | | | | | | | | PR 21441 bfd * 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 * testsuite/ld-elf/eh3.d: Update. * testsuite/ld-elf/eh4.d: Update. PR 21441 * testsuite/ld-x86-64/pr21038a.d: Adjust. * testsuite/ld-x86-64/pr21038a-now.d: Adjust.
* Import patch from mainline to fix address violation errors when parsing ↵Nick Clifton2017-09-043-49/+90
| | | | | | | | | | | | corrupt ELF binaries. PR 21916 * elf-attrs.c (_bfd_elf_parse_attributes): Complain about very small section lengths. * elf.c (_bfd_elf_setup_sections): Skip empty entries in the group table. (elfcore_grok_freebsd_prstatus): Add checks to make sure that there is enough data present in the note.
* Import patch from mainline to allows 16-bit MSP430 absolute branches to be ↵Nick Clifton2017-09-042-2/+9
| | | | | | | | | relaxed ino 1-bit PC-relative branches. PR 21824 * elf32-msp430.c (msp430_elf_relax_section): Allow conversion of 16-bit absolute branches into 10-bit pc-relative branches on the MSP430 as well as the MSP430X.
* Import patch from mainline to fix address violation errors when parsing ↵Nick Clifton2017-09-048-14/+101
| | | | | | | | | | | | | | | | | | | | | | | | | corrupt VMS and MACHO binaries. PR 21813 * mach-o.c (bfd_mach_o_canonicalize_relocs): Pass the base address of the relocs to the canonicalize_one_reloc routine. * mach-o.h (struct bfd_mach_o_backend_data): Update the prototype for the _bfd_mach_o_canonicalize_one_reloc field. * mach-o-arm.c (bfd_mach_o_arm_canonicalize_one_reloc): Add res_base parameter. Use to check for corrupt pair relocs. * mach-o-aarch64.c (bfd_mach_o_arm64_canonicalize_one_reloc): Likewise. * mach-o-i386.c (bfd_mach_o_i386_canonicalize_one_reloc): Likewise. * mach-o-x86-64.c (bfd_mach_o_x86_64_canonicalize_one_reloc): Likewise. * vms-alpha.c (_bfd_vms_slurp_eihd): Make sure that there is enough data in the record before attempting to parse it. (_bfd_vms_slurp_eeom): Likewise. (_bfd_vms_slurp_egsd): Check for an invalid section index. (image_set_ptr): Likewise. (alpha_vms_slurp_relocs): Likewise. (alpha_vms_object_p): Check for a truncated record.
* Import patch from mainline to improve reporting of corrupt archives.Nick Clifton2017-09-042-1/+11
| | | | | | | PR 21787 * archive.c (bfd_generic_archive_p): If the bfd does not have the correct magic bytes at the start, set the error to wrong format and clear the format selector before returning NULL.
* Import patch from mainline to fix address violations when parsing corrupt ↵Nick Clifton2017-09-042-50/+91
| | | | | | | | | | | | | | | | | | | COFF binaries PR 21786 * coff-rs6000.c (_bfd_strntol): New function. (_bfd_strntoll): New function. (GET_VALUE_IN_FIELD): New macro. (EQ_VALUE_IN_FIELD): new macro. (_bfd_xcoff_slurp_armap): Use new macros. (_bfd_xcoff_archive_p): Likewise. (_bfd_xcoff_read_ar_hdr): Likewise. (_bfd_xcoff_openr_next_archived_file): Likewise. (_bfd_xcoff_stat_arch_elt): Likewise. * coff64-rs6000.c (_bfd_strntol): New function. (_bfd_strntoll): New function. (GET_VALUE_IN_FIELD): New macro. (xcoff64_slurp_armap): Use new macros.
* Import patch from mainline to replace an abort when parsing a corrupt COFF ↵Nick Clifton2017-09-042-1/+15
| | | | | | | | binary with an error message instead. PR binutils/21781 * coffcode.h (handle_COMDAT): Replace abort with an error message and return.
* Automatic date update in version.inGDB Administrator2017-09-041-1/+1
|
* PR22067, x86 check_relocs invalid readAlan Modra2017-09-043-2/+10
| | | | | | PR 22067 * elf32-i386.c (elf_i386_hash_table): Check is_elf_hash_table first. * elf64-x86-64.c (elf_x86_64_hash_table): Likewise.
* Automatic date update in version.inGDB Administrator2017-09-031-1/+1
|