This patch series implements emitting appropriate BTF type tags for argument and return types of kfuncs marked with KF_ARENA_* flags. For additional context see the description of BPF patch "bpf: define KF_ARENA_* flags for bpf_arena kfuncs" [1]. The feature depends on recent changes in libbpf [2]. [1] https://lore.kernel.org/bpf/20250206003148.2308659-1-ihor.solodrai@xxxxxxxxx/ [2] https://lore.kernel.org/bpf/20250130201239.1429648-1-ihor.solodrai@xxxxxxxxx/ v3->v4: * Add a patch (#2) replacing compile-time libbpf version checks with runtime checks for symbol availablility * Add a patch (#3) bumping libbpf submodule commit to latest master * Modify "btf_encoder: emit type tags for bpf_arena pointers" (#2->#4) to not use compile time libbpf version checks v2->v3: * Nits in patch #1 v1->v2: * Rewrite patch #1 refactoring btf_encoder__tag_kfuncs(): now the post-processing step is removed entirely, and kfuncs are tagged in btf_encoder__add_func(). * Nits and renames in patch #2 * Add patch #4 editing man pages v2: https://lore.kernel.org/dwarves/20250212201552.1431219-1-ihor.solodrai@xxxxxxxxx/ v1: https://lore.kernel.org/dwarves/20250207021442.155703-1-ihor.solodrai@xxxxxxxxx/ Ihor Solodrai (6): btf_encoder: refactor btf_encoder__tag_kfuncs() btf_encoder: use __weak declarations of version-dependent libbpf API pahole: sync with libbpf mainline btf_encoder: emit type tags for bpf_arena pointers pahole: introduce --btf_feature=attributes man-pages: describe attributes and remove reproducible_build btf_encoder.c | 328 ++++++++++++++++++++++----------------------- dwarves.h | 13 +- lib/bpf | 2 +- man-pages/pahole.1 | 7 +- pahole.c | 11 +- 5 files changed, 188 insertions(+), 173 deletions(-) -- 2.48.1