[PATCH v1 0/6] Use rustc-demangle for Rust demangling

Ian Rogers posted 6 patches 5 months, 4 weeks ago
There is a newer version of this series
tools/perf/tests/Build                   |    1 +
tools/perf/tests/builtin-test.c          |    1 +
tools/perf/tests/demangle-java-test.c    |   17 +-
tools/perf/tests/demangle-ocaml-test.c   |    7 +-
tools/perf/tests/demangle-rust-v0-test.c |   74 +
tools/perf/tests/tests.h                 |    1 +
tools/perf/util/Build                    |    5 +-
tools/perf/util/demangle-rust-v0.c       | 2035 ++++++++++++++++++++++
tools/perf/util/demangle-rust-v0.h       |   81 +
tools/perf/util/demangle-rust.c          |  269 ---
tools/perf/util/demangle-rust.h          |    8 -
tools/perf/util/symbol-elf.c             |   49 +-
12 files changed, 2243 insertions(+), 305 deletions(-)
create mode 100644 tools/perf/tests/demangle-rust-v0-test.c
create mode 100644 tools/perf/util/demangle-rust-v0.c
create mode 100644 tools/perf/util/demangle-rust-v0.h
delete mode 100644 tools/perf/util/demangle-rust.c
delete mode 100644 tools/perf/util/demangle-rust.h
[PATCH v1 0/6] Use rustc-demangle for Rust demangling
Posted by Ian Rogers 5 months, 4 weeks ago
Discussion of improved Rust demangling started with:
https://lore.kernel.org/lkml/jgxfnphfo3nzlfipnuuzdlfc4ehbr2tnh2evz3mdhynd6wvrsu@fcz6vrvepybb/
that led to implementing a Rust v0 demangler:
https://lore.kernel.org/lkml/20250129193037.573431-1-irogers@google.com/
Discussion on that patch series led to the rust-lang issue:
https://github.com/rust-lang/rust/issues/60705
where the pre-existing Rust C demangler, authored by
github.com/arielb1, was mentioned. There wasn't progress on that issue
and so I've pulled that work into perf as discussed on the issue.

Ian Rogers (6):
  perf demangle-rust: Add rustc-demangle C demangler
  perf symbol-elf: Integrate rust-v0 demangling
  perf demangle-rust: Remove previous legacy rust decoder
  perf test demangle-rust: Add Rust demangling test
  perf test demangle-java: Switch to using dso__demangle_sym
  perf test demangle-ocaml: Switch to using dso__demangle_sym

 tools/perf/tests/Build                   |    1 +
 tools/perf/tests/builtin-test.c          |    1 +
 tools/perf/tests/demangle-java-test.c    |   17 +-
 tools/perf/tests/demangle-ocaml-test.c   |    7 +-
 tools/perf/tests/demangle-rust-v0-test.c |   74 +
 tools/perf/tests/tests.h                 |    1 +
 tools/perf/util/Build                    |    5 +-
 tools/perf/util/demangle-rust-v0.c       | 2035 ++++++++++++++++++++++
 tools/perf/util/demangle-rust-v0.h       |   81 +
 tools/perf/util/demangle-rust.c          |  269 ---
 tools/perf/util/demangle-rust.h          |    8 -
 tools/perf/util/symbol-elf.c             |   49 +-
 12 files changed, 2243 insertions(+), 305 deletions(-)
 create mode 100644 tools/perf/tests/demangle-rust-v0-test.c
 create mode 100644 tools/perf/util/demangle-rust-v0.c
 create mode 100644 tools/perf/util/demangle-rust-v0.h
 delete mode 100644 tools/perf/util/demangle-rust.c
 delete mode 100644 tools/perf/util/demangle-rust.h

-- 
2.49.0.901.g37484f566f-goog