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>
Wed, 18 May 2022 10:32:06 +0000 (13:32 +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 e146107148b1f0721863175aaaad7daa5270a281..1a3f6a8bdc2f060e6b531b0e5a4465a60cd85204 100644 (file)
@@ -373,6 +373,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