[PATCH 2.5/4 v2] GAS: Make new fake labels when cloning a symbol

Richard Sandiford rdsandiford@googlemail.com
Fri Dec 3 10:58:00 GMT 2010


"Maciej W. Rozycki" <macro@codesourcery.com> writes:
>  Thanks for reducing the test case.  Below I'm including a change that is 
> supposed to fix it.  The original change indeed is what triggered the 
> problem, but from the code I have modified I infer it is more related to 
> the issue with equated symbols not being handled correctly that I have 
> fixed as well.  This function counts as a symbol reference and as such 
> should resolve any equated symbols by making a clone.  Chances are code 
> could have been crafted that would trigger a problem here even before my 
> fixes, but I found no justification to spend time investigating that.
>
>  The change below fixes the problem with your test case as well as one 
> attached to PR gas/12282.  I have regression-tested it with the 
> arm-none-eabi and mips-sde-elf targets.
>
> 2010-12-02  Maciej W. Rozycki  <macro@codesourcery.com>
>
> 	PR gas/12282
> 	* expr.c (make_expr_symbol): Make a clone if handling an
> 	equated symbol.

I'm not convinced this is correct when operand() calls make_expr_symbol()
in expr_defer mode.  Could you provide a bit more justification?

Richard



More information about the Binutils mailing list