Hi Arnd,
2016-07-04 23:25 GMT+09:00 Arnd Bergmann arnd@arndb.de:
The introduction of "make *.config" as a shorthand for merging configuration files unfortunately introduced some build warnings that we see in every single run of the various build bots testing tinyconfig:
I am not convinced with this statement.
Why do you think 63a91033d52e is a bad commit?
With/without 63a91033d52e, I see the same warnings.
$ git log --oneline -1 63a9103 kbuild: add generic mergeconfig target, %.config $ make -s mrproper $ make tinyconfig >/dev/null .config:871:warning: override: KERNEL_XZ changes choice state .config:873:warning: override: SLOB changes choice state .config:874:warning: override: NOHIGHMEM changes choice state $ git checkout HEAD^ Previous HEAD position was 63a9103... kbuild: add generic mergeconfig target, %.config HEAD is now at bc8f8f5... merge_config.sh: rename MAKE to RUNMAKE $ git log --oneline -1 bc8f8f5 merge_config.sh: rename MAKE to RUNMAKE $ make -s mrproper $ make tinyconfig >/dev/null .config:871:warning: override: KERNEL_XZ changes choice state .config:873:warning: override: SLOB changes choice state .config:874:warning: override: NOHIGHMEM changes choice state
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile index ebced77deb9c..35d0e191fe3f 100644 --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile @@ -125,8 +125,8 @@ xenconfig: xen.config @:
PHONY += tinyconfig -tinyconfig:
$(Q)$(MAKE) -f $(srctree)/Makefile allnoconfig tiny.config
+tinyconfig: $(obj)/conf
$(Q)$(MAKE) -f $(srctree)/Makefile allnoconfig KCONFIG_ALLCONFIG=$(wildcard $(srctree)/kernel/configs/tiny.config $(srctree)/arch/$(SRCARCH)/configs/tiny.config)
# Help text used by make help help:
The dependency "tinyconfig: $(obj)/conf" is redundant.
It is already specified by:
allnoconfig allyesconfig allmodconfig alldefconfig randconfig: $(obj)/conf $< --$@ $(Kconfig)
What is worse, this patch breaks "make tinyconfig" on x86.
$ uname -m x86_64 $ git log --oneline -2 754e472 Kbuild: avoid "make tinyconfig" warnings a99cde4 Linux 4.7-rc6 $ make -s mrproper $ make tinyconfig HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/conf.o SHIPPED scripts/kconfig/zconf.tab.c SHIPPED scripts/kconfig/zconf.lex.c SHIPPED scripts/kconfig/zconf.hash.c HOSTCC scripts/kconfig/zconf.tab.o HOSTLD scripts/kconfig/conf scripts/kconfig/conf --allnoconfig Kconfig # # configuration written to .config # scripts/kconfig/Makefile:115: *** No configuration exists for this target on this architecture. Stop. make[3]: *** [arch/x86/configs/tiny.config] Error 2 make[2]: *** [__build_one_by_one] Error 2 make[1]: *** [tinyconfig] Error 2 make: *** [tinyconfig] Error 2