build: add option KERNEL_DEBUG_INFO_BTF
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>
This commit is contained in:
		 Tony Ambardar
					Tony Ambardar
				
			
				
					committed by
					
						 Stijn Tintel
						Stijn Tintel
					
				
			
			
				
	
			
			
			 Stijn Tintel
						Stijn Tintel
					
				
			
						parent
						
							44bcad24b6
						
					
				
				
					commit
					531e0399cd
				
			| @@ -373,6 +373,20 @@ config KERNEL_DEBUG_INFO | |||||||
| 	help | 	help | ||||||
| 	  This will compile your kernel and modules with debug information. | 	  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 | config KERNEL_DEBUG_INFO_REDUCED | ||||||
| 	bool "Reduce debugging information" | 	bool "Reduce debugging information" | ||||||
| 	default y | 	default y | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user