Commit: Patch: GAS: Fix DWARF line number generation for target that use linker relaxation

Alan Modra amodra@gmail.com
Thu Jun 28 13:05:00 GMT 2012


On Thu, Jun 28, 2012 at 12:25:44PM +0100, Nick Clifton wrote:
> @@ -1019,6 +1020,11 @@ fixup_segment (fixS *fixP, segT this_seg
>  			      S_GET_NAME (fixP->fx_subsy),
>  			      segment_name (sub_symbol_segment));
>  	    }
> +	  else
> +	    /* If the fix is valid, subtract fx_subsy here.  The addition of
> +	       fx_addsy will be performed below.  Doing this prevents bogus
> +	       warnings from the range check below.  */
> +	      add_number -= S_GET_VALUE (fixP->fx_subsy);

This looks suspicious to me, as it applies a symbol value without any
sort of notification to the backend.  This ought to result in the
value being subtracted twice, unless the backend is buggy.

-- 
Alan Modra
Australia Development Lab, IBM



More information about the Binutils mailing list