[PATCH v5 0/3] perf script: Have consistent output for symbol address

Changbin Du
2023-04-18T03:19:15Z

The goal of this change is to achieve consistent output for symbol address.
Before this, the raw ip is printed for non-callchain and dso offset for
callchain. Mostly what we expect is the raw ip.

This patch does two changes:
- Always print raw ip for resolved symbols.
- Add a new 'dsoff' field if we really need the dso offset, and the
offset is appended to dso name.

v5:
o add helper map__fprintf_dsoname_dsoff() to eliminate repeated dso printing code. (Adrian)
o do not print offset for kernel dso (a.k.a [kernel.kallsyms])
v4:
o also print 'dsoff' for brstack,brstacksym,brstackoff,etc.
v3:
o 'dsoff' implys 'dso' field. (Namhyung)
v2:
o split into two patches. (Adrian)
o do not print offset for unresolved symbols. (Adrian)

Changbin Du (3):
perf script: print raw ip instead of binary offset for callchain
perf: add helper map__fprintf_dsoname_dsoff
perf: script: add new output field 'dsoff' to print dso offset

tools/perf/Documentation/perf-script.txt | 2 +-
tools/perf/builtin-script.c | 60 ++++++++++--------------
tools/perf/util/evsel_fprintf.c | 25 ++++------
tools/perf/util/evsel_fprintf.h | 1 +
tools/perf/util/map.c | 13 +++++
tools/perf/util/map.h | 1 +
6 files changed, 48 insertions(+), 54 deletions(-)

--
2.25.1