summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Chancellor <nathan@kernel.org>2025-08-15 04:31:38 +0300
committerBorislav Petkov (AMD) <bp@alien8.de>2025-08-15 23:59:19 +0300
commitd87208128a3330c0eab18301ab39bdb419647730 (patch)
tree272d44818917d76451aa7ef923e802c84dba747d
parent5d6d30eca4dd1c9e8515a8d4b13106205d5c0ec4 (diff)
downloadlinux-d87208128a3330c0eab18301ab39bdb419647730.tar.xz
x86/build: Remove cc-option from stack alignment flags
'-mpreferred-stack-boundary' (the GCC option) and '-mstack-alignment' (the clang option) have been supported in their respective compilers for some time, so it is unnecessary to check for support for them via cc-option. '-mpreferred-stack-boundary=3' had a restriction on '-mno-sse' until GCC 7.1 but that is irrelevant for most of the kernel, which includes '-mno-sse'. Move to simple Kconfig checks to avoid querying the compiler for the flags that it supports. Signed-off-by: Nathan Chancellor <nathan@kernel.org> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Link: https://lore.kernel.org/20250814-x86-min-ver-cleanups-v1-2-ff7f19457523@kernel.org
-rw-r--r--arch/x86/Makefile5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index ed5657395d6a..f0aa58d2ec17 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -37,10 +37,11 @@ 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),)
+ifdef CONFIG_CC_IS_GCC
cc_stack_align4 := -mpreferred-stack-boundary=2
cc_stack_align8 := -mpreferred-stack-boundary=3
-else ifneq ($(call cc-option, -mstack-alignment=16),)
+endif
+ifdef CONFIG_CC_IS_CLANG
cc_stack_align4 := -mstack-alignment=4
cc_stack_align8 := -mstack-alignment=8
endif