diff --git a/bfd/ChangeLog b/bfd/ChangeLog index f9dfd53898b..9cfd1c9068b 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2018-06-29 Maciej W. Rozycki + + * elfxx-mips.c (allocate_dynrelocs): Remove extraneous symbol + visibility check made for undefined weak symbols. + 2018-06-26 Nick Clifton * po/uk.po: Updated Ukranian translation. diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index 3adfead84b8..82ab417dded 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -8951,10 +8951,9 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf) if (h->root.type == bfd_link_hash_undefweak) { - /* Do not copy relocations for undefined weak symbols with - non-default visibility. */ - if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT - || UNDEFWEAK_NO_DYNAMIC_RELOC (info, h)) + /* Do not copy relocations for undefined weak symbols that + we are not going to export. */ + if (UNDEFWEAK_NO_DYNAMIC_RELOC (info, h)) do_copy = FALSE; /* Make sure undefined weak symbols are output as a dynamic