summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* powerpc64-ld infinite loopbinutils-2_32-branchAlan Modra2020-03-112-1/+5
| | | | | | | | | | | If this code dealing with possible conversion of inline plt sequences is ever executed, ld will hang. A binary with such sequences and of code size larger than approximately 90% the reach of an unconditional branch is the trigger. Oops. * elf64-ppc.c (ppc64_elf_inline_plt): Do increment rel in for loop. (cherry picked from commit 435edf0bf231240ccecb474b74ebb49dc8db2633)
* Reinstate gas em=freebsd for sparc-freebsdAlan Modra2020-01-152-0/+5
| | | | | | | | | | In commit c9098af41e3 I over-simplified the sparc target decoding, missing the fact that prior to that patch sparc-*-freebsd fell through to the generic *-*-freebsd match. * configure.tgt: Add sparc-*-freebsd case. (cherry picked from commit c24d0e8d4850d4913a1630a53e272c930849406d)
* PR25384, PowerPC64 ELFv1 copy relocs against function symbolsAlan Modra2020-01-157-28/+59
| | | | | | | | | | | | | | | | | | | | | | | | Function symbols of course don't normally want .dynbss copies but with some old versions of gcc they are needed to copy the function descriptor. This patch restricts the cases where they are useful to compilers using dot-symbols, and enables the warning regardless of whether a PLT entry is emitted in the executable. PLTs in shared libraries are affected by a .dynbss copy in the executable. bfd/ PR 25384 * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Update comment. (ppc64_elf_adjust_dynamic_symbol): Don't allow .dynbss copies of function symbols unless dot symbols are present. Do warn whenever one is created, regardles of whether a PLT entry is also emitted for the function symbol. ld/ * testsuite/ld-powerpc/ambiguousv1b.d: Adjust expected output. * testsuite/ld-powerpc/funref.s: Align func_tab. * testsuite/ld-powerpc/funref2.s: Likewise. * testsuite/ld-powerpc/funv1.s: Add dot symbols. (cherry picked from commit e1c6cf618cbeebbafd34afc5ee921fcbf7061bfa)
* S/390: Add support for z15 as CPU name.Andreas Krebbel2019-12-174-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | So far z15 was identified as arch13. After the machine has been announced we can now add the real name. gas/ChangeLog: 2019-12-17 Andreas Krebbel <krebbel@linux.ibm.com> Backport from mainline 2019-10-08 Andreas Krebbel <krebbel@linux.ibm.com> * config/tc-s390.c (s390_parse_cpu): Add z15 as alternate CPU name. * doc/as.texi: Add z15 to CPU string list. * doc/c-s390.texi: Likewise. opcodes/ChangeLog: 2019-12-17 Andreas Krebbel <krebbel@linux.ibm.com> Backport from mainline 2019-10-08 Andreas Krebbel <krebbel@linux.ibm.com> * s390-mkopc.c (main): Enable z15 as CPU string in the opcode table.
* Automatic date update in version.inGDB Administrator2019-09-141-1/+1
|
* Automatic date update in version.inGDB Administrator2019-09-131-1/+1
|
* Automatic date update in version.inGDB Administrator2019-09-121-1/+1
|
* Automatic date update in version.inGDB Administrator2019-09-111-1/+1
|
* Automatic date update in version.inGDB Administrator2019-09-101-1/+1
|
* Automatic date update in version.inGDB Administrator2019-09-091-1/+1
|
* Automatic date update in version.inGDB Administrator2019-09-081-1/+1
|
* Automatic date update in version.inGDB Administrator2019-09-071-1/+1
|
* Automatic date update in version.inGDB Administrator2019-09-061-1/+1
|
* Fix PR ld/24574Eric Botcazou2019-09-052-0/+11
| | | | | | | | | | | This restores a line that has been dropped when the auto-import feature of the PE-COFF linker was overhauled about one year. It is necessary for GDB to properly resolve extern symbol in DLLs. ld/ChangeLog * pe-dll.c (pe_find_data_imports): Replace again the original name of the undefined symbol with the __imp_ prefixed one after it is resolved.
* Automatic date update in version.inGDB Administrator2019-09-051-1/+1
|
* Automatic date update in version.inGDB Administrator2019-09-041-1/+1
|
* Automatic date update in version.inGDB Administrator2019-09-031-1/+1
|
* Automatic date update in version.inGDB Administrator2019-09-021-1/+1
|
* Automatic date update in version.inGDB Administrator2019-09-011-1/+1
|
* Automatic date update in version.inGDB Administrator2019-08-311-1/+1
|
* Automatic date update in version.inGDB Administrator2019-08-301-1/+1
|
* Automatic date update in version.inGDB Administrator2019-08-291-1/+1
|
* Commit forgotten changelogTamar Christina2019-08-281-0/+10
|
* Arm: Skip tests on WINCE that require mapping symbolsTamar Christina2019-08-284-0/+4
| | | | | | | | | | | | | | | | The following tests fail on wince as they rely on mapping symbols to give them a fixed order. This skips them on platforms that don't have mapping symbols. binutils/ChangeLog: * testsuite/binutils-all/arm/in-order-all.d: Skip on pe, wince, coff. * testsuite/binutils-all/arm/in-order.d: Likewise. * testsuite/binutils-all/arm/out-of-order-all.d: Likewise. * testsuite/binutils-all/arm/out-of-order.d: Likewise. (cherry picked from commit 2b2ed2452c0bd2437ff65e71356bece225f0be46)
* Arm: Fix performance issue with thumb-2 tailcallsTamar Christina2019-08-2826-86/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We currently use a padding NOP after a Thumb to Arm interworking veneer (BX pc). The NOP is never executed but may result in a performance penalty on some cores. For this reason this patch changes the NOPs after Thumb to Arm veneers into B .-2 and adds a note to this in the source code for future reference. bfd/ChangeLog: * elf32-arm.c (elf32_thumb2_plt_entry, elf32_arm_plt_thumb_stub, elf32_arm_stub_long_branch_v4t_thumb_thumb, elf32_arm_stub_long_branch_v4t_thumb_arm, elf32_arm_stub_short_branch_v4t_thumb_arm, elf32_arm_stub_long_branch_v4t_thumb_arm_pic, elf32_arm_stub_long_branch_v4t_thumb_thumb_pic, elf32_arm_stub_long_branch_v4t_thumb_tls_pic): Change nop to branch to previous instruction. ld/ChangeLog: * testsuite/ld-arm/cortex-a8-fix-b-plt.d: Update Testcase. * testsuite/ld-arm/cortex-a8-fix-b-rel-arm.d: Likewise. * testsuite/ld-arm/cortex-a8-fix-bcc-plt.d: Likewise. * testsuite/ld-arm/farcall-cond-thumb-arm.d: Likewise. * testsuite/ld-arm/farcall-mixed-app.d: Likewise. * testsuite/ld-arm/farcall-mixed-app2.d: Likewise. * testsuite/ld-arm/farcall-mixed-lib-v4t.d: Likewise. * testsuite/ld-arm/farcall-thumb-arm-pic-veneer.d: Likewise. * testsuite/ld-arm/farcall-thumb-arm-short.d: Likewise. * testsuite/ld-arm/farcall-thumb-arm.d: Likewise. * testsuite/ld-arm/farcall-thumb-thumb-pic-veneer.d: Likewise. * testsuite/ld-arm/farcall-thumb-thumb.d: Likewise. * testsuite/ld-arm/fix-arm1176-on.d: Likewise. * testsuite/ld-arm/ifunc-10.dd: Likewise. * testsuite/ld-arm/ifunc-2.dd: Likewise. * testsuite/ld-arm/ifunc-4.dd: Likewise. * testsuite/ld-arm/ifunc-6.dd: Likewise. * testsuite/ld-arm/ifunc-8.dd: Likewise. * testsuite/ld-arm/jump-reloc-veneers-long.d: Likewise. * testsuite/ld-arm/mixed-app.d: Likewise. * testsuite/ld-arm/thumb2-b-interwork.d: Likewise. * testsuite/ld-arm/tls-longplt.d: Likewise. * testsuite/ld-arm/tls-thumb1.d: Likewise. (cherry picked from commit b4e87f2c1eee99dee805e3828514f8afa162f9ba)
* AArch64: Fix LD crash on weak and undefined TLS symbols. (PR/24602).Tamar Christina2019-08-2810-23/+160
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes a few linker crashes due to TLS code reaching an assert when it shouldn't. The first scenario is with weak TLS symbols that remain weak during linking. In this case the mid-end would not have seen a TLS symbol and so wouldn't have allocated the TLS section. We currently assert here and the linker crashes with a not very useful message. This patch changes this to return the value 0 for the TLS symbol in question emulating what lld and gold and other BFD targets do. However because weak TLS is implementation defined and we don't define any behavior for it I also emit a warning to the user to inform them of such. Secondly when a strong TLS reference is undefined. The linker crashes even after it correctly reported that there is an undefined reference. This changes it so that it gracefully exits and reports a useful error. bfd/ChangeLog: PR ld/24601 * elfnn-aarch64.c (aarch64_relocate): Handle weak TLS and undefined TLS. Also Pass input_bfd to _bfd_aarch64_elf_resolve_relocation. * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Use it. * elfxx-aarch64.h (_bfd_aarch64_elf_resolve_relocation): Emit warning for weak TLS. ld/ChangeLog: PR ld/24601 * testsuite/ld-aarch64/aarch64-elf.exp (undef-tls, weak-tls): New. * testsuite/ld-aarch64/undef-tls.d: New test. * testsuite/ld-aarch64/undef-tls.s: New test. * testsuite/ld-aarch64/weak-tls.d: New test. * testsuite/ld-aarch64/weak-tls.s: New test. (cherry picked from commit 652afeef247770b22c44ca292d1f4c65be40a696)
* Automatic date update in version.inGDB Administrator2019-08-281-1/+1
|
* Automatic date update in version.inGDB Administrator2019-08-271-1/+1
|
* Automatic date update in version.inGDB Administrator2019-08-261-1/+1
|
* Automatic date update in version.inGDB Administrator2019-08-251-1/+1
|
* Automatic date update in version.inGDB Administrator2019-08-241-1/+1
|
* Automatic date update in version.inGDB Administrator2019-08-231-1/+1
|
* [AArch64][gas] Update MTE system register encodingsKyrylo Tkachov2019-08-224-20/+37
| | | | | | | | | | | | | | | Backport from mainline 2019-08-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * aarch64-opc.c (aarch64_sys_regs): Update encoding of tfsre0_el1, tfsr_el1, tfsr_el2, tfsr_el3, tfsr_el12. (aarch64_sys_reg_supported_p): Update checks for the above. Backport from mainline 2019-08-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * testsuite/gas/aarch64/sysreg-4.d: Update expected disassembly for tfsre0_el1, tfsr_el1, tfsr_el2, tfsr_el3, tfsr_el12 system registers.
* Automatic date update in version.inGDB Administrator2019-08-221-1/+1
|
* Automatic date update in version.inGDB Administrator2019-08-211-1/+1
|
* Automatic date update in version.inGDB Administrator2019-08-201-1/+1
|
* Automatic date update in version.inGDB Administrator2019-08-191-1/+1
|
* Automatic date update in version.inGDB Administrator2019-08-181-1/+1
|
* PR24911, Heap overflow issue in qsort_r, dwarf.cAlan Modra2019-08-172-2/+7
| | | | | | | | | | The actual args to this function are "pointers to pointers to debug_info". PR 24911 * dwarf.c (comp_addr_base): Dereference args. (cherry picked from commit d367307b93e5589245d1f2c8bbcfe709404540a8)
* PR24909, Uninitialized use on stack in readelfAlan Modra2019-08-172-6/+9
| | | | | | | | PR 24909 PR 23499 * readelf.c (get_symbol_version_string): Set sym_info earlier. (cherry picked from commit 0b8b76098ff3d3dcd0c621f2e45cc0b4e7211d6a)
* PowerPC gcc bootstrap fail with bss-pltAlan Modra2019-08-172-1/+12
| | | | | | | | | | | | git commit 3e04d7655b introduced a bug by sizing output sections earlier in ppc_before_allocation. That meant PLT (and GOT) sizes were not included when calculating total executable section sizes. * emultempl/ppc32elf.em (ppc_before_allocation): Force running prelim_size_sections before deciding whether branch trampolines might be needed. (cherry picked from commit 7df6aecc97b96843da080d54414052b1c954ddca)
* Automatic date update in version.inGDB Administrator2019-08-171-1/+1
|
* Automatic date update in version.inGDB Administrator2019-08-161-1/+1
|
* Automatic date update in version.inGDB Administrator2019-08-151-1/+1
|
* Automatic date update in version.inGDB Administrator2019-08-141-1/+1
|
* Automatic date update in version.inGDB Administrator2019-08-131-1/+1
|
* Automatic date update in version.inGDB Administrator2019-08-121-1/+1
|
* Automatic date update in version.inGDB Administrator2019-08-111-1/+1
|
* Automatic date update in version.inGDB Administrator2019-08-101-1/+1
|
* Automatic date update in version.inGDB Administrator2019-08-091-1/+1
|