[PATCH dwarves v4 0/6] btf_encoder: emit type tags for bpf_arena pointers

Ihor Solodrai
2025-02-28T19:47:03Z

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@linux.dev/
[2] https://lore.kernel.org/bpf/20250130201239.1429648-1-ihor.solodrai@linux.dev/

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@linux.dev/
v1: https://lore.kernel.org/dwarves/20250207021442.155703-1-ihor.solodrai@linux.dev/

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