]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - bfd/elflink.h
* elf-bfd.h (ELF_LINK_NON_GOT_REF): Define.
[thirdparty/binutils-gdb.git] / bfd / elflink.h
index e60beae8a7c08746ebf8e880f32f873335a18e28..e9ba45adffb8b03354ea0cb2068c17fc76bd92c1 100644 (file)
@@ -3349,10 +3349,11 @@ elf_adjust_dynamic_symbol (h, data)
        {
          /* There is an implicit reference by a regular object file
             via the weak symbol.  */
-         weakdef->elf_link_hash_flags |= ELF_LINK_HASH_REF_REGULAR;
-         if (h->weakdef->elf_link_hash_flags
-             & ELF_LINK_HASH_REF_REGULAR_NONWEAK)
-           weakdef->elf_link_hash_flags |= ELF_LINK_HASH_REF_REGULAR_NONWEAK;
+         weakdef->elf_link_hash_flags |=
+           (ELF_LINK_HASH_REF_REGULAR
+            | (h->elf_link_hash_flags
+               & (ELF_LINK_HASH_REF_REGULAR_NONWEAK
+                  | ELF_LINK_NON_GOT_REF)));
          if (! elf_adjust_dynamic_symbol (weakdef, (PTR) eif))
            return false;
        }