* [PATCH] powerpc: enforce a non-spe kernel build even on broken compilers
@ 2008-09-01 14:23 Sebastian Siewior
2008-10-14 19:25 ` Nate Case
2008-10-14 21:23 ` Kumar Gala
0 siblings, 2 replies; 14+ messages in thread
From: Sebastian Siewior @ 2008-09-01 14:23 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-dev, ths
From: Thiemo Seufer <ths@linutronix.de>
those two are requried on my fresh gcc 4.3.1
Signed-off-by: Thiemo Seufer <ths@linutronix.de>
Signed-off-by: Sebastian Siewior <bigeasy@linutronix.de>
---
Not sure if this is intendent or a gcc bug but with -mno-spe
the spe opcodes were not used floating point anymore but
for 64bit save/restore for instance.
arch/powerpc/Makefile | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index b7d4c4c..3727e4f 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -108,7 +108,10 @@ endif
KBUILD_CFLAGS += $(call cc-option,-mno-altivec)
# No SPE instruction when building kernel
+# (We use all available options to help semi-broken compilers)
KBUILD_CFLAGS += $(call cc-option,-mno-spe)
+KBUILD_CFLAGS += $(call cc-option,-mspe=no)
+KBUILD_CFLAGS += $(call cc-option,-mabi=no-spe)
# Enable unit-at-a-time mode when possible. It shrinks the
# kernel considerably.
--
1.5.6.5
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH] powerpc: enforce a non-spe kernel build even on broken compilers
2008-09-01 14:23 [PATCH] powerpc: enforce a non-spe kernel build even on broken compilers Sebastian Siewior
@ 2008-10-14 19:25 ` Nate Case
2008-10-14 22:02 ` Nate Case
2008-10-14 21:23 ` Kumar Gala
1 sibling, 1 reply; 14+ messages in thread
From: Nate Case @ 2008-10-14 19:25 UTC (permalink / raw)
To: Sebastian Siewior; +Cc: linuxppc-dev, ths
On Mon, 2008-09-01 at 16:23 +0200, Sebastian Siewior wrote:
> those two are requried on my fresh gcc 4.3.1
>
> Signed-off-by: Thiemo Seufer <ths@linutronix.de>
> Signed-off-by: Sebastian Siewior <bigeasy@linutronix.de>
> ---
> Not sure if this is intendent or a gcc bug but with -mno-spe
> the spe opcodes were not used floating point anymore but
> for 64bit save/restore for instance.
I wouldn't say this is due to a broken compiler. As I understand it,
-mabi=no-spe and -mspe=no serve two different purposes. One is for
disabling the SPE instructions and the other controls the ABI (which
would make those 64-bit save/restores I'm guessing). I don't know why
you'd ever want to use the SPE ABI without -mspe=yes, but gcc does
provide that flexibility.
-mno-spe: Deprecated way to say "no SPE instructions"
-mspe=no: New way to do -mno-spe
-mabi=no-spe: Disable SPE ABI
Some compilers may enable "-mabi=spe" and/or "-mspe=yes" by default, so
explicitly disabling both is necessary. I recently built a SPE
toolchain which enabled both by default, so I ran into the "SPE used in
kernel" problem when the kernel only passed "-mno-spe".
- Nate Case <ncase@xes-inc.com>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] powerpc: enforce a non-spe kernel build even on broken compilers
2008-09-01 14:23 [PATCH] powerpc: enforce a non-spe kernel build even on broken compilers Sebastian Siewior
2008-10-14 19:25 ` Nate Case
@ 2008-10-14 21:23 ` Kumar Gala
2008-10-14 22:35 ` Nate Case
2008-10-14 22:49 ` Sebastian Andrzej Siewior
1 sibling, 2 replies; 14+ messages in thread
From: Kumar Gala @ 2008-10-14 21:23 UTC (permalink / raw)
To: Sebastian Siewior; +Cc: linuxppc-dev, ths
On Sep 1, 2008, at 9:23 AM, Sebastian Siewior wrote:
> From: Thiemo Seufer <ths@linutronix.de>
>
> those two are requried on my fresh gcc 4.3.1
>
> Signed-off-by: Thiemo Seufer <ths@linutronix.de>
> Signed-off-by: Sebastian Siewior <bigeasy@linutronix.de>
> ---
> Not sure if this is intendent or a gcc bug but with -mno-spe
> the spe opcodes were not used floating point anymore but
> for 64bit save/restore for instance.
what code is getting generated for you that is causing issue?
> arch/powerpc/Makefile | 3 +++
> 1 files changed, 3 insertions(+), 0 deletions(-)
>
> diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
> index b7d4c4c..3727e4f 100644
> --- a/arch/powerpc/Makefile
> +++ b/arch/powerpc/Makefile
> @@ -108,7 +108,10 @@ endif
> KBUILD_CFLAGS += $(call cc-option,-mno-altivec)
>
> # No SPE instruction when building kernel
> +# (We use all available options to help semi-broken compilers)
> KBUILD_CFLAGS += $(call cc-option,-mno-spe)
> +KBUILD_CFLAGS += $(call cc-option,-mspe=no)
Why does -mno-spe work?
From my gcc-4.3 info pages:
`-mspe=YES/NO'
This option has been deprecated. Use `-mspe' and `-mno-spe'
instead.
> +KBUILD_CFLAGS += $(call cc-option,-mabi=no-spe)
is the -mabi=no-spe really needed?
- k
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] powerpc: enforce a non-spe kernel build even on broken compilers
2008-10-14 19:25 ` Nate Case
@ 2008-10-14 22:02 ` Nate Case
0 siblings, 0 replies; 14+ messages in thread
From: Nate Case @ 2008-10-14 22:02 UTC (permalink / raw)
To: Sebastian Siewior; +Cc: linuxppc-dev, ths
On Tue, 2008-10-14 at 14:25 -0500, Nate Case wrote:
>
> -mno-spe: Deprecated way to say "no SPE instructions"
> -mspe=no: New way to do -mno-spe
Sorry, I got this backwards (as Kumar pointed out in his other reply).
-mspe=no is actually deprecated.
- Nate Case <ncase@xes-inc.com>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] powerpc: enforce a non-spe kernel build even on broken compilers
2008-10-14 21:23 ` Kumar Gala
@ 2008-10-14 22:35 ` Nate Case
2008-10-14 22:49 ` Sebastian Andrzej Siewior
1 sibling, 0 replies; 14+ messages in thread
From: Nate Case @ 2008-10-14 22:35 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-dev, Sebastian Siewior, ths
On Tue, 2008-10-14 at 16:23 -0500, Kumar Gala wrote:
> Why does -mno-spe work?
>
> From my gcc-4.3 info pages:
>
> `-mspe=YES/NO'
> This option has been deprecated. Use `-mspe' and `-mno-spe'
> instead.
>
> > +KBUILD_CFLAGS += $(call cc-option,-mabi=no-spe)
>
> is the -mabi=no-spe really needed?
My guess is that the -mabi=no-spe was the real key of what made it work
for him. I went through the same thing with my toolchain.
You do need -mabi=no-spe if your toolchain defaults to -mabi=spe like
mine does. I know that the more generic toolchains out there
(CodeSourcery, ELDK) default to -mabi=no-spe, so in that case it would
not be necessary.
I don't know what generated instructions are actually to blame, but I do
know that if you compile certain programs with "-mno-spe -mabi=spe" vs.
"-mno-spe -mabi=no-spe", the results will differ. In the case of the
kernel, you'll get a bunch of "SPE used in kernel" messages with the
"-mno-spe -mabi=spe" combination.
- Nate Case <ncase@xes-inc.com>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] powerpc: enforce a non-spe kernel build even on broken compilers
2008-10-14 21:23 ` Kumar Gala
2008-10-14 22:35 ` Nate Case
@ 2008-10-14 22:49 ` Sebastian Andrzej Siewior
2008-10-15 8:59 ` Sebastian Andrzej Siewior
1 sibling, 1 reply; 14+ messages in thread
From: Sebastian Andrzej Siewior @ 2008-10-14 22:49 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-dev, ths
* Kumar Gala | 2008-10-14 16:23:05 [-0500]:
>>Not sure if this is intendent or a gcc bug but with -mno-spe
>>the spe opcodes were not used floating point anymore but
>>for 64bit save/restore for instance.
>
>what code is getting generated for you that is causing issue?
Without the patch do_syslog() looks like this:
|c0025840 <do_syslog>:
|c0025840: 94 21 ff 50 stwu r1,-176(r1)
|c0025844: 7c 08 02 a6 mflr r0
|c0025848: 13 21 73 21 evstdd r25,112(r1)
|c002584c: 13 41 7b 21 evstdd r26,120(r1)
|c0025850: 7c 9a 23 78 mr r26,r4
|c0025854: 13 61 83 21 evstdd r27,128(r1)
|c0025858: 7c bb 2b 78 mr r27,r5
|c002585c: 13 e1 a3 21 evstdd r31,160(r1)
|c0025860: 7c 7f 1b 78 mr r31,r3
|c0025864: 90 01 00 b4 stw r0,180(r1)
|c0025868: 12 21 33 21 evstdd r17,48(r1)
|c002586c: 12 41 3b 21 evstdd r18,56(r1)
|c0025870: 12 61 43 21 evstdd r19,64(r1)
|c0025874: 12 81 4b 21 evstdd r20,72(r1)
|c0025878: 12 a1 53 21 evstdd r21,80(r1)
|c002587c: 12 c1 5b 21 evstdd r22,88(r1)
|c0025880: 12 e1 63 21 evstdd r23,96(r1)
|c0025884: 13 01 6b 21 evstdd r24,104(r1)
|c0025888: 13 81 8b 21 evstdd r28,136(r1)
|c002588c: 13 a1 93 21 evstdd r29,144(r1)
|c0025890: 13 c1 9b 21 evstdd r30,152(r1)
|c0025894: 48 0f 00 b5 bl c0115948 <cap_syslog>
|c0025898: 7c 79 1b 79 mr. r25,r3
|c002589c: 40 82 04 54 bne- c0025cf0 <do_syslog+0x4b0>
|c00258a0: 2b 9f 00 0a cmplwi cr7,r31,10
|c00258a4: 41 9d 04 40 bgt- cr7,c0025ce4 <do_syslog+0x4a4>
|c00258a8: 3d 20 c0 27 lis r9,-16345
|c00258ac: 57 e0 10 3a rlwinm r0,r31,2,0,29
|c00258b0: 39 29 a6 e4 addi r9,r9,-22812
|c00258b4: 7c 09 00 2e lwzx r0,r9,r0
|c00258b8: 7c 00 4a 14 add r0,r0,r9
|c00258bc: 7c 09 03 a6 mtctr r0
|c00258c0: 4e 80 04 20 bctr
|c00258c4: 3b e0 00 00 li r31,0
....
do_syslog() is not the only one.
>>1 files changed, 3 insertions(+), 0 deletions(-)
>>
>>diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
>>index b7d4c4c..3727e4f 100644
>>--- a/arch/powerpc/Makefile
>>+++ b/arch/powerpc/Makefile
>>@@ -108,7 +108,10 @@ endif
>>KBUILD_CFLAGS += $(call cc-option,-mno-altivec)
>>
>># No SPE instruction when building kernel
>>+# (We use all available options to help semi-broken compilers)
>>KBUILD_CFLAGS += $(call cc-option,-mno-spe)
>>+KBUILD_CFLAGS += $(call cc-option,-mspe=no)
>
>Why does -mno-spe work?
Good question. Without this option and only with -mabi=no-spe the
do_syslog() looks like the following:
|c0025270 <do_syslog>:
|c0025270: 94 21 ff 90 stwu r1,-112(r1)
|c0025274: 7c 08 02 a6 mflr r0
|c0025278: be 21 00 34 stmw r17,52(r1)
|c002527c: 7c 9a 23 78 mr r26,r4
|c0025280: 90 01 00 74 stw r0,116(r1)
|c0025284: 7c bb 2b 78 mr r27,r5
|c0025288: 7c 7f 1b 78 mr r31,r3
|c002528c: 48 0e ce c5 bl c0112150 <cap_syslog>
|c0025290: 7c 79 1b 79 mr. r25,r3
|c0025294: 40 82 04 54 bne- c00256e8 <do_syslog+0x478>
|c0025298: 2b 9f 00 0a cmplwi cr7,r31,10
|c002529c: 41 9d 04 40 bgt- cr7,c00256dc <do_syslog+0x46c>
|c00252a0: 3d 20 c0 26 lis r9,-16346
|c00252a4: 57 e0 10 3a rlwinm r0,r31,2,0,29
|c00252a8: 39 29 36 e4 addi r9,r9,14052
|c00252ac: 7c 09 00 2e lwzx r0,r9,r0
|c00252b0: 7c 00 4a 14 add r0,r0,r9
|c00252b4: 7c 09 03 a6 mtctr r0
|c00252b8: 4e 80 04 20 bctr
|c00252bc: 3b e0 00 00 li r31,0
|c00252c0: 48 00 01 c4 b c0025484 <do_syslog+0x214>
|c00252c4: 2f 9a 00 00 cmpwi cr7,r26,0
|c00252c8: 41 9e 04 14 beq- cr7,c00256dc <do_syslog+0x46c>
|c00252cc: 2f 9b 00 00 cmpwi cr7,r27,0
|c00252d0: 41 9c 04 0c blt- cr7,c00256dc <do_syslog+0x46c>
|c00252d4: 41 9e 04 14 beq- cr7,c00256e8 <do_syslog+0x478>
|c00252d8: 80 02 03 3c lwz r0,828(r2)
|c00252dc: 7f 9a 00 40 cmplw cr7,r26,r0
|c00252e0: 41 9d 04 04 bgt- cr7,c00256e4 <do_syslog+0x474>
|c00252e4: 7c 1a 00 50 subf r0,r26,r0
|c00252e8: 39 3b ff ff addi r9,r27,-1
|c00252ec: 7f 89 00 40 cmplw cr7,r9,r0
|c00252f0: 41 9d 03 f4 bgt- cr7,c00256e4 <do_syslog+0x474>
|c00252f4: 3d 20 c0 39 lis r9,-16327
|c00252f8: 39 09 8e f8 addi r8,r9,-28936
|c00252fc: 81 29 8e f8 lwz r9,-28936(r9)
|c0025300: 80 08 00 04 lwz r0,4(r8)
|c0025304: 7f 80 48 00 cmpw cr7,r0,r9
|c0025308: 40 be 00 a4 bne+ cr7,c00253ac <do_syslog+0x13c>
|c002530c: 3d 20 c0 04 lis r9,-16380
|c0025310: 39 61 00 14 addi r11,r1,20
|c0025314: 39 29 ae 78 addi r9,r9,-20872
|c0025318: 10 00 02 16 evxor r0,r0,r0
|c002531c: 10 01 0b 21 evstdd r0,8(r1)
|c0025320: 7d 1f 43 78 mr r31,r8
boom.
>
>From my gcc-4.3 info pages:
>
>`-mspe=YES/NO'
> This option has been deprecated. Use `-mspe' and `-mno-spe'
> instead.
>
so it could be gcc bug then and I should open a bugzilla. I didn't know
that it is deprecated.
>>+KBUILD_CFLAGS += $(call cc-option,-mabi=no-spe)
>
>is the -mabi=no-spe really needed?
It seems to work the other way around (without -mabi=no-spe but with
-mabi=no-spe) alteast I did not find anything in do_syslog() or while
browsing through the dissasm. I do a boot check tomorrow.
>
>- k
Sebastian
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] powerpc: enforce a non-spe kernel build even on broken compilers
2008-10-14 22:49 ` Sebastian Andrzej Siewior
@ 2008-10-15 8:59 ` Sebastian Andrzej Siewior
2008-10-15 13:25 ` Kumar Gala
0 siblings, 1 reply; 14+ messages in thread
From: Sebastian Andrzej Siewior @ 2008-10-15 8:59 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-dev, Nate Case, ths
* Sebastian Andrzej Siewior | 2008-10-15 00:49:46 [+0200]:
>>is the -mabi=no-spe really needed?
>It seems to work the other way around (without -mabi=no-spe but with
>-mabi=no-spe) alteast I did not find anything in do_syslog() or while
>browsing through the dissasm. I do a boot check tomorrow.
Okay. I recompiled with -mspe=no and was able to boot without trouble.
It didn't work with -mabi=no-spe.
>>
>>- k
Sebastian
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] powerpc: enforce a non-spe kernel build even on broken compilers
2008-10-15 8:59 ` Sebastian Andrzej Siewior
@ 2008-10-15 13:25 ` Kumar Gala
2008-10-15 14:43 ` Sebastian Andrzej Siewior
0 siblings, 1 reply; 14+ messages in thread
From: Kumar Gala @ 2008-10-15 13:25 UTC (permalink / raw)
To: Sebastian Andrzej Siewior; +Cc: linuxppc-dev, Nate Case, ths
On Oct 15, 2008, at 3:59 AM, Sebastian Andrzej Siewior wrote:
> * Sebastian Andrzej Siewior | 2008-10-15 00:49:46 [+0200]:
>
>>> is the -mabi=no-spe really needed?
>> It seems to work the other way around (without -mabi=no-spe but with
>> -mabi=no-spe) alteast I did not find anything in do_syslog() or while
>> browsing through the dissasm. I do a boot check tomorrow.
>
> Okay. I recompiled with -mspe=no and was able to boot without trouble.
> It didn't work with -mabi=no-spe.
I'm confused.. what did you change from your patch?
- k
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] powerpc: enforce a non-spe kernel build even on broken compilers
2008-10-15 13:25 ` Kumar Gala
@ 2008-10-15 14:43 ` Sebastian Andrzej Siewior
2008-10-15 16:31 ` Kumar Gala
2008-10-17 14:02 ` Nate Case
0 siblings, 2 replies; 14+ messages in thread
From: Sebastian Andrzej Siewior @ 2008-10-15 14:43 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-dev, Nate Case, ths
* Kumar Gala | 2008-10-15 08:25:54 [-0500]:
>
> On Oct 15, 2008, at 3:59 AM, Sebastian Andrzej Siewior wrote:
>
>> * Sebastian Andrzej Siewior | 2008-10-15 00:49:46 [+0200]:
>>
>>>> is the -mabi=no-spe really needed?
>>> It seems to work the other way around (without -mabi=no-spe but with
>>> -mabi=no-spe) alteast I did not find anything in do_syslog() or while
>>> browsing through the dissasm. I do a boot check tomorrow.
>>
>> Okay. I recompiled with -mspe=no and was able to boot without trouble.
>> It didn't work with -mabi=no-spe.
>
> I'm confused.. what did you change from your patch?
This is the patch it right now:
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -103,6 +103,7 @@ KBUILD_CFLAGS += $(call cc-option,-mno-altivec)
# No SPE instruction when building kernel
KBUILD_CFLAGS += $(call cc-option,-mno-spe)
+KBUILD_CFLAGS += $(call cc-option,-mspe=no)
# Enable unit-at-a-time mode when possible. It shrinks the
# kernel considerably.
--
With this patch it compiles and boots fine.
The option -mabi=no-spe is not required.
> - k
Sebastian
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] powerpc: enforce a non-spe kernel build even on broken compilers
2008-10-15 14:43 ` Sebastian Andrzej Siewior
@ 2008-10-15 16:31 ` Kumar Gala
2008-10-17 14:02 ` Nate Case
1 sibling, 0 replies; 14+ messages in thread
From: Kumar Gala @ 2008-10-15 16:31 UTC (permalink / raw)
To: Sebastian Andrzej Siewior; +Cc: linuxppc-dev, Nate Case, ths
On Oct 15, 2008, at 9:43 AM, Sebastian Andrzej Siewior wrote:
> * Kumar Gala | 2008-10-15 08:25:54 [-0500]:
>
>>
>> On Oct 15, 2008, at 3:59 AM, Sebastian Andrzej Siewior wrote:
>>
>>> * Sebastian Andrzej Siewior | 2008-10-15 00:49:46 [+0200]:
>>>
>>>>> is the -mabi=no-spe really needed?
>>>> It seems to work the other way around (without -mabi=no-spe but
>>>> with
>>>> -mabi=no-spe) alteast I did not find anything in do_syslog() or
>>>> while
>>>> browsing through the dissasm. I do a boot check tomorrow.
>>>
>>> Okay. I recompiled with -mspe=no and was able to boot without
>>> trouble.
>>> It didn't work with -mabi=no-spe.
>>
>> I'm confused.. what did you change from your patch?
>
> This is the patch it right now:
> --- a/arch/powerpc/Makefile
> +++ b/arch/powerpc/Makefile
> @@ -103,6 +103,7 @@ KBUILD_CFLAGS += $(call cc-option,-mno-altivec)
>
> # No SPE instruction when building kernel
> KBUILD_CFLAGS += $(call cc-option,-mno-spe)
> +KBUILD_CFLAGS += $(call cc-option,-mspe=no)
>
> # Enable unit-at-a-time mode when possible. It shrinks the
> # kernel considerably.
> --
>
> With this patch it compiles and boots fine.
> The option -mabi=no-spe is not required.
ok. can post a clean patch w/just this change.
- k
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] powerpc: enforce a non-spe kernel build even on broken compilers
2008-10-15 14:43 ` Sebastian Andrzej Siewior
2008-10-15 16:31 ` Kumar Gala
@ 2008-10-17 14:02 ` Nate Case
2008-10-17 15:01 ` Sebastian Andrzej Siewior
2008-10-24 23:51 ` Nate Case
1 sibling, 2 replies; 14+ messages in thread
From: Nate Case @ 2008-10-17 14:02 UTC (permalink / raw)
To: Sebastian Andrzej Siewior; +Cc: linuxppc-dev, ths
On Wed, 2008-10-15 at 16:43 +0200, Sebastian Andrzej Siewior 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.
- Nate Case <ncase@xes-inc.com>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] powerpc: enforce a non-spe kernel build even on broken compilers
2008-10-17 14:02 ` Nate Case
@ 2008-10-17 15:01 ` Sebastian Andrzej Siewior
2008-10-24 23:51 ` Nate Case
1 sibling, 0 replies; 14+ messages in thread
From: Sebastian Andrzej Siewior @ 2008-10-17 15:01 UTC (permalink / raw)
To: Nate Case; +Cc: linuxppc-dev, ths
* Nate Case | 2008-10-17 09:02:11 [-0500]:
>On Wed, 2008-10-15 at 16:43 +0200, Sebastian Andrzej Siewior 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.
Okay. Here my compiler details:
| powerpc-linux-gnuspe-gcc -v
| Using built-in specs.
| Target: powerpc-linux-gnuspe
| Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.1-9'
| --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs
| --enable-languages=c,c++,obj-c++ --prefix=/usr --enable-shared
| --with-system-zlib --libexecdir=/usr/lib --without-included-gettext
| --enable-threads=posix --enable-nls
| --with-gxx-include-dir=/usr/powerpc-linux-gnuspe/include/c++/4.3.1
| --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug
| --disable-multilib --disable-multilib --with-cpu=8540
| --enable-e500_double --with-long-double-128 --enable-checking=release
| --program-prefix=powerpc-linux-gnuspe-
| --includedir=/usr/powerpc-linux-gnuspe/include --build=i486-linux-gnu
| --host=i486-linux-gnu --target=powerpc-linux-gnuspe
| Thread model: posix
| gcc version 4.3.1 (Debian 4.3.1-9)
ths told me that we need all three options in this order because of how
they interact with gcc's internal flags.
>- Nate Case <ncase@xes-inc.com>
Sebastian
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] powerpc: enforce a non-spe kernel build even on broken compilers
2008-10-17 14:02 ` Nate Case
2008-10-17 15:01 ` Sebastian Andrzej Siewior
@ 2008-10-24 23:51 ` Nate Case
2008-10-24 23:55 ` Kumar Gala
1 sibling, 1 reply; 14+ messages in thread
From: Nate Case @ 2008-10-24 23:51 UTC (permalink / raw)
To: Sebastian Andrzej Siewior; +Cc: linuxppc-dev, ths
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 <ncase@xes-inc.com>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH] powerpc: enforce a non-spe kernel build even on broken compilers
2008-10-24 23:51 ` Nate Case
@ 2008-10-24 23:55 ` Kumar Gala
0 siblings, 0 replies; 14+ messages in thread
From: Kumar Gala @ 2008-10-24 23:55 UTC (permalink / raw)
To: Nate Case; +Cc: linuxppc-dev, Sebastian Andrzej Siewior, ths
On Oct 24, 2008, at 6:51 PM, Nate Case wrote:
> 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 <ncase@xes-inc.com>
thanks for testing this all out.
I'll submit a patch to remove the -mabi=.*spe.* foo.
- k
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2008-10-24 23:56 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-01 14:23 [PATCH] powerpc: enforce a non-spe kernel build even on broken compilers Sebastian Siewior
2008-10-14 19:25 ` Nate Case
2008-10-14 22:02 ` Nate Case
2008-10-14 21:23 ` Kumar Gala
2008-10-14 22:35 ` Nate Case
2008-10-14 22:49 ` Sebastian Andrzej Siewior
2008-10-15 8:59 ` Sebastian Andrzej Siewior
2008-10-15 13:25 ` Kumar Gala
2008-10-15 14:43 ` Sebastian Andrzej Siewior
2008-10-15 16:31 ` Kumar Gala
2008-10-17 14:02 ` Nate Case
2008-10-17 15:01 ` Sebastian Andrzej Siewior
2008-10-24 23:51 ` Nate Case
2008-10-24 23:55 ` Kumar Gala
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).