aboutsummaryrefslogtreecommitdiff
path: root/bfd/elfnn-aarch64.c
diff options
context:
space:
mode:
authorTejas Belagod <tejas.belagod@arm.com>2015-03-26 16:20:38 +0000
committerJiong Wang <jiong.wang@arm.com>2015-03-26 16:20:38 +0000
commit93ca856967f274a08807135c098bf1bb3f2b59d8 (patch)
tree88fc7a381d5968a21f2361483e3ceb0f7817b9de /bfd/elfnn-aarch64.c
parent332f5759ac985415b721a72dab7475824253c0c6 (diff)
downloadgdb-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.c19
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: