Subject: Re: [PATCH] powerpc: enforce a non-spe kernel build even on broken compilers

From: Nate Case <[email-masked]>
Date: Fri, 24 Oct 2008 18:51:17 -0500

On Fri, 2008-10-17 at 09:02 -0500, Nate Case wrote:
> > With this patch it compiles and boots fine.
> > The option -mabi=no-spe is not required.
> 
> Please don't accept this patch yet.  My past testing showed that
> "-mabi=no-spe" was required for my toolchain.  I'll go back and double
> check though.

OK, I went back and re-tested.

Kernel: 2.6.27
CPU: MPC8572
Toolchain:
    Cross-compiler built using crosstool-ng
    gcc 4.3.1, default target CFLAGS include '-mabi=spe -mspe'
    binutils 2.18.90 snapshot (built with --enable-spe=yes)

Kbuild flags                    Result
------------                    ------
-mno-spe (*)                    FAILED
-mno-spe -mabi=no-spe           FAILED
-mno-spe -mspe=no               OK
-mspe=no                        OK

(*) 2.6.27 default

In the failure case, the kernel would repeatedly dump out "SPE used in
kernel (task=xxxxxxxx, pc=xxxxxxxx)".

I think I was fooled before because I added _both_ "-mspe=no" and
"-mabi=no-spe" to my KBUILD_CFLAGS and saw the problem go away.  Since I
trusted the documentation that -mspe=no and -mno-spe were the same, I
assumed that -mabi=no-spe was the key.

So, I've changed my mind.  I now agree with Sebastian that
"-mabi=no-spe" is not required.  "-mno-spe -mspe=no" is probably the
safe way to go.

-- 
Nate Case <[email-masked]>