• R/O
  • HTTP
  • SSH
  • HTTPS

List of commits

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

GNU Binutils with patches for OS216


binutils-2_32-branch
RSS
Rev. Hora Autor
2846942 binutils-2_32-branch 2020-03-11 14:33:35 Alan Modra

powerpc64-ld infinite loop

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)

b681dd4 2020-01-15 15:00:21 Alan Modra

Reinstate gas em=freebsd for sparc-freebsd

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)

f5deb41 2020-01-15 12:10:41 Alan Modra

PR25384, PowerPC64 ELFv1 copy relocs against function symbols

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)

1f656f7 2019-12-17 18:39:26 Andreas Krebbel

S/390: Add support for z15 as CPU name.

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.

926ce97 2019-09-14 09:01:21 GDB Administrator

Automatic date update in version.in

844f25f 2019-09-13 09:01:13 GDB Administrator

Automatic date update in version.in

66b6441 2019-09-12 09:01:23 GDB Administrator

Automatic date update in version.in

cb66433 2019-09-11 09:01:06 GDB Administrator

Automatic date update in version.in

ab24270 2019-09-10 09:01:18 GDB Administrator

Automatic date update in version.in

7b468db 2019-09-09 09:02:10 GDB Administrator

Automatic date update in version.in

75f0e88 2019-09-08 09:02:10 GDB Administrator

Automatic date update in version.in

0348c20 2019-09-07 09:01:22 GDB Administrator

Automatic date update in version.in

a1eae34 2019-09-06 09:01:30 GDB Administrator

Automatic date update in version.in

6f7a292 2019-09-06 01:35:18 Eric Botcazou

Fix PR ld/24574

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.

6644bbe 2019-09-05 09:02:06 GDB Administrator

Automatic date update in version.in

decfa2f 2019-09-04 09:02:06 GDB Administrator

Automatic date update in version.in

e5cc07b 2019-09-03 09:01:25 GDB Administrator

Automatic date update in version.in

6b68d2c 2019-09-02 09:01:20 GDB Administrator

Automatic date update in version.in

efc13b7 2019-09-01 09:02:01 GDB Administrator

Automatic date update in version.in

e6f3dfa 2019-08-31 09:02:13 GDB Administrator

Automatic date update in version.in

e21d73c 2019-08-30 09:01:31 GDB Administrator

Automatic date update in version.in

dfc42c9 2019-08-29 09:01:22 GDB Administrator

Automatic date update in version.in

f3f4e0d 2019-08-28 17:47:02 Tamar Christina

Commit forgotten changelog

04dcde3 2019-08-28 17:44:07 Tamar Christina

Arm: Skip tests on WINCE that require mapping symbols

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)

9f5cf4b 2019-08-28 17:35:10 Tamar Christina

Arm: Fix performance issue with thumb-2 tailcalls

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)

6795dba 2019-08-28 17:35:10 Tamar Christina

AArch64: Fix LD crash on weak and undefined TLS symbols. (PR/24602).

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)

8f254d8 2019-08-28 09:01:56 GDB Administrator

Automatic date update in version.in

ec5e940 2019-08-27 09:01:59 GDB Administrator

Automatic date update in version.in

c4930c7 2019-08-26 09:02:07 GDB Administrator

Automatic date update in version.in

682443d 2019-08-25 09:02:52 GDB Administrator

Automatic date update in version.in