From: Paul Gortmaker <paul.gortmaker@windriver.com>
To: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Randy Dunlap <rdunlap@infradead.org>,
Ingo Molnar <mingo@kernel.org>,
Masahiro Yamada <yamada.masahiro@socionext.com>,
Michal Marek <michal.lkml@markovi.net>,
<linux-kbuild@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [Regression 4.15] Can't kill CONFIG_UNWINDER_ORC with fire or plague.
Date: Fri, 29 Dec 2017 13:18:30 -0500 [thread overview]
Message-ID: <20171229181830.GH10431@windriver.com> (raw)
In-Reply-To: <20171229164739.rgcqmam6wtno6hge@treble>
[Re: [Regression 4.15] Can't kill CONFIG_UNWINDER_ORC with fire or plague.] On 29/12/2017 (Fri 10:47) Josh Poimboeuf wrote:
> This seems to be related to a kconfig quirk where only silentoldconfig
> updates the include/config/auto.conf file. The other config targets
> (oldconfig, defconfig, etc) don't touch it. It seems intentional, but I
> have no idea why.
>
> That causes the Makefile to get stale data for 'CONFIG_*' variables when
> it includes auto.conf. So I don't think this is specific to the ORC
> check. It seems like it could also cause bugs elsewhere.
OK, good - you agree with my initial diagnosis of stale auto.conf then.
Not sure what Randy was testing when he said he couldn't reproduce it.
> The below (ugly) patch fixes it, though I'm not sure this is the best
> way to do it. We probably need Masahiro or Michal to chime in here.
Yep, that is why I intentionally put the kbuild folks on the To/Cc of
the original report (and ran away screaming at the prospect of debugging
Makefiles on xmas day). But with holidays and all, it might not be
until early January before they have a chance to reply.
Paul.
--
>
> diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
> index 297c1bf35140..3a0d92040a9c 100644
> --- a/scripts/kconfig/Makefile
> +++ b/scripts/kconfig/Makefile
> @@ -21,18 +21,23 @@ unexport CONFIG_
>
> xconfig: $(obj)/qconf
> $< $(silent) $(Kconfig)
> + $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
>
> gconfig: $(obj)/gconf
> $< $(silent) $(Kconfig)
> + $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
>
> menuconfig: $(obj)/mconf
> $< $(silent) $(Kconfig)
> + $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
>
> config: $(obj)/conf
> $< $(silent) --oldaskconfig $(Kconfig)
> + $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
>
> nconfig: $(obj)/nconf
> $< $(silent) $(Kconfig)
> + $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
>
> silentoldconfig: $(obj)/conf
> $(Q)mkdir -p include/config include/generated
> @@ -85,6 +90,7 @@ PHONY += $(simple-targets)
>
> $(simple-targets): $(obj)/conf
> $< $(silent) --$@ $(Kconfig)
> + $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
>
> PHONY += oldnoconfig savedefconfig defconfig
>
> @@ -108,9 +114,11 @@ else
> $(Q)$(MAKE) -f $(srctree)/Makefile $(KBUILD_DEFCONFIG)
> endif
> endif
> + $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
>
> %_defconfig: $(obj)/conf
> $(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig)
> + $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
>
> configfiles=$(wildcard $(srctree)/kernel/configs/$@ $(srctree)/arch/$(SRCARCH)/configs/$@)
>
> @@ -118,6 +126,7 @@ configfiles=$(wildcard $(srctree)/kernel/configs/$@ $(srctree)/arch/$(SRCARCH)/c
> $(if $(call configfiles),, $(error No configuration exists for this target on this architecture))
> $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(configfiles)
> +$(Q)yes "" | $(MAKE) -f $(srctree)/Makefile oldconfig
> + $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
>
> PHONY += kvmconfig
> kvmconfig: kvm_guest.config
> @@ -130,6 +139,7 @@ xenconfig: xen.config
> PHONY += tinyconfig
> tinyconfig:
> $(Q)$(MAKE) -f $(srctree)/Makefile allnoconfig tiny.config
> + $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
>
> # Help text used by make help
> help:
next prev parent reply other threads:[~2017-12-29 18:19 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-26 4:30 [Regression 4.15] Can't kill CONFIG_UNWINDER_ORC with fire or plague Paul Gortmaker
2017-12-28 19:29 ` Randy Dunlap
2017-12-29 2:13 ` Paul Gortmaker
2017-12-29 16:47 ` Josh Poimboeuf
2017-12-29 18:18 ` Paul Gortmaker [this message]
2017-12-29 18:40 ` vcaputo
2018-12-16 21:42 ` Paul Gortmaker
2018-12-18 4:56 ` Masahiro Yamada
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171229181830.GH10431@windriver.com \
--to=paul.gortmaker@windriver.com \
--cc=jpoimboe@redhat.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michal.lkml@markovi.net \
--cc=mingo@kernel.org \
--cc=rdunlap@infradead.org \
--cc=yamada.masahiro@socionext.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox