https://sourceware.org/bugzilla/show_bug.cgi?id=22220
--- Comment #6 from Alan Modra <amodra at gmail dot com> ---
gold has the following
static inline bool
is_visible_from_outside(Symbol* lsym)
{
if (lsym->in_dyn())
return true;
if (parameters->options().export_dynamic() || parameters->options().shared()
|| parameters->options().in_dynamic_list(lsym->name())
|| parameters->options().is_export_dynamic_symbol(lsym->name()))
return lsym->is_externally_visible();
return false;
}
while ld.bfd uses
static inline bfd_boolean
is_visible_from_outside (struct ld_plugin_symbol *lsym,
struct bfd_link_hash_entry *blhe)
{
struct bfd_sym_chain *sym;
if (bfd_link_relocatable (&link_info))
return TRUE;
if (blhe->non_ir_ref_dynamic
|| link_info.export_dynamic
|| bfd_link_dll (&link_info))
{
...
What makes a difference here is that gold has is_dyn() true while the roughly
equivalent ld.bfd non_ir_ref_dynamic is not set.
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-binutils