Re: due to kconfig changes kernel config file is no longer sufficient for configuring the kernel

From: Masahiro Yamada
Date: Mon Aug 20 2018 - 14:25:42 EST


2018-08-07 3:33 GMT+09:00 Michal Kubecek <mkubecek@xxxxxxx>:
> On Mon, Jul 30, 2018 at 05:02:42PM +0900, Masahiro Yamada wrote:
>>
>> For exmaple 'make ARCH=arm config' will create the config suitable
>> only for ARM architecture.
>> Then, you need to do 'make ARCH=arm' to build the kernel.
>>
>> If it is tedious to give 'ARCH=arm' to every make command,
>> you can do 'export ARCH=arm' in your shell.
>>
>> Again, this is the behavior we have for a long time.
>
> Actually, this no longer works reliably. For example, when I run
>
> ARCH=powerpc make oldconfig
>
> with our ppc64le config on x86_64 system, I get different result than
> when I run it on an actual ppc64le system (or when using a ppc64le cross
> compiler on x86_64).


This is because you used different compilers.


> Since .config started to mix user configuration and build environment
> capabilities, maintaining distribution configs became real pain. And
> it's getting progressively worse.

This is improvement requested by Linus Torvalds.

Prior to the change, the user configuration in the .config
did not reflect what you get.
Even if you enable CONFIG_FOO=y,
it might be silently disabled by $(call cc-option, ...) in Makefile
if the feature is not supported by the compiler.


By moving the compiler evaluation to the Kconfig phase,
the .config matches to what you get.



> Michal Kubecek
>
> --
> 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



--
Best Regards
Masahiro Yamada