From: Richard Henderson <r...@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?