This is the mail archive of the
mailing list for the binutils project.
Re: [PATCH, RFC] ELF/LD: Always consider STB_LOCAL symbols local
On Thu, 13 Apr 2017, Alan Modra wrote:
> > Do not require forced local (STB_LOCAL) symbols to have a definition in
> > a regular file to be considered to resolve local to the current module,
> > matching `elf_link_renumber_local_hash_table_dynsyms'. In the absence
> > of a regular definition any reference to a STB_LOCAL symbol will have to
> > be garbage collected along with the undefined symbol itself, or the link
> > will eventually fail. Either way the symbol concerned is not going to
> > be external.
> > bfd/
> > * elflink.c (_bfd_elf_symbol_refs_local_p): Always return TRUE
> > if forced local.
> OK. I can't remember why I put the forced_local test after the
> def_regular test in the original code.
Some of the old scattered checks folded into SYMBOL_REFERENCES_LOCAL
and SYMBOL_CALLS_LOCAL with commit 586119b38f88 had an outer logical AND
with ELF_LINK_HASH_DEF_REGULAR being set, possibly because the case
concerned here didn't matter for them. This might have been the origin
of the resulting code arrangement.
Applied then, thanks for your review.