[Xtensa] fix overly conservative handling symbol differences

Bob Wilson bwilson@tensilica.com
Mon Jan 21 04:58:00 GMT 2008

Sterling Augustine's change to GAS from 2007-11-01 disabled linker relaxation of 
Xtensa code referenced in difference of symbol expressions.  This was really 
only needed for expressions used in sleb128 and uleb128 values, but at the time 
it seemed to be OK to handle all expression symbols.  My subsequent DWARF change 
from 2008-01-09 causes more difference of symbol expressions for Xtensa, and we 
end up with very conservative linker relaxation whenever DWARF line info is 

I'm committing this patch to fix the problem.  It limits the previous change to 
only apply in the context of uleb128 and sleb128 values.  I ran the testsuite 
for an xtensa-elf target to verify it.

2008-01-18  Bob Wilson  <bob.wilson@acm.org>
	* config/tc-xtensa.c (xtensa_leb128): New function.
	(md_pseudo_table): Use it for sleb128 and uleb128.
	(is_leb128_expr): New internal flag.
	(xtensa_symbol_new_hook): Check new flag.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gas-leb128.patch
Type: text/x-diff
Size: 2410 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20080121/de0c28c7/attachment.bin>

More information about the Binutils mailing list