Hi, On Thu, Oct 12, 2017 at 2:22 AM, Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> wrote: > 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> -- 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