On Mon, Mar 26, 2018 at 10:29 PM, Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> wrote: > The kernel configuration phase is now tightly coupled with the compiler > in use. It will be nice to show the compiler information in Kconfig. > > The compiler information will be displayed like this: > > $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- config > scripts/kconfig/conf --oldaskconfig Kconfig > * > * Linux/arm64 4.16.0-rc1 Kernel Configuration > * > * > * Compiler: aarch64-linux-gnu-gcc (Linaro GCC 7.2-2017.11) 7.2.1 20171011 > * > * > * General setup > * > Compile also drivers which will not load (COMPILE_TEST) [N/y/?] > > If you use GUI methods such as menuconfig, it will be displayed in the > top menu. > > This is simply implemented by using 'comment'. So, it will be saved > into the .config file as well. > > This commit has a very important meaning. If the compiler is upgraded, > Kconfig must be re-run since different compilers have different sets > of supported options. > > All referenced environments are written to include/config/auto.conf.cmd > so that any environment change triggers syncconfig, and prompt the user > to input new values if needed. > > With this commit, something like follows will be added to > include/config/auto.conf.cmd > > ifneq "$(CC_VERSION_TEXT)" "aarch64-linux-gnu-gcc (Linaro GCC 7.2-2017.11) 7.2.1 20171011" > include/config/auto.conf: FORCE > endif > > Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> I like seeing this in the config. Good idea! Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> -Kees > --- > > Changes in v2: None > > Kconfig | 2 ++ > Makefile | 2 ++ > 2 files changed, 4 insertions(+) > > diff --git a/Kconfig b/Kconfig > index e6ece5b..99ed4b8 100644 > --- a/Kconfig > +++ b/Kconfig > @@ -5,4 +5,6 @@ > # > mainmenu "Linux/$ARCH $KERNELVERSION Kernel Configuration" > > +comment "Compiler: $CC_VERSION_TEXT" > + > source "arch/$SRCARCH/Kconfig" > diff --git a/Makefile b/Makefile > index 5cadffa..3dc9eb8 100644 > --- a/Makefile > +++ b/Makefile > @@ -450,6 +450,8 @@ export KBUILD_AFLAGS_MODULE KBUILD_CFLAGS_MODULE KBUILD_LDFLAGS_MODULE > export KBUILD_AFLAGS_KERNEL KBUILD_CFLAGS_KERNEL > export KBUILD_ARFLAGS > > +export CC_VERSION_TEXT := $(shell $(CC) --version | head -n 1) > + > # When compiling out-of-tree modules, put MODVERDIR in the module > # tree rather than in the kernel tree. The kernel tree might > # even be read-only. > -- > 2.7.4 > -- Kees Cook Pixel Security -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html