Re: [PATCHES v2 0/7] Initial support for some Rust tags + way to ask for CU merging at load time

From: Arnaldo Carvalho de Melo

Date: Thu Jun 18 2026 - 13:33:43 EST


On Thu, Jun 18, 2026 at 12:15:59PM -0300, Arnaldo Carvalho de Melo wrote:
> Hi,
>
> Here is a series with some initial support for some Rust DWARF
> tags and a way to ask for CUs to be merged just like we do for LTO to
> cope with inter CU tag references.

Sorry Namhyung, used the wrong send mail script :-\ This one should have
been sent to the pahole mailing list, doing that now.

- Arnaldo

> This makes one of the regression tests to pass again as perf now
> has some rust source files and thus Rust CUs in a perf binary built with
> DWARF, which is used to test pahole's pretty printing features, where it
> uses the DWARF in a perf binary to decode perf.data records.
>
> Now this is implemented as --features=force_cu_merging,
> following a suggestion from Alan, so that we can ask for this, that
> albeit not optimal is a way to handle Rust and other cases that may need
> this CU merging approach while we don't have something that works in
> parallel as without this option.
>
> - Arnaldo
>
> Arnaldo Carvalho de Melo (7):
> dwarf_loader: Initial support for DW_TAG_variant_part
> dwarf_loader: Allow forcing the merge of CUs for solving inter CU tag
> references
> dwarf_loader: Initial support for DW_TAG_subprogram in
> DW_TAG_enumeration
> encoders: Fix diagnostic messages for unexpected tags in enumerations
> dwarves_fprintf: Accumulate function__fprintf return value in
> enumeration printing
> dwarves: Use tag__delete for enumeration children
> btf_encoder: Remove unused variables
>
> btf_encoder.c | 17 ++++++----
> ctf_encoder.c | 16 ++++++---
> dwarf_loader.c | 67 +++++++++++++++++++++++++++++++------
> dwarves.c | 35 +++++++++++++++----
> dwarves.h | 19 ++++++++++-
> dwarves_emit.c | 10 +++---
> dwarves_fprintf.c | 44 +++++++++++++++++-------
> man-pages/pahole.1 | 17 ++++++++--
> pahole.c | 20 ++++++++---
> tests/prettify_perf.data.sh | 4 +--
> 10 files changed, 195 insertions(+), 54 deletions(-)
>
> --
> 2.54.0