This is the mail archive of the mailing list for the binutils project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]