Currently turning on DEBUG_INFO_SPLIT when DEBUG_INFO_BTF is also enabled will produce invalid btf file, since gen_btf function in link-vmlinux.sh script doesn't handle *.dwo files. Enabling DEBUG_INFO_REDUCED will also produce invalid btf file, and using GCC_PLUGIN_RANDSTRUCT with BTF makes no sense. Signed-off-by: Slava Bacherikov <slava@xxxxxxxxxxxx> Reported-by: Jann Horn <jannh@xxxxxxxxxx> Reported-by: Liu Yiding <liuyd.fnst@xxxxxxxxxxxxxx> Acked-by: KP Singh <kpsingh@xxxxxxxxxx> Acked-by: Andrii Nakryiko <andriin@xxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Fixes: e83b9f55448a ("kbuild: add ability to generate BTF type info for vmlinux") --- lib/Kconfig.debug | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index f61d834e02fe..b94227be2d62 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -222,7 +222,9 @@ config DEBUG_INFO_DWARF4 config DEBUG_INFO_BTF bool "Generate BTF typeinfo" - depends on DEBUG_INFO + depends on DEBUG_INFO || COMPILE_TEST + depends on !DEBUG_INFO_SPLIT && !DEBUG_INFO_REDUCED + depends on !GCC_PLUGIN_RANDSTRUCT || COMPILE_TEST help Generate deduplicated BTF type information from DWARF debug info. Turning this on expects presence of pahole tool, which will convert