[PATCH 0/5] arm-cs-trace-disasm.py/perf must accommodate non-zero DSO text offset

From: Steve Clevenger
Date: Tue Aug 20 2024 - 18:13:53 EST


From: "steve.c.clevenger.ampere" <scclevenger@xxxxxxxxxxxxxxxxxxxxxx>

Fedora 37 distributed shared binary and executable mapped files show a
zero text section offset. Starting with the Fedora 38 distribution, the
shared binary and executable mapped files show a non-zero text section
offset for some binaries. The text offset parameter is never passed into
the arm-cs-trace-disasm.py script to allow the script to adjust the
start/end address range passed to objdump. This adjustment is required
to correctly offset into the dso text section. Not doing so results in
an incorrect user instruction trace display for Fedora 38 (and later)
user trace output.

steve.c.clevenger.ampere (5):
Add dso__is_pie call to identify ELF PIE
Add dso__is_pie prototype
Force MAPPING_TYPE__IDENTIY for PIE
Add map pgoff to python dictionary based on MAPPING_TYPE
Adjust objdump start/end range per map pgoff parameter

.../scripts/python/arm-cs-trace-disasm.py | 17 +++++-
tools/perf/util/map.c | 5 +-
.../scripting-engines/trace-event-python.c | 13 ++++-
tools/perf/util/symbol-elf.c | 55 +++++++++++++++++++
tools/perf/util/symbol.h | 1 +
5 files changed, 85 insertions(+), 6 deletions(-)

--
2.25.1