diff options
Diffstat (limited to 'bfd/elflink.h')
-rw-r--r-- | bfd/elflink.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/bfd/elflink.h b/bfd/elflink.h index b6a5d58..dee5a8a 100644 --- a/bfd/elflink.h +++ b/bfd/elflink.h @@ -861,9 +861,11 @@ elf_link_add_object_symbols (abfd, info) h = (struct elf_link_hash_entry *) h->root.u.i.link; /* It's OK to change the type if it used to be a weak - definition. */ + definition, or if the current definition is weak (and + hence might be ignored). */ if (h->root.type == bfd_link_hash_defweak - || h->root.type == bfd_link_hash_undefweak) + || h->root.type == bfd_link_hash_undefweak + || bind == STB_WEAK) type_change_ok = true; /* It's OK to change the size if it used to be a weak |