Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

lib/Kconfig.debug: Set the minimum required pahole version to v1.22

Subsequent patches in the series change vmlinux linking scripts to
unconditionally pass --btf_encode_detached to pahole, which was
introduced in v1.22 [1][2].

This change allows to remove PAHOLE_HAS_SPLIT_BTF Kconfig option and
other checks of older pahole versions.

[1] https://github.com/acmel/dwarves/releases/tag/v1.22
[2] https://lore.kernel.org/bpf/cbafbf4e-9073-4383-8ee6-1353f9e5869c@oracle.com/

Signed-off-by: Ihor Solodrai <ihor.solodrai@linux.dev>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Tested-by: Alan Maguire <alan.maguire@oracle.com>
Acked-by: Eduard Zingerman <eddyz87@gmail.com>
Acked-by: Nicolas Schier <nsc@kernel.org>
Link: https://lore.kernel.org/bpf/20251219181825.1289460-1-ihor.solodrai@linux.dev

authored by

Ihor Solodrai and committed by
Andrii Nakryiko
903922cf 90e5b38a

+7 -21
+2 -2
Documentation/process/changes.rst
··· 38 38 binutils 2.30 ld -v 39 39 flex 2.5.35 flex --version 40 40 bison 2.0 bison --version 41 - pahole 1.16 pahole --version 41 + pahole 1.22 pahole --version 42 42 util-linux 2.10o mount --version 43 43 kmod 13 depmod -V 44 44 e2fsprogs 1.41.4 e2fsck -V ··· 143 143 144 144 Since Linux 5.2, if CONFIG_DEBUG_INFO_BTF is selected, the build system 145 145 generates BTF (BPF Type Format) from DWARF in vmlinux, a bit later from kernel 146 - modules as well. This requires pahole v1.16 or later. 146 + modules as well. This requires pahole v1.22 or later. 147 147 148 148 It is found in the 'dwarves' or 'pahole' distro packages or from 149 149 https://fedorapeople.org/~acme/dwarves/.
-1
Documentation/scheduler/sched-ext.rst
··· 43 43 CONFIG_DEBUG_INFO_BTF=y 44 44 CONFIG_BPF_JIT_ALWAYS_ON=y 45 45 CONFIG_BPF_JIT_DEFAULT_ON=y 46 - CONFIG_PAHOLE_HAS_SPLIT_BTF=y 47 46 CONFIG_PAHOLE_HAS_BTF_TAG=y 48 47 49 48 sched_ext is used only when the BPF scheduler is loaded and running.
+4 -9
lib/Kconfig.debug
··· 388 388 depends on !DEBUG_INFO_SPLIT && !DEBUG_INFO_REDUCED 389 389 depends on !GCC_PLUGIN_RANDSTRUCT || COMPILE_TEST 390 390 depends on BPF_SYSCALL 391 - depends on PAHOLE_VERSION >= 116 392 - depends on DEBUG_INFO_DWARF4 || PAHOLE_VERSION >= 121 391 + depends on PAHOLE_VERSION >= 122 393 392 # pahole uses elfutils, which does not have support for Hexagon relocations 394 393 depends on !HEXAGON 395 394 help 396 395 Generate deduplicated BTF type information from DWARF debug info. 397 - Turning this on requires pahole v1.16 or later (v1.21 or later to 398 - support DWARF 5), which will convert DWARF type info into equivalent 399 - deduplicated BTF type info. 400 - 401 - config PAHOLE_HAS_SPLIT_BTF 402 - def_bool PAHOLE_VERSION >= 119 396 + Turning this on requires pahole v1.22 or later, which will convert 397 + DWARF type info into equivalent deduplicated BTF type info. 403 398 404 399 config PAHOLE_HAS_BTF_TAG 405 400 def_bool PAHOLE_VERSION >= 123 ··· 416 421 config DEBUG_INFO_BTF_MODULES 417 422 bool "Generate BTF type information for kernel modules" 418 423 default y 419 - depends on DEBUG_INFO_BTF && MODULES && PAHOLE_HAS_SPLIT_BTF 424 + depends on DEBUG_INFO_BTF && MODULES 420 425 help 421 426 Generate compact split BTF type information for kernel modules. 422 427
+1 -8
scripts/Makefile.btf
··· 7 7 8 8 ifeq ($(call test-le, $(pahole-ver), 125),y) 9 9 10 - # pahole 1.18 through 1.21 can't handle zero-sized per-CPU vars 11 - ifeq ($(call test-le, $(pahole-ver), 121),y) 12 - pahole-flags-$(call test-ge, $(pahole-ver), 118) += --skip_encoding_btf_vars 13 - endif 14 - 15 - pahole-flags-$(call test-ge, $(pahole-ver), 121) += --btf_gen_floats 16 - 17 - pahole-flags-$(call test-ge, $(pahole-ver), 122) += -j$(JOBS) 10 + pahole-flags-y += --btf_gen_floats -j$(JOBS) 18 11 19 12 pahole-flags-$(call test-ge, $(pahole-ver), 125) += --skip_encoding_btf_inconsistent_proto --btf_gen_optimized 20 13
-1
tools/sched_ext/README.md
··· 65 65 ``` 66 66 CONFIG_BPF_JIT_ALWAYS_ON=y 67 67 CONFIG_BPF_JIT_DEFAULT_ON=y 68 - CONFIG_PAHOLE_HAS_SPLIT_BTF=y 69 68 CONFIG_PAHOLE_HAS_BTF_TAG=y 70 69 ``` 71 70