Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

x86/kbuild/64: Test for the availability of the -mtune=native compiler flag

Stephen reported this build failure when cross-compiling:

cc1: error: bad value 'native' for '-march=' switch

Test for the availability of the -march=native flag.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Tested-by: Stephen Rothwell <sfr@canb.auug.org.au> # build test
Cc: Tor Vic <torvic9@mailbox.org>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/20250324172723.49fb0416@canb.auug.org.au

+5 -1
+5 -1
arch/x86/Kconfig.cpu
··· 245 245 246 246 endchoice 247 247 248 + config CC_HAS_MARCH_NATIVE 249 + # This flag might not be available in cross-compilers: 250 + def_bool $(cc-option, -march=native) 251 + 248 252 config X86_NATIVE_CPU 249 253 bool "Build and optimize for local/native CPU" 250 254 depends on X86_64 251 - default n 255 + depends on CC_HAS_MARCH_NATIVE 252 256 help 253 257 Optimize for the current CPU used to compile the kernel. 254 258 Use this option if you intend to build the kernel for your