https://sourceware.org/bugzilla/show_bug.cgi?id=26094
H.J. Lu <hjl.tools at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Last reconfirmed| |2020-06-09
Status|UNCONFIRMED |NEW
--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> ---
I am testing this:
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 60a3c2216f..1912b8b0dd 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -14805,9 +14805,12 @@ 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_dynamic) && !h->def_regular)))
+ || ((h->ref_regular || h->def_dynamic)
+ && !h->def_regular
+ && h->root.type != bfd_link_hash_common)))
{
bfd_boolean was_dynamic = h->ref_dynamic || h->def_dynamic;
+ h->verinfo.verdef = NULL;
h->root.type = bfd_link_hash_defined;
h->root.u.def.section = sec;
h->root.u.def.value = 0;
@@ -14824,7 +14827,8 @@ bfd_elf_define_start_stop (struct bfd_link_info *info,
}
else
{
- if (ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
+ if ((bfd_link_dll (info))
+ && ELF_ST_VISIBILITY (h->other) == STV_DEFAULT)
h->other = (h->other & ~ELF_ST_VISIBILITY (-1)) | STV_PROTECTED;
if (was_dynamic)
bfd_elf_link_record_dynamic_symbol (info, h);
--
You are receiving this mail because:
You are on the CC list for the bug.