From: Kees Cook <keescook@chromium.org>
To: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: linux-kbuild <linux-kbuild@vger.kernel.org>,
Sam Ravnborg <sam@ravnborg.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Arnd Bergmann <arnd@arndb.de>,
Ulf Magnusson <ulfalizer@gmail.com>,
Thomas Gleixner <tglx@linutronix.de>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Randy Dunlap <rdunlap@infradead.org>,
"Luis R . Rodriguez" <mcgrof@kernel.org>,
Nicolas Pitre <nico@linaro.org>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2 12/21] kconfig: show compiler version text in the top comment
Date: Tue, 27 Mar 2018 20:26:11 -0700 [thread overview]
Message-ID: <CAGXu5j+runDn9cZ8SCMYQzWr3twBvQPt=sRP+UNJfjxv19a4Yw@mail.gmail.com> (raw)
In-Reply-To: <1522128575-5326-13-git-send-email-yamada.masahiro@socionext.com>
On Mon, Mar 26, 2018 at 10:29 PM, Masahiro Yamada
<yamada.masahiro@socionext.com> 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@socionext.com>
I like seeing this in the config. Good idea!
Reviewed-by: Kees Cook <keescook@chromium.org>
-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
next prev parent reply other threads:[~2018-03-28 3:26 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-27 5:29 [PATCH v2 00/21] kconfig: move compiler capability tests to Kconfig Masahiro Yamada
2018-03-27 5:29 ` [PATCH v2 01/21] kbuild: remove kbuild cache Masahiro Yamada
2018-03-28 3:26 ` Kees Cook
2018-03-27 5:29 ` [PATCH v2 02/21] kbuild: remove CONFIG_CROSS_COMPILE support Masahiro Yamada
2018-03-28 3:28 ` Kees Cook
2018-03-27 5:29 ` [PATCH v2 03/21] kconfig: move and rename sym_expand_string_value() Masahiro Yamada
2018-03-28 3:29 ` Kees Cook
2018-03-27 5:29 ` [PATCH v2 04/21] kconfig: reference environments directly and remove 'option env=' syntax Masahiro Yamada
2018-03-28 3:33 ` Kees Cook
2018-03-29 2:19 ` Ulf Magnusson
2018-03-29 2:56 ` Ulf Magnusson
2018-03-29 17:38 ` Ulf Magnusson
2018-03-30 5:30 ` Masahiro Yamada
2018-04-01 2:27 ` Ulf Magnusson
2018-04-01 2:40 ` Ulf Magnusson
2018-04-13 6:02 ` Masahiro Yamada
2018-03-27 5:29 ` [PATCH v2 05/21] kconfig: remove string expansion in file_lookup() Masahiro Yamada
2018-03-28 3:34 ` Kees Cook
2018-04-01 2:52 ` Ulf Magnusson
2018-03-27 5:29 ` [PATCH v2 06/21] kconfig: remove string expansion for mainmenu after yyparse() Masahiro Yamada
2018-03-28 3:35 ` Kees Cook
2018-04-01 2:59 ` Ulf Magnusson
2018-03-27 5:29 ` [PATCH v2 07/21] kconfig: add function support and implement 'shell' function Masahiro Yamada
2018-03-28 3:41 ` Kees Cook
2018-04-13 5:32 ` Masahiro Yamada
2018-03-29 2:42 ` Ulf Magnusson
2018-04-01 4:19 ` Ulf Magnusson
2018-04-13 5:37 ` Masahiro Yamada
2018-03-27 5:29 ` [PATCH v2 08/21] kconfig: replace $UNAME_RELEASE with function call Masahiro Yamada
2018-03-28 3:42 ` Kees Cook
2018-04-01 4:38 ` Ulf Magnusson
2018-03-27 5:29 ` [PATCH v2 09/21] kconfig: add 'macro' keyword to support user-defined function Masahiro Yamada
2018-03-28 3:45 ` Kees Cook
2018-04-01 6:05 ` Ulf Magnusson
2018-04-01 6:49 ` Ulf Magnusson
2018-04-13 5:44 ` Masahiro Yamada
2018-03-27 5:29 ` [PATCH v2 10/21] kconfig: add 'success' and 'cc-option' macros Masahiro Yamada
2018-03-28 3:46 ` Kees Cook
2018-04-01 6:28 ` Ulf Magnusson
2018-03-27 5:29 ` [PATCH v2 11/21] stack-protector: test compiler capability in Kconfig and drop AUTO mode Masahiro Yamada
2018-03-28 11:18 ` Kees Cook
2018-04-09 8:54 ` Masahiro Yamada
2018-04-09 15:04 ` Kees Cook
2018-04-10 3:15 ` Masahiro Yamada
2018-03-27 5:29 ` [PATCH v2 12/21] kconfig: show compiler version text in the top comment Masahiro Yamada
2018-03-28 3:26 ` Kees Cook [this message]
2018-03-27 5:29 ` [PATCH v2 13/21] kconfig: add CC_IS_GCC and GCC_VERSION Masahiro Yamada
2018-03-28 11:19 ` Kees Cook
2018-03-27 5:29 ` [PATCH v2 14/21] kconfig: add CC_IS_CLANG and CLANG_VERSION Masahiro Yamada
2018-03-28 11:22 ` Kees Cook
2018-03-28 11:52 ` Masahiro Yamada
2018-03-27 5:29 ` [PATCH v2 15/21] gcov: remove CONFIG_GCOV_FORMAT_AUTODETECT Masahiro Yamada
2018-03-27 9:12 ` Peter Oberparleiter
2018-03-28 11:24 ` Kees Cook
2018-03-27 5:29 ` [PATCH v2 16/21] kcov: imply GCC_PLUGINS and GCC_PLUGIN_SANCOV instead of select'ing them Masahiro Yamada
2018-03-28 11:25 ` Kees Cook
2018-03-28 11:53 ` Kees Cook
2018-03-27 5:29 ` [PATCH v2 17/21] gcc-plugins: always build plugins with C++ Masahiro Yamada
2018-03-28 11:29 ` Kees Cook
2018-03-27 5:29 ` [PATCH v2 18/21] gcc-plugins: move GCC version check for PowerPC to Kconfig Masahiro Yamada
2018-03-28 11:30 ` Kees Cook
2018-03-27 5:29 ` [PATCH v2 19/21] gcc-plugins: test GCC plugin support in Kconfig Masahiro Yamada
2018-03-28 11:44 ` Kees Cook
2018-04-11 15:55 ` Masahiro Yamada
2018-04-11 16:09 ` Kees Cook
2018-03-27 5:29 ` [PATCH v2 20/21] gcc-plugins: enable GCC_PLUGINS for COMPILE_TEST Masahiro Yamada
2018-03-28 11:47 ` Kees Cook
2018-04-10 6:15 ` Masahiro Yamada
2018-04-10 7:00 ` Kees Cook
2018-03-27 5:29 ` [PATCH v2 21/21] arm64: move GCC version check for ARCH_SUPPORTS_INT128 to Kconfig Masahiro Yamada
2018-03-27 17:28 ` Will Deacon
2018-03-28 11:55 ` Kees Cook
2018-03-27 16:39 ` [PATCH v2 00/21] kconfig: move compiler capability tests " Masahiro Yamada
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAGXu5j+runDn9cZ8SCMYQzWr3twBvQPt=sRP+UNJfjxv19a4Yw@mail.gmail.com' \
--to=keescook@chromium.org \
--cc=arnd@arndb.de \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mcgrof@kernel.org \
--cc=nico@linaro.org \
--cc=rdunlap@infradead.org \
--cc=sam@ravnborg.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=ulfalizer@gmail.com \
--cc=yamada.masahiro@socionext.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).