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

From: Kees Cook
Date: Wed Apr 01 2020 - 11:49:28 EST


On Wed, Apr 01, 2020 at 05:20:58PM +0300, Slava Bacherikov 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>

Very cool; thanks! :)

Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx>

-Kees

> 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>
> 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

--
Kees Cook