Re: [PATCH v0 1/5] x86_64: march=native support

From: H. Peter Anvin
Date: Thu Dec 07 2017 - 18:37:10 EST


One more thing: you HAVE to make
arch/x86/include/asm/required-features.h aware of any features that the
kernel unconditionally depend on.

Again, using the gcc cpp macros that reflect what bits gcc itself
broadcast. However, this is perhaps where CONFIG flags become
important, since required-features.h has to be able to be compiled in
the bootcode environment, which is different from the normal kernel
compiler environment.

We could, however, automagically generate a reflection of these as a
header file:

echo '#ifndef __LINUX_CC_DEFINES__'
echo '#define __LINUX_CC_DEFINES__'
$(CC) $(c_flags) -x c -E -Wp,-dM /dev/null | sort | \
sed -nr -e 's/^#define __([^[:space]]+)__$/#define __KERNEL_CC_\1/p'
echo '#endif

-hpa