diff options
author | Kumar Gala <galak@kernel.crashing.org> | 2007-10-18 16:53:19 -0500 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2007-11-09 03:47:29 -0600 |
commit | 0197cd2e350a7151080e7335577e956f1f84a8cb (patch) | |
tree | 4ac1a37fbb9a8b8ec6c98f3d692bcd18c8b439b2 /arch | |
parent | 688016f4e2028e3c2c27e959ad001536e10ee2c5 (diff) | |
download | linux-stable-0197cd2e350a7151080e7335577e956f1f84a8cb.tar.gz linux-stable-0197cd2e350a7151080e7335577e956f1f84a8cb.tar.bz2 linux-stable-0197cd2e350a7151080e7335577e956f1f84a8cb.zip |
[POWERPC] Add -mno-spe for ARCH=powerpc builds
Newer GCC's are capable of autovectorization for ISA extensions like
AltiVec and SPE. If we happen to build with one of those compilers we
will get SPE instructions in random kernel code. Today we only allow
basic interger code in the kernel and FP, AltiVec, or SPE in special
explicit locations that have handled the proper saving and restoring of
the register state (since on uniprocessor we lazy context switch the
register state for FP, AltiVec, and SPE).
-mno-spe disables the compiler for automatically generating SPE
instructions without our knowledge.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/Makefile | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile index 4e165342210a..bd87626c1f60 100644 --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile @@ -107,6 +107,9 @@ endif # No AltiVec instruction when building kernel KBUILD_CFLAGS += $(call cc-option,-mno-altivec) +# No SPE instruction when building kernel +KBUILD_CFLAGS += $(call cc-option,-mno-spe) + # Enable unit-at-a-time mode when possible. It shrinks the # kernel considerably. KBUILD_CFLAGS += $(call cc-option,-funit-at-a-time) |