Re: [PATCH] kbuild: error for CONFIG_ORC_UNWINDER is too much

From: Qian Cai
Date: Mon Dec 17 2018 - 13:12:06 EST


On Mon, 2018-12-17 at 11:49 -0600, Josh Poimboeuf wrote:
> On Mon, Dec 17, 2018 at 12:13:59PM -0500, Qian Cai wrote:
> > On Mon, 2018-12-17 at 11:03 -0600, Josh Poimboeuf wrote:
> > > On Mon, Dec 17, 2018 at 11:17:28AM -0500, Qian Cai wrote:
> > > > Since ifdef will be evaluated immediately in the first phrase of the
> > > > Makefile read-in, there is no guarantee that the value for
> > > > CONFIG_ORC_UNWINDER will be up-to-date until in the second phrase that
> > > > this recipe is ran.
> > > >
> > > > include/config/%.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd
> > > > $(Q)$(MAKE) -f $(srctree)/Makefile syncconfig
> > > >
> > > > Hence, change error to warning as this is essentially a best guess. The
> > > > original bug can be reproduced this way,
> > >
> > > But this still doesn't fix the root of the problem, that the check
> > > relies on a stale auto.conf.
> > >
> >
> > Yes, but it at least let people to be able to continue compiling kernel
> > without
> > prematurely being terminated incorrectly. The good thing is that that check
> > will
> > be triggered again to print out the right message once auto.conf has been
> > synced
> > up.
> >
> > # make
> > Makefile:966: "Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y,
> > please
> > install libelf-dev, libelf-devel or elfutils-libelf-devel"
> > Â HOSTCCÂÂscripts/kconfig/conf.o
> > Â HOSTLDÂÂscripts/kconfig/conf
> > scripts/kconfig/confÂÂ--syncconfig Kconfig
> > Makefile:968: "Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-
> > dev,
> > libelf-devel or elfutils-libelf-devel"
>
> Instead of giving false (or silent) warnings, why not just fix the real
> problem?

The purpose of this patch here is to fix or revert the regression introduced by
3dd40cb320f (objtool: Upgrade libelf-devel warning to error for
CONFIG_ORC_UNWINDER).

>
> Also the error exists for a reason: if the user misses the warning then
> the ORC unwinder is broken and oops stack dumps are much less useful.
>

This is a separate issue. I am all ears if anyone has a better ideal to fix both
issues at the same time.