summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elfnn-aarch64.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 99329c8442..adef9344c4 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2017-06-06 James Clarke <jrtc27@jrtc27.com>
+
+ PR ld/19579
+ * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Check
+ ELF_COMMON_DEF_P for common symbols.
+
2017-06-06 Andrew Burgess <andrew.burgess@embecosm.com>
* 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 2ff2120ffb..1edf2a0bde 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);