diff options
author | Tejas Belagod <tejas.belagod@arm.com> | 2015-03-26 16:20:38 +0000 |
---|---|---|
committer | Jiong Wang <jiong.wang@arm.com> | 2015-03-26 16:20:38 +0000 |
commit | 93ca856967f274a08807135c098bf1bb3f2b59d8 (patch) | |
tree | 88fc7a381d5968a21f2361483e3ceb0f7817b9de /bfd/elfnn-aarch64.c | |
parent | 332f5759ac985415b721a72dab7475824253c0c6 (diff) | |
download | gdb-93ca856967f274a08807135c098bf1bb3f2b59d8.zip gdb-93ca856967f274a08807135c098bf1bb3f2b59d8.tar.gz gdb-93ca856967f274a08807135c098bf1bb3f2b59d8.tar.bz2 |
[AArch64] Fix branch stubs for BE
2015-03-26 Tejas Belagod <tejas.belagod@arm.com>
ld/testsuite
* ld-aarch64/farcall-back-be.d: New.
bfd/
* elfnn-aarch64.c (aarch64_build_one_stub): Replace the call to generic
_bfd_final_link_relocate with aarch64_relocate.
Diffstat (limited to 'bfd/elfnn-aarch64.c')
-rw-r--r-- | bfd/elfnn-aarch64.c | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c index 9b62a5e..e0e4915 100644 --- a/bfd/elfnn-aarch64.c +++ b/bfd/elfnn-aarch64.c @@ -2477,24 +2477,17 @@ aarch64_build_one_stub (struct bfd_hash_entry *gen_entry, of range. */ BFD_FAIL (); - _bfd_final_link_relocate - (elfNN_aarch64_howto_from_type (AARCH64_R (ADD_ABS_LO12_NC)), - stub_bfd, - stub_sec, - stub_sec->contents, - stub_entry->stub_offset + 4, - sym_value, - 0); + if (aarch64_relocate (AARCH64_R (ADD_ABS_LO12_NC), stub_bfd, stub_sec, + stub_entry->stub_offset + 4, sym_value)) + BFD_FAIL (); break; case aarch64_stub_long_branch: /* We want the value relative to the address 12 bytes back from the value itself. */ - _bfd_final_link_relocate (elfNN_aarch64_howto_from_type - (AARCH64_R (PRELNN)), stub_bfd, stub_sec, - stub_sec->contents, - stub_entry->stub_offset + 16, - sym_value + 12, 0); + if (aarch64_relocate (AARCH64_R (PRELNN), stub_bfd, stub_sec, + stub_entry->stub_offset + 16, sym_value + 12)) + BFD_FAIL (); break; case aarch64_stub_erratum_835769_veneer: |