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

Arnaldo Carvalho de Melo <[email protected]> Thu, 18 Jun 2026 14:33:09 -0300
Newsgroups org.kernel.vger.dwarves
Message-ID <[email protected]>
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.

        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