[AArch64] PR18668, repair long branch veneer for plt stub
authorJiong Wang <jiong.wang@arm.com>
Tue, 11 Aug 2015 20:44:31 +0000 (21:44 +0100)
committerJiong Wang <jiong.wang@arm.com>
Tue, 11 Aug 2015 20:44:31 +0000 (21:44 +0100)
commit07f9ddfeba5b572451471f905473f7ddbba1d472
treeb3a2c40afe3a4a0e86a2709ef7c79d46cf340a79
parent40fbed84815b00960f7fac8d2e7857942df4308c
[AArch64] PR18668, repair long branch veneer for plt stub

2015-08-11  Jiong Wang  <jiong.wang@arm.com>
bfd/
   PR ld/18668
   * elfnn-aarch64.c (aarch64_type_of_stub): Update destination for
   calls go through plt stub.
   (elfNN_aarch64_final_link_relocate): Adjust code logic for CALL26,
   JUMP26 relocation to support inserting veneer for call to plt stub.

ld/testsuite/
   * ld-aarch64/farcall-b-gsym.s: New test.
   * ld-aarch64/farcall-b-plt.s: Likewise.
   * ld-aarch64/farcall-bl-plt.s: Likewise.
   * ld-aarch64/farcall-b-gsym.d: New expect file.
   * ld-aarch64/farcall-b-plt.d: Likewise.
   * ld-aarch64/farcall-bl-plt.d: Likewise.
bfd/ChangeLog
bfd/elfnn-aarch64.c
ld/testsuite/ChangeLog
ld/testsuite/ld-aarch64/aarch64-elf.exp
ld/testsuite/ld-aarch64/farcall-b-gsym.d [new file with mode: 0644]
ld/testsuite/ld-aarch64/farcall-b-gsym.s [new file with mode: 0644]
ld/testsuite/ld-aarch64/farcall-b-plt.d [new file with mode: 0644]
ld/testsuite/ld-aarch64/farcall-b-plt.s [new file with mode: 0644]
ld/testsuite/ld-aarch64/farcall-bl-plt.d [new file with mode: 0644]
ld/testsuite/ld-aarch64/farcall-bl-plt.s [new file with mode: 0644]