diff options
author | Peter Zijlstra <peterz@infradead.org> | 2021-11-19 17:50:24 +0100 |
---|---|---|
committer | Borislav Petkov <bp@suse.de> | 2021-12-08 11:39:42 +0100 |
commit | b2f825bfeda884f9d40386cc7d089d023017d2dd (patch) | |
tree | 3c667ee9593bcafff9262554276c038918af12fb /arch | |
parent | x86/csum: Rewrite/optimize csum_partial() (diff) | |
download | linux-b2f825bfeda884f9d40386cc7d089d023017d2dd.tar.xz linux-b2f825bfeda884f9d40386cc7d089d023017d2dd.zip |
x86: Move RETPOLINE*_CFLAGS to arch Makefile
Currently, RETPOLINE*_CFLAGS are defined in the top-level Makefile
but only x86 makes use of them. Move them there. If ever another
architecture finds the need, it can be reconsidered.
[ bp: Massage a bit. ]
Suggested-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Link: https://lkml.kernel.org/r/20211119165630.219152765@infradead.org
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/Makefile | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/x86/Makefile b/arch/x86/Makefile index 42243869216d..2f40de5d82a2 100644 --- a/arch/x86/Makefile +++ b/arch/x86/Makefile @@ -12,6 +12,17 @@ else KBUILD_DEFCONFIG := $(ARCH)_defconfig endif +ifdef CONFIG_CC_IS_GCC +RETPOLINE_CFLAGS := $(call cc-option,-mindirect-branch=thunk-extern -mindirect-branch-register) +RETPOLINE_VDSO_CFLAGS := $(call cc-option,-mindirect-branch=thunk-inline -mindirect-branch-register) +endif +ifdef CONFIG_CC_IS_CLANG +RETPOLINE_CFLAGS := -mretpoline-external-thunk +RETPOLINE_VDSO_CFLAGS := -mretpoline +endif +export RETPOLINE_CFLAGS +export RETPOLINE_VDSO_CFLAGS + # For gcc stack alignment is specified with -mpreferred-stack-boundary, # clang has the option -mstack-alignment for that purpose. ifneq ($(call cc-option, -mpreferred-stack-boundary=4),) |