Re: [PATCH v5 bpf] kbuild: fix dependencies for DEBUG_INFO_BTF

From: Andrii Nakryiko
Date: Thu Apr 02 2020 - 17:03:11 EST


On Thu, Apr 2, 2020 at 1:44 PM Slava Bacherikov <slava@xxxxxxxxxxxx> wrote:
>
> 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

Given what Kees explained, I think this looks good. Thanks!

> help
> Generate deduplicated BTF type information from DWARF debug info.
> Turning this on expects presence of pahole tool, which will convert