build: add option KERNEL_DEBUG_INFO_BTF
authorTony Ambardar <itugrok@yahoo.com>
Sun, 26 Jul 2020 14:51:34 +0000 (07:51 -0700)
committerStijn Tintel <stijn@linux-ipv6.be>
Mon, 28 Mar 2022 11:58:33 +0000 (14:58 +0300)
Generate BTF (BPF Type Format) information from DWARF debug info. This is
embedded in the kernel and exported via sysfs as /sys/kernel/btf/vmlinux.
BTF data enhances kernel portability and introspection for BPF programs.

Selecting this also enables the dwarves host package which provides the
pahole tool used for BTF encoding.

Test using: "bpftool btf dump file /sys/kernel/btf/vmlinux format c"

This needs to depend on KERNEL_DEBUG_INFO_REDUCED not being set,
otherwise we can enable both KERNEL_DEBUG_INFO_BTF and
KERNEL_DEBUG_INFO_REDUCED, which will result in undefined behaviour.

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
[split DEBUG_INFO_REDUCED into separate commit, add dependency]
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
config/Config-kernel.in

index 6ba40e15fd1b47993acf91f445a3036232220647..06619fcbb2ce083514be18d96a1d3b85c131b988 100644 (file)
@@ -368,6 +368,20 @@ config KERNEL_DEBUG_INFO
        help
          This will compile your kernel and modules with debug information.
 
+config KERNEL_DEBUG_INFO_BTF
+
+       bool "Enable additional BTF type information"
+       default n
+       depends on !HOST_OS_MACOS
+       depends on KERNEL_DEBUG_INFO && !KERNEL_DEBUG_INFO_REDUCED
+       select DWARVES
+       help
+         Generate BPF Type Format (BTF) information from DWARF debug info.
+         Turning this on expects presence of pahole tool, which will convert
+         DWARF type info into equivalent deduplicated BTF type info.
+
+         Required to run BPF CO-RE applications.
+
 config KERNEL_DEBUG_INFO_REDUCED
        bool "Reduce debugging information"
        default y