This is the mail archive of the
binutils@sourceware.org
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.
Maciej