Fix AArch64 in the same way as other targets updated in 8170f7693bc0a9442c0aa28019792...
authorJames Clarke <jrtc27@jrtc27.com>
Tue, 6 Jun 2017 13:30:47 +0000 (14:30 +0100)
committerNick Clifton <nickc@redhat.com>
Tue, 6 Jun 2017 13:30:47 +0000 (14:30 +0100)
PR ld/19579
* elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Check
ELF_COMMON_DEF_P for common symbols.

bfd/ChangeLog
bfd/elfnn-aarch64.c

index 99329c8..adef934 100644 (file)
@@ -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
index 2ff2120..1edf2a0 100644 (file)
@@ -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);