[PATCH v2 09/11] build: add option KERNEL_DEBUG_INFO_BTF

Stijn Tintel stijn at linux-ipv6.be
Sun Apr 3 09:14:51 PDT 2022

From: Tony Ambardar <itugrok at yahoo.com>

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 at yahoo.com>
Signed-off-by: Felix Fietkau <nbd at nbd.name>
[split DEBUG_INFO_REDUCED into separate commit, add dependency]
Signed-off-by: Stijn Tintel <stijn at linux-ipv6.be>
 config/Config-kernel.in | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/config/Config-kernel.in b/config/Config-kernel.in
index a9f4172d7f..a5e9ef477b 100644
--- a/config/Config-kernel.in
+++ b/config/Config-kernel.in
@@ -368,6 +368,20 @@ config KERNEL_DEBUG_INFO
 	  This will compile your kernel and modules with debug information.
+	bool "Enable additional BTF type information"
+	default n
+	depends on !HOST_OS_MACOS
+	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.
 	bool "Reduce debugging information"
 	default y

More information about the openwrt-devel mailing list