|
From: | amodra at gmail dot com |
Subject: | [Bug ld/22220] BFD linker plugin wrongly marks symbols as PREVAILING_DEF_IRONLY |
Date: | Wed, 27 Sep 2017 11:53:27 +0000 |
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.
[Prev in Thread] | Current Thread | [Next in Thread] |