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? 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. -- Josh