Re: [PATCH] Fix the oldconfig target rule

From: Bernd Edlinger
Date: Sun Jul 08 2018 - 04:09:11 EST


On 07/08/18 08:31, Bernd Edlinger wrote:
> The next make after an oldconfig reads in the outdated
> include/config/auto.conf which can kill the make before
> it is able to call the syncconfig target.
>
> $ make defconfig
> *** Default configuration is based on 'x86_64_defconfig'
> $ make
> scripts/kconfig/conf --syncconfig Kconfig
> Makefile:936: *** "Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y,
> please install libelf-dev, libelf-devel or elfutils-libelf-devel". Stop.
>
> $ sed -i s/CONFIG_UNWINDER_ORC=y// .configs
> $ make oldconfig
> Choose kernel unwinder
>> 1. ORC unwinder (UNWINDER_ORC) (NEW)
> Â 2. Frame pointer unwinder (UNWINDER_FRAME_POINTER)
> choice[1-2?]: 2
> $ make
> Makefile:936: *** "Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y,
> please install libelf-dev, libelf-devel or elfutils-libelf-devel". Stop.
>
> With this patch oldconfig and similar targets like
> menuconfig call syncconfig to avoid this failure.
>
> Signed-off-by: Bernd Edlinger <bernd.edlinger@xxxxxxxxxx>
> ---
> Âscripts/kconfig/Makefile | 1 +
> Â1 file changed, 1 insertion(+)
>
> diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
> index a3ac2c9..ef34275 100644
> --- a/scripts/kconfig/Makefile
> +++ b/scripts/kconfig/Makefile
> @@ -62,6 +62,7 @@ PHONY += $(simple-targets)
>
> Â$(simple-targets): $(obj)/conf
> ÂÂÂÂ $< $(silent) --$@ $(Kconfig)
> +ÂÂÂ $(Q)$(MAKE) -f $(srctree)/Makefile syncconfig

On second thought, removing the auto.conf might be sufficient:
$(Q)rm -f include/config/auto.conf include/config/auto.conf.cmd

Would you prefer that?


>
> ÂPHONY += oldnoconfig silentoldconfig savedefconfig defconfig
>