Re: [PATCH] kbuild: do not call cc-option before KBUILD_CFLAGS initialization
- Date: Thu, 12 Oct 2017 10:12:47 -0700
- From: Doug Anderson <dianders@xxxxxxxxxxxx>
- Subject: Re: [PATCH] kbuild: do not call cc-option before KBUILD_CFLAGS initialization
On Thu, Oct 12, 2017 at 2:22 AM, Masahiro Yamada
> Some $(call cc-option,...) are invoked very early, even before
> KBUILD_CFLAGS, etc. are initialized.
> The returned string from $(call cc-option,...) depends on
> KBUILD_CPPFLAGS, KBUILD_CFLAGS, and GCC_PLUGINS_CFLAGS.
> Since they are exported, they are not empty when the top Makefile
> is recursively invoked.
> The recursion occurs in several places. For example, the top
> Makefile invokes itself for silentoldconfig. "make tinyconfig",
> "make rpm-pkg" are the cases, too.
> In those cases, the second call of cc-option from the same line
> runs a different shell command due to non-pristine KBUILD_CFLAGS.
> To get the same result all the time, KBUILD_* and GCC_PLUGINS_CFLAGS
> must be initialized before any call of cc-option. This avoids
> garbage data in the .cache.mk file.
> Move all calls of cc-option below the config targets because target
> compiler flags are unnecessary for Kconfig.
> Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
> Makefile | 21 +++++++++++----------
> 1 file changed, 11 insertions(+), 10 deletions(-)
I can't pretend that I know of all the subtleties involved in the
twisty turny passages of the kernel Makefiles, but as far as I can
tell this looks good. Thanks!
Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx>