He Kuang has described this problem at [1] that, on ARM64, perf report
output wrong symbol for a shared object.

These two patches solve this problem. The key is patch 2/2: force
adjust symbol for shared object. However, after setting
dso->adjust_symbols, map__rip_2objdump() also need to be adjust, or
perf annotate reports incorrect result. Patch 1/1 prepare this change.

[1] 
http://lkml.kernel.org/g/[email protected]

Wang Nan (2):
  perf tools: Record text offset in dso to calculate objdump address
  perf tools: Adjust symbol for shared objects

 tools/perf/util/dso.h        |  1 +
 tools/perf/util/map.c        | 14 ++++++++++++++
 tools/perf/util/symbol-elf.c | 13 +++++++------
 3 files changed, 22 insertions(+), 6 deletions(-)

Signed-off-by: Wang Nan <[email protected]>
Cc: Arnaldo Carvalho de Melo <[email protected]>
Cc: Adrian Hunter <[email protected]>
Cc: Cody P Schafer <[email protected]>
Cc: He Kuang <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Kirill Smelkov <[email protected]>
Cc: Masami Hiramatsu <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Li Zefan <[email protected]>
Cc: [email protected]

-- 
1.8.3.4

Reply via email to