aboutsummaryrefslogtreecommitdiff
path: root/bfd/elflink.h
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/elflink.h')
-rw-r--r--bfd/elflink.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/bfd/elflink.h b/bfd/elflink.h
index e60beae..e9ba45a 100644
--- a/bfd/elflink.h
+++ b/bfd/elflink.h
@@ -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;
}