perf scripts python arm-cs-trace-disasm.py: Set start vm addr of exectable file to 0
authorRuidong Tian <tianruidong@linux.alibaba.com>
Thu, 14 Dec 2023 12:33:03 +0000 (20:33 +0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 20 Dec 2023 17:31:34 +0000 (14:31 -0300)
For exectable ELF file, which e_type is ET_EXEC, dso start address is a
absolute address other than offset. Just set vm_start to zero when dso
start is 0x400000, which means it is a exectable file.

Reviewed-by: James Clark <james.clark@arm.com>
Signed-off-by: Ruidong Tian <tianruidong@linux.alibaba.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Al Grant <al.grant@arm.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Leo Yan <leo.yan@linaro.org>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Mike Leach <mike.leach@linaro.org>
Cc: Suzuki Poulouse <suzuki.poulose@arm.com>
Cc: Tor Jeremiassen <tor@ti.com>
Link: https://lore.kernel.org/r/20231214123304.34087-3-tianruidong@linux.alibaba.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/scripts/python/arm-cs-trace-disasm.py

index de58991c78bb41fa895e888d3516a5d652517adf..e33aee5c78d72c1c59109c3325bb41b5ad35f0ad 100755 (executable)
@@ -258,8 +258,9 @@ def process_event(param_dict):
 
        if (options.objdump_name != None):
                # It doesn't need to decrease virtual memory offset for disassembly
-               # for kernel dso, so in this case we set vm_start to zero.
-               if (dso == "[kernel.kallsyms]"):
+               # for kernel dso and executable file dso, so in this case we set
+               # vm_start to zero.
+               if (dso == "[kernel.kallsyms]" or dso_start == 0x400000):
                        dso_vm_start = 0
                else:
                        dso_vm_start = int(dso_start)