diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2020-08-03 17:21:10 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2020-08-03 17:21:10 -0700 |
commit | 0a897743ac258927dd29bb91ac663b568f53429d (patch) | |
tree | c98ac1b01fe05dc48685fae3f8916ec6e7143cad /lib/Makefile | |
parent | 335ad94c218e96ef12f56d93eadc884731aa23b1 (diff) | |
parent | 4185b3b92792eaec5869266e594338343421ffb0 (diff) | |
download | linux-0a897743ac258927dd29bb91ac663b568f53429d.tar.gz linux-0a897743ac258927dd29bb91ac663b568f53429d.tar.bz2 linux-0a897743ac258927dd29bb91ac663b568f53429d.zip |
Merge tag 'x86-fpu-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 FPU selftest from Ingo Molnar:
"Add the /sys/kernel/debug/selftest_helpers/test_fpu FPU self-test"
* tag 'x86-fpu-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
selftests/fpu: Add an FPU selftest
Diffstat (limited to 'lib/Makefile')
-rw-r--r-- | lib/Makefile | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/Makefile b/lib/Makefile index 2ba9642a3a87..7d24dd73e34c 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -99,6 +99,30 @@ obj-$(CONFIG_TEST_MEMINIT) += test_meminit.o obj-$(CONFIG_TEST_LOCKUP) += test_lockup.o obj-$(CONFIG_TEST_HMM) += test_hmm.o +# +# CFLAGS for compiling floating point code inside the kernel. x86/Makefile turns +# off the generation of FPU/SSE* instructions for kernel proper but FPU_FLAGS +# get appended last to CFLAGS and thus override those previous compiler options. +# +FPU_CFLAGS := -mhard-float -msse -msse2 +ifdef CONFIG_CC_IS_GCC +# Stack alignment mismatch, proceed with caution. +# GCC < 7.1 cannot compile code using `double` and -mpreferred-stack-boundary=3 +# (8B stack alignment). +# See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53383 +# +# The "-msse" in the first argument is there so that the +# -mpreferred-stack-boundary=3 build error: +# +# -mpreferred-stack-boundary=3 is not between 4 and 12 +# +# can be triggered. Otherwise gcc doesn't complain. +FPU_CFLAGS += $(call cc-option,-msse -mpreferred-stack-boundary=3,-mpreferred-stack-boundary=4) +endif + +obj-$(CONFIG_TEST_FPU) += test_fpu.o +CFLAGS_test_fpu.o += $(FPU_CFLAGS) + obj-$(CONFIG_TEST_LIVEPATCH) += livepatch/ obj-$(CONFIG_KUNIT) += kunit/ |