Re: [PATCH v3 dwarves 0/2] pahole: add BTF layout encoding feature
Alan Maguire <[email protected]> Thu, 2 Apr 2026 09:00:48 +0100
| Newsgroups | org.kernel.vger.dwarves,org.kernel.vger.bpf |
|---|---|
| Message-ID | <[email protected]> |
On 26/02/2026 08:52, Alan Maguire wrote: > A soon-to-arrive v9 series will add support to add BTF layout > information to BTF; this describes the BTF kinds known about at > time of encoding in order to support parsing even in cases where > the kinds are not known to the parser; the layout relates a > BTF kind to the amount of space it consumes via an optional single > element following the BTF type or a set of vlen-specified objects. > > This series implements the support for the BTF "layout" feature > but does not require the libbpf changes to support it; the feature > test uses a weak declaration of btf__new_empty_opts() to handle the > unsupported case. > > To test pahole with this feature, the following approach can be used; > > 1. Specify -DLIBBPF_EMBEDDED=OFF option to cmake > 2. Install latest libbpf with associated patch series with layout support > > Alternatively with embedded libbpf the changes can be applied to > the embedded libbpf in lib/bpf/src. > > Changes since v2 [1]: > > - Resynced, renamed kind_layout -> layout > - Avoid encoding layout info in split BTF since it is a waste of space > > Changes since v1 [2]: > > - Resynced with latest pahole > > [1] https://lore.kernel.org/dwarves/[email protected]/ > [2] https://lore.kernel.org/dwarves/[email protected]/ > Now that the kernel/libbpf side has landed, I'm aiming to land the pahole side shortly. We'll need to resync with libbpf when it is synced on github too, but for now it would be good to get these patches in; unless anyone objects I'll do this today. Thanks! > Alan Maguire (2): > pahole: Add "layout" BTF encoding feature > man-pages: describe layout BTF feature > > btf_encoder.c | 21 ++++++++++++++++++++- > dwarves.h | 4 ++++ > man-pages/pahole.1 | 2 ++ > pahole.c | 6 ++++++ > 4 files changed, 32 insertions(+), 1 deletion(-) >