Skip to content

Commit

Permalink
build: add option KERNEL_DEBUG_INFO_BTF
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
guidosarducci authored and stintel committed May 18, 2022
1 parent 44bcad2 commit 531e039
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions config/Config-kernel.in
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 531e039

Please sign in to comment.