[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Powerpc Linux build fails
From: |
Geoff Keating |
Subject: |
Re: Powerpc Linux build fails |
Date: |
Tue, 18 May 2004 21:27:34 -0700 |
> Date: Wed, 19 May 2004 13:00:08 +0930
> From: Alan Modra <address@hidden>
> On Tue, May 18, 2004 at 11:06:00AM -0500, Keith Pickens wrote:
> >
> > Sorry, I wasn't saying the change was wrong but rather that it
> > has a side effect that broke builds that have worked for a
> > long time.
> [snip]
>
> You're correct. You're also using the correct -mcpu option to enable
> AltiVec. The trouble is that gcc doesn't pass -maltivec or -m7400 on to
> gas, but instead just passes -mppc. See gcc/config/rs6000/rs6000.h
> ASM_CPU_SPEC. Fixing gcc to pass the right options is probably the
> right thing to do, but in the meantime we have released versions of
> gcc that should work with newer binutils. I'm inclined to make gas
> behave as if -many was given, ie. accept any recognizable powerpc
> instruction.
>
> Geoff, what do you think?
Certainly, -many should really accept every instruction, failure to do
that is just a bug.
I am not sure about this new -mstrict. I am sure someone is expecting
-mpower3 to really mean 'power3 only' and will get a nasty surprise
when they use a power4 instruction by mistake and their program
crashes.
It is perfectly acceptable to say "GAS version X will only work with
GCC version > Y". People using old GCC can always use old binutils
with it. (They can also hack their specs file to pass -many, if
that's what they really want.)
The fully-correct way to do this is to have GCC generate a directive
after option parsing, like '.machine 7400' or so, and have GAS
interpret it, otherwise you end up in specs hell. (Doesn't ppc gas
already have a directive like that? I seem to remember seeing such a
patch fly by...)
> opcodes/ChangeLog
> * ppc-opc.c (insert_fxm): Enable two operand mfcr when -many as
> well as when -mpower4.
> gas/ChangeLog
> * config/tc-ppc.c (parse_cpu): Set PPC_OPCODE_ANY on all valid
> options besides a new -mstrict option.
> (md_show_usage): Update. Correct capitalization.
> (ppc_arch): Expand comment.
> * doc/c-ppc.texi (PowerPC-Opts): Update.
--
- Geoffrey Keating <address@hidden>
Re: Powerpc Linux build fails, Martin Schaffner, 2004/05/28
Re: Powerpc Linux build fails, Martin Schaffner, 2004/05/29