This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: LTO and asm specs...
From: Richard Henderson <rth@redhat.com>
Date: Tue, 16 Mar 2010 12:53:47 -0700
> On 03/16/2010 12:28 PM, David Miller wrote:
>> It's not the assemblers fault.
>>
>> We're using %hi() and expecting the assembler to emit a
>> PC relative relcation just because the symbol name happens
>> to be _GLOBAL_OFFSET_TABLE_ And it will do this, but only
>> when -PIC. Changing that is pretty dangerous.
>
> It is the assembler's fault because it doesn't provide %pcrelhi() or
> some such to allow the compiler (or asm programmer) to emit exactly
> the relocation that's desired.
There is %pc22() and %pc10. I don't know if it's safe to
change gcc to use them in all cases though.
>> But even if we got past that, we need to get the assembler options
>> right in order to enable instruction classes. For example we have to
>> get -Av9a there when using VIS instructions.
>
> How about ".arch v9a" like other platforms emit?
>
> Command-line options that control what the assembler emits for
> the exact same bit of text are a Really Bad Idea, as we've seen
> from other platforms time and time again.
I think this distracts from the issue that LTO needs to
process specs properly.
Are you seriously against fixing that LTO bug?