[PATCH 0/3] Initial support for some Rust tags + way to ask for CU merging at load time

Arnaldo Carvalho de Melo <[email protected]> Mon, 23 Mar 2026 18:15:30 -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.

	As mentioned in the man page, this is hackish, to properly
support LTO, rust, and any inter-CU references we need to yet again
rethink how we do DWARF parallel loading, perhaps leaving the recoding
of ids to be a last step, using a common hash for types to be used at
the recoding of ids, etc, but for now reusing the existing merging of
CUs in such cases provides a workaround.

- Arnaldo

Arnaldo Carvalho de Melo (3):
  dwarf_loader: Initial support for DW_TAG_variant_part
  dwarf_loader: Initial support for DW_TAG_subprogram in
    DW_TAG_enumeration
  dwarf_loader: Allow forcing the merge of CUs for solving inter CU tag
    references

 dwarf_loader.c              | 66 +++++++++++++++++++++++++++++++------
 dwarves.c                   |  6 ++++
 dwarves.h                   |  8 +++++
 man-pages/pahole.1          | 12 +++++++
 pahole.c                    |  8 +++++
 tests/prettify_perf.data.sh |  4 +--
 6 files changed, 92 insertions(+), 12 deletions(-)

-- 
2.53.0