From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16995 invoked by alias); 19 May 2004 04:27:42 -0000 Mailing-List: contact binutils-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sources.redhat.com Received: (qmail 16987 invoked from network); 19 May 2004 04:27:40 -0000 Received: from unknown (HELO desire.geoffk.org) (67.169.96.182) by sourceware.org with SMTP; 19 May 2004 04:27:40 -0000 Received: from desire.geoffk.org (localhost.localdomain [127.0.0.1]) by desire.geoffk.org (8.12.10/8.12.10) with ESMTP id i4J4RZgn027954; Tue, 18 May 2004 21:27:35 -0700 Received: (from geoffk@localhost) by desire.geoffk.org (8.12.10/8.12.10/Submit) id i4J4RYiU027950; Tue, 18 May 2004 21:27:34 -0700 Date: Wed, 19 May 2004 04:27:00 -0000 From: Geoff Keating Message-Id: <200405190427.i4J4RYiU027950@desire.geoffk.org> To: amodra@bigpond.net.au CC: ksp@securelogix.com, dje@watson.ibm.com, binutils@sources.redhat.com, bug-binutils@gnu.org In-reply-to: <20040519033008.GC12690@bubble.modra.org> (message from Alan Modra on Wed, 19 May 2004 13:00:08 +0930) Subject: Re: Powerpc Linux build fails References: <3A3FC75F7C72D711A7DC009027AC9C4B1788D9@jupiter> <20040519033008.GC12690@bubble.modra.org> X-SW-Source: 2004-05/txt/msg00358.txt.bz2 > Date: Wed, 19 May 2004 13:00:08 +0930 > From: Alan Modra > 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