diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 4ad0127b21..2eb4916ce6 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2018-01-26 Alan Modra + + * elflink.c (bfd_elf_define_start_stop): Override symbols when + they are defined dynamically. + 2018-01-26 Alan Modra * elf64-ppc.c (ppc64_elf_size_stubs): Iterate sizing when diff --git a/bfd/elflink.c b/bfd/elflink.c index e3751fa122..e81f6c6d82 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -14338,7 +14338,7 @@ bfd_elf_define_start_stop (struct bfd_link_info *info, if (h != NULL && (h->root.type == bfd_link_hash_undefined || h->root.type == bfd_link_hash_undefweak - || (h->ref_regular && !h->def_regular))) + || ((h->ref_regular || h->def_dynamic) && !h->def_regular))) { h->root.type = bfd_link_hash_defined; h->root.u.def.section = sec;