[PATCH v5 bpf] kbuild: fix dependencies for DEBUG_INFO_BTF

From: Slava Bacherikov
Date: Thu Apr 02 2020 - 16:42:43 EST


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 | 2 ++
1 file changed, 2 insertions(+)

diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index f61d834e02fe..6118d99117da 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -223,6 +223,8 @@ config DEBUG_INFO_DWARF4
config DEBUG_INFO_BTF
bool "Generate BTF typeinfo"
depends on DEBUG_INFO
+ 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