lkml.org 
[lkml]   [2018]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH v5 21/31] kconfig: show compiler version text in the top comment
Hi Yamada-san,

On Mon, May 28, 2018 at 11:21 AM, 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 the 'comment' statement. 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>
> Reviewed-by: Kees Cook <keescook@chromium.org>

This is now commit 21c54b774744719c ("kconfig: show compiler version text
in the top comment") upstream.

This commit broke cross-compilation for me:

$ make ARCH=m68k
scripts/kconfig/conf --syncconfig Kconfig
scripts/kconfig/conf --syncconfig Kconfig
scripts/kconfig/conf --syncconfig Kconfig
scripts/kconfig/conf --syncconfig Kconfig
...

with O=:

GEN ./Makefile
scripts/kconfig/conf --syncconfig Kconfig
GEN ./Makefile
scripts/kconfig/conf --syncconfig Kconfig
GEN ./Makefile
scripts/kconfig/conf --syncconfig Kconfig
GEN ./Makefile
...

.config gained (both with/without O=):

#
# Compiler: gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
#

which is definitely wrong when cross-compiling for m68k.

Reverting the commit, and fixing up the conflicts, fixes the issue for me

Do you have a clue?
Thanks!

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

\
 
 \ /
  Last update: 2018-06-07 10:44    [W:0.223 / U:2.388 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site