[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <941a15fa-0048-4c60-a3ae-fe1c00386c89@linux.dev>
Date: Fri, 5 Dec 2025 16:58:59 -0800
From: Ihor Solodrai <ihor.solodrai@...ux.dev>
To: Andrii Nakryiko <andrii.nakryiko@...il.com>
Cc: Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>, Andrii Nakryiko <andrii@...nel.org>,
Martin KaFai Lau <martin.lau@...ux.dev>, Eduard Zingerman
<eddyz87@...il.com>, Song Liu <song@...nel.org>,
Yonghong Song <yonghong.song@...ux.dev>,
John Fastabend <john.fastabend@...il.com>, KP Singh <kpsingh@...nel.org>,
Stanislav Fomichev <sdf@...ichev.me>, Hao Luo <haoluo@...gle.com>,
Jiri Olsa <jolsa@...nel.org>, Andrew Morton <akpm@...ux-foundation.org>,
Nathan Chancellor <nathan@...nel.org>, Nicolas Schier <nsc@...nel.org>,
Tejun Heo <tj@...nel.org>, David Vernet <void@...ifault.com>,
Andrea Righi <arighi@...dia.com>, Changwoo Min <changwoo@...lia.com>,
Shuah Khan <shuah@...nel.org>,
Nick Desaulniers <nick.desaulniers+lkml@...il.com>,
Bill Wendling <morbo@...gle.com>, Justin Stitt <justinstitt@...gle.com>,
Alan Maguire <alan.maguire@...cle.com>, Donglin Peng
<dolinux.peng@...il.com>, bpf@...r.kernel.org, dwarves@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-kbuild@...r.kernel.org
Subject: Re: [PATCH bpf-next v3 4/6] lib/Kconfig.debug: Set the minimum
required pahole version to v1.22
On 12/5/25 4:32 PM, Andrii Nakryiko wrote:
> On Fri, Dec 5, 2025 at 2:32 PM Ihor Solodrai <ihor.solodrai@...ux.dev> wrote:
>>
>> 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@...ux.dev>
>> ---
>> lib/Kconfig.debug | 13 ++++---------
>> scripts/Makefile.btf | 9 +--------
>> tools/sched_ext/README.md | 1 -
>> 3 files changed, 5 insertions(+), 18 deletions(-)
>>
>> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
>> index 742b23ef0d8b..3abf3ae554b6 100644
>> --- a/lib/Kconfig.debug
>> +++ b/lib/Kconfig.debug
>> @@ -389,18 +389,13 @@ config DEBUG_INFO_BTF
>> depends on !DEBUG_INFO_SPLIT && !DEBUG_INFO_REDUCED
>> depends on !GCC_PLUGIN_RANDSTRUCT || COMPILE_TEST
>> depends on BPF_SYSCALL
>> - depends on PAHOLE_VERSION >= 116
>> - depends on DEBUG_INFO_DWARF4 || PAHOLE_VERSION >= 121
>> + depends on PAHOLE_VERSION >= 122
>> # pahole uses elfutils, which does not have support for Hexagon relocations
>> depends on !HEXAGON
>> help
>> Generate deduplicated BTF type information from DWARF debug info.
>> - Turning this on requires pahole v1.16 or later (v1.21 or later to
>> - support DWARF 5), which will convert DWARF type info into equivalent
>> - deduplicated BTF type info.
>> -
>> -config PAHOLE_HAS_SPLIT_BTF
>> - def_bool PAHOLE_VERSION >= 119
>> + Turning this on requires pahole v1.22 or later, which will convert
>> + DWARF type info into equivalent deduplicated BTF type info.
>>
>> config PAHOLE_HAS_BTF_TAG
>> def_bool PAHOLE_VERSION >= 123
>> @@ -422,7 +417,7 @@ config PAHOLE_HAS_LANG_EXCLUDE
>> config DEBUG_INFO_BTF_MODULES
>> bool "Generate BTF type information for kernel modules"
>> default y
>> - depends on DEBUG_INFO_BTF && MODULES && PAHOLE_HAS_SPLIT_BTF
>> + depends on DEBUG_INFO_BTF && MODULES
>> help
>> Generate compact split BTF type information for kernel modules.
>>
>> diff --git a/scripts/Makefile.btf b/scripts/Makefile.btf
>> index db76335dd917..7c1cd6c2ff75 100644
>> --- a/scripts/Makefile.btf
>> +++ b/scripts/Makefile.btf
>> @@ -7,14 +7,7 @@ JOBS := $(patsubst -j%,%,$(filter -j%,$(MAKEFLAGS)))
>>
>> ifeq ($(call test-le, $(pahole-ver), 125),y)
>>
>> -# pahole 1.18 through 1.21 can't handle zero-sized per-CPU vars
>> -ifeq ($(call test-le, $(pahole-ver), 121),y)
>> -pahole-flags-$(call test-ge, $(pahole-ver), 118) += --skip_encoding_btf_vars
>> -endif
>> -
>> -pahole-flags-$(call test-ge, $(pahole-ver), 121) += --btf_gen_floats
>> -
>> -pahole-flags-$(call test-ge, $(pahole-ver), 122) += -j$(JOBS)
>> +pahole-flags-$(call test-ge, $(pahole-ver), 122) += --btf_gen_floats -j$(JOBS)
>
> this should be unconditional given we expect at least 1.22, no?
Yes, it can be unconditional, but still under if ver < 125.
>
>>
>> pahole-flags-$(call test-ge, $(pahole-ver), 125) += --skip_encoding_btf_inconsistent_proto --btf_gen_optimized
>>
>> diff --git a/tools/sched_ext/README.md b/tools/sched_ext/README.md
>> index 16a42e4060f6..56a9d1557ac4 100644
>> --- a/tools/sched_ext/README.md
>> +++ b/tools/sched_ext/README.md
>> @@ -65,7 +65,6 @@ It's also recommended that you also include the following Kconfig options:
>> ```
>> CONFIG_BPF_JIT_ALWAYS_ON=y
>> CONFIG_BPF_JIT_DEFAULT_ON=y
>> -CONFIG_PAHOLE_HAS_SPLIT_BTF=y
>> CONFIG_PAHOLE_HAS_BTF_TAG=y
>> ```
>>
>> --
>> 2.52.0
>>
Powered by blists - more mailing lists