Subject: Re: Please pull from 'for_paulus' branch

From: Segher Boessenkool <[email-masked]>
Date: Fri, 29 Jun 2007 11:15:21 +0200

>> Please pull from 'for_paulus' branch of
>>
>> 	master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc.git 
>> for_paulus
>
> Unfortunately with those commits I get this when compiling for a
> 64-bit target:
>
> {standard input}: Assembler messages:
> {standard input}:668: Error: Unrecognized opcode: `sldi'

[etc.]

> It turns out that with Arnd's patches we now get "-mcpu=powerpc64" on
> the command line, and that means that gcc *doesn't* put "-mppc64" the
> as command line, and as barfs on the 64-bit instructions.  That's
> presumably a gcc bug, but we'll have to work around it.

It is not.  -mcpu=powerpc64 doesn't select an ABI, and your
GCC presumably defaults to the 32-bit ABI.  Use -m64 on the
GCC command line, too, you need it, and it solves this issue
as a side effect.

It would be a bug if GCC would allow 64-bit insns in the
32-bit ABI for Linux, but that is currently not the case :-(

> I think the
> best thing is just to not put the -mcpu=powerpc64 in CFLAGS when no
> specific CPU is selected.

That would be the "use the compiler default CPU" option.

Segher