+2015-08-11 Jiong Wang <jiong.wang@arm.com>
+
+ * bfd/elfnn-aarch64.c (aarch64_type_of_stub): New parameter "sym_sec".
+ Loose the check for symbol from ABS section.
+ (elfNN_aarch64_size_stubs): Pass sym_sec.
+
2015-08-11 Jiong Wang <jiong.wang@arm.com>
PR ld/18668
aarch64_type_of_stub (struct bfd_link_info *info,
asection *input_sec,
const Elf_Internal_Rela *rel,
+ asection *sym_sec,
unsigned char st_type,
struct elf_aarch64_link_hash_entry *hash,
bfd_vma destination)
enum elf_aarch64_stub_type stub_type = aarch64_stub_none;
bfd_boolean via_plt_p;
- if (st_type != STT_FUNC)
+ if (st_type != STT_FUNC
+ && (sym_sec != bfd_abs_section_ptr))
return stub_type;
globals = elf_aarch64_hash_table (info);
/* Determine what (if any) linker stub is needed. */
stub_type = aarch64_type_of_stub
- (info, section, irela, st_type, hash, destination);
+ (info, section, irela, sym_sec, st_type, hash, destination);
if (stub_type == aarch64_stub_none)
continue;
+2015-08-11 Jiong Wang <jiong.wang@arm.com>
+
+ * ld-aarch64/farcall-b-defsym.s: New test.
+ * ld-aarch64/farcall-bl-defsym.s: Likewise.
+ * ld-aarch64/farcall-b-defsym.d: New expectation.
+ * ld-aarch64/farcall-bl-defsym.d: Likewise.
+
2015-08-11 Jiong Wang <jiong.wang@arm.com>
* ld-aarch64/farcall-b-gsym.s: New test.
run_dump_test "limit-bl"
run_dump_test "farcall-section"
run_dump_test "farcall-back"
+run_dump_test "farcall-b-defsym"
+run_dump_test "farcall-bl-defsym"
run_dump_test "farcall-b-gsym"
run_dump_test "farcall-b-plt"
run_dump_test "farcall-bl-plt"