mbox series

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

Message ID cover.1724104248.git.scclevenger@os.amperecomputing.com (mailing list archive)
Headers show
Series arm-cs-trace-disasm.py/perf must accommodate non-zero DSO text offset | expand

Message

Steve Clevenger Aug. 20, 2024, 10:11 p.m. UTC
From: "steve.c.clevenger.ampere" <scclevenger@os.amperecomputing.com>

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(-)