[PATCH][PR ld/10144] MIPS/BFD: Don't make debug section relocs dynamic

Richard Sandiford rdsandiford@googlemail.com
Wed Nov 10 17:16:00 GMT 2010


Richard Sandiford <rdsandiford@googlemail.com> writes:
> "Maciej W. Rozycki" <macro@codesourcery.com> writes:
>>> So with all that, the patch is OK, thanks.  However, I think you
>>> could change:
>>> 
>>> 	.ifdef	ELF64
>>> 	.8byte	foo
>>> 	.else
>>> 	.4byte	foo
>>> 	.endif
>>> 
>>> to:
>>> 
>>> 	dc.a	foo
>>> 
>>> and avoid the ELF64 symbol.  If that fails for any target, I think we
>>> could legitimately say it's a bug in the target and Not Your Fault.
>>
>>  Sneaky!  I didn't know about this pseudo-op; I wouldn't mind if such bits 
>> were actually documented, sigh...  Is this meant to emit a data entity of 
>> the address size?  If so, then it's broken for MIPS/n32 -- it produces a 
>> 64-bit relocatable field.  Given this obvious failure, how confident do 
>> you feel this directive is reliable across other targets?  It looks like a 
>> relatively recent addition to me.
>
> OK, will try to fix that this weekend.  I still think dc.a is the
> right thing for the test, but see below.

So, I looked at it this weekend, and I longer think dc.a is the right
thing for the test.  It seemed so well suited, but as you point out,
it's based on the ISA address size rather than the ABI or file
format address size, which probably makes it of limited use.  Oh well.

Please go ahead with your original is_elf64 patch, and sorry for the noise.

Richard



More information about the Binutils mailing list