RFH: libgcc_s.so being unnecessarily linked for mipsel-linux crosscompiler...

David Daney ddaney@avtrex.com
Fri Jul 29 15:43:00 GMT 2005


Alan Modra wrote:
> On Thu, Jul 28, 2005 at 08:36:11PM -0700, David Daney wrote:
> 
>>I can detect this special case in _bfd_mips_elf_add_symbol_hook() and 
>>cause it to be ignored, thus solving the problem.
>>
>>Does this seem like a reasonable course of action?
> 
> 
> Yes.  That does cost a strcmp on every symbol in every input file
> though.  It's somewhat better to do strcmp once on every global symbol
> in adjust_dynamic_symbol.  See elf32-ppc.c handling of _SDA_BASE_.
> Even better would be a hash lookup in something run before
> adjust_dynamic_symbol, say, always_size_sections.  I didn't think of
> that when I added the ppc code.
> 

Fixing things in _bfd_mips_elf_adjust_dynamic_symbol does not seem 
possible.  I seems that this is called only for unresolved symbols in 
the input files.  _gp_disp *is* unresolved in the input files and should 
be handled normally at this point as it will be resolved in 
mips_elf_calculate_relocation.

The problem is with input files that define the symbol.  As far as I can 
tell this case must be handled when symbols are loaded from the input 
files as I am doing in the add_symbol_hook.

David Daney.



More information about the Binutils mailing list