This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH][PR ld/10144] MIPS/BFD: Don't make debug section relocs dynamic
- From: Richard Sandiford <rdsandiford at googlemail dot com>
- To: "Maciej W. Rozycki" <macro at codesourcery dot com>
- Cc: binutils at sourceware dot org
- Date: Thu, 04 Nov 2010 17:27:57 +0000
- Subject: Re: [PATCH][PR ld/10144] MIPS/BFD: Don't make debug section relocs dynamic
- References: <alpine.DEB.1.10.1009150019500.25860@tp.orcam.me.uk> <87wrqj30mu.fsf@firetop.home> <alpine.DEB.1.10.1009182329210.25860@tp.orcam.me.uk>
"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.
>> Also, in the MIPS test:
>>
>> +# Exclude non-ELF targets.
>> +if ![is_elf_format] {
>> + return
>> +}
>> +
>> +# Exclude non-Linux targets; feel free to include your favourite one
>> +# if you like.
>> +if ![istarget mips*-*-linux*] {
>> + return
>> +}
>>
>> I think we can safely dispense with the first check. I realise you're
>> doing it for consistency with the target-independent version,
>> but I wouldn't expect to have to test both of these elsewhere
>> in ld-mips-elf.
>
> My understanding is the base framework just runs */*.exp from within
> ld/testsuite/ and it is the responsibility of the scripts themselves to
> filter the targets of concern.
Right. My point was that [istarget mips*-*-linux*] => [is_elf_format];
we don't support any non-ELF form of GNU/Linux on MIPS. So I wouldn't
expect to have to check is_elf_format if we're checking the second
condition as well. I'd still like to see that condition removed.
Oh, yeah, much as it pains me to say it: s/favourite/favorite/.
Anyway, the new comment looks good, thanks. Please install the
elfxx-mips.c change now. We can apply the testsuite patch once
the dc.a thing is sorted out.
Richard