[PATCH] kbuild: error for CONFIG_ORC_UNWINDER is too much
From: Qian Cai
Date: Mon Dec 17 2018 - 11:17:50 EST
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,
* make sure none of libelf-dev, libelf-devel or elfutils-libelf-devel
installed.
# make distclean
* generate a default .config where CONFIG_UNWINDER_ORC is enabled by
default.
# make menuconfig (exit -> save)
# grep CONFIG_UNWINDER_ORC .config
CONFIG_UNWINDER_ORC=y
# make menuconfig (deselect CONFIG_UNWINDER_ORC)
# grep CONFIG_UNWINDER_ORC .config
# CONFIG_UNWINDER_ORC is not set
# make
Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install
libelf-dev, libelf-devel or elfutils-libelf-devel
# grep CONFIG_UNWINDER_ORC include/config/auto.conf
CONFIG_UNWINDER_ORC=y
Fixes: 3dd40cb320f (objtool: Upgrade libelf-devel warning to error for
CONFIG_ORC_UNWINDER)
Signed-off-by: Qian Cai <cai@xxxxxx>
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 56d5270f22f8..eeb4ec49d393 100644
--- a/Makefile
+++ b/Makefile
@@ -963,7 +963,7 @@ ifdef CONFIG_STACK_VALIDATION
objtool_target := tools/objtool FORCE
else
ifdef CONFIG_UNWINDER_ORC
- $(error "Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel")
+ $(warning "Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel")
else
$(warning "Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel")
endif
--
2.17.2 (Apple Git-113)