From 0ee3a6dbd06b88a4e02f3f46c3ec036fd951400b Mon Sep 17 00:00:00 2001 From: James Clarke Date: Tue, 6 Jun 2017 14:30:47 +0100 Subject: [PATCH] Fix AArch64 in the same way as other targets updated in 8170f7693bc0a9442c0aa280197925db92d48ca6. PR ld/19579 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Check ELF_COMMON_DEF_P for common symbols. --- bfd/ChangeLog | 6 ++++++ bfd/elfnn-aarch64.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 99329c8..adef934 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2017-06-06 James Clarke + + PR ld/19579 + * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Check + ELF_COMMON_DEF_P for common symbols. + 2017-06-06 Andrew Burgess * elf.c (_bfd_elf_make_section_from_shdr): Don't initially mark diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c index 2ff2120..1edf2a0 100644 --- a/bfd/elfnn-aarch64.c +++ b/bfd/elfnn-aarch64.c @@ -8949,7 +8949,7 @@ elfNN_aarch64_finish_dynamic_symbol (bfd *output_bfd, } else if (bfd_link_pic (info) && SYMBOL_REFERENCES_LOCAL (info, h)) { - if (!h->def_regular) + if (!(h->def_regular || ELF_COMMON_DEF_P (h))) return FALSE; BFD_ASSERT ((h->got.offset & 1) != 0); -- 2.7.4