On Thu, Mar 1, 2018 at 4:05 PM, Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> wrote: > 2018-02-17 3:38 GMT+09:00 Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>: >> The 'defconfig_list' is a weird attribute. If the '.config' is >> missing, conf_read_simple() iterates over all visible defaults, >> then it uses the first one for which fopen() succeeds. >> >> config DEFCONFIG_LIST >> string >> depends on !UML >> option defconfig_list >> default "/lib/modules/$UNAME_RELEASE/.config" >> default "/etc/kernel-config" >> default "/boot/config-$UNAME_RELEASE" >> default "$ARCH_DEFCONFIG" >> default "arch/$ARCH/defconfig" >> >> However, like other symbols, the first visible default is always >> written out to the .config file. This might be different from what >> has been actually used. >> >> For example, on my machine, the third one "/boot/config-$UNAME_RELEASE" >> is opened, like follows: >> >> $ rm .config >> $ make oldconfig 2>/dev/null >> scripts/kconfig/conf --oldconfig Kconfig >> # >> # using defaults found in /boot/config-4.4.0-112-generic >> # >> * >> * Restart config... >> * >> * >> * IRQ subsystem >> * >> Expose irq internals in debugfs (GENERIC_IRQ_DEBUGFS) [N/y/?] (NEW) >> >> However, the resulted .config file contains the first one since it is >> visible: >> >> $ grep CONFIG_DEFCONFIG_LIST .config >> CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" >> >> In order to stop confusing people, prevent this CONFIG option from >> being written to the .config file. >> >> Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> >> --- > > > This one is almost trivial, so I will pick it up now. > > Ulf, do you have any comment about this one? > > > > >> I'd like to fix the root case of this weirdness later. >> (and other 'option' attributes as well) >> >> But, this series is focusing a more important work in a bigger picture. >> >> For now, I decided to just hide CONFIG_DEFCONFIG_LIST >> from the .config file. >> >> >> scripts/kconfig/menu.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c >> index 9922285..36cd3e1 100644 >> --- a/scripts/kconfig/menu.c >> +++ b/scripts/kconfig/menu.c >> @@ -212,6 +212,7 @@ void menu_add_option(int token, char *arg) >> sym_defconfig_list = current_entry->sym; >> else if (sym_defconfig_list != current_entry->sym) >> zconf_error("trying to redefine defconfig symbol"); >> + sym_defconfig_list->flags |= SYMBOL_AUTO; >> break; >> case T_OPT_ENV: >> prop_add_env(arg); >> -- >> 2.7.4 >> >> -- >> 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 Seems reasonable to me. Reviewed-by: Ulf Magnusson <ulfalizer@xxxxxxxxx> Cheers, Ulf -- 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