]> Git Repo - linux.git/commitdiff
perf record: Use unmapped IP for inline callchain cursors
authorMilian Wolff <[email protected]>
Wed, 26 Sep 2018 13:52:06 +0000 (15:52 +0200)
committerArnaldo Carvalho de Melo <[email protected]>
Fri, 5 Oct 2018 14:18:09 +0000 (11:18 -0300)
Only use the mapped IP to find inline frames, but keep using the
unmapped IP for the callchain cursor. This ensures we properly show the
unmapped IP when displaying a frame we received via the
dso__parse_addr_inlines API for a module which does not contain
sufficient debug symbols to show the srcline.

This is another follow-up to commit 19610184693c ("perf script: Show
virtual addresses instead of offsets").

Signed-off-by: Milian Wolff <[email protected]>
Acked-by: Jiri Olsa <[email protected]>
Tested-by: Ravi Bangoria <[email protected]>
Tested-by: Arnaldo Carvalho de Melo <[email protected]>
Cc: Jin Yao <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Sandipan Das <[email protected]>
Fixes: 19610184693c ("perf script: Show virtual addresses instead of offsets")
Link: http://lkml.kernel.org/r/[email protected]
Link: http://lkml.kernel.org/r/[email protected]
[ Squashed a fix from Milian for a problem reported by Ravi, fixed up space damage ]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
tools/perf/util/machine.c

index 0cb4f8bf3ca7f38d6f0b5df2bc599a8c9f1ed1c4..111ae858cbcbdff402b140c5761f9e29107dc83c 100644 (file)
@@ -2286,7 +2286,8 @@ static int append_inlines(struct callchain_cursor *cursor,
        if (!symbol_conf.inline_name || !map || !sym)
                return ret;
 
-       addr = map__rip_2objdump(map, ip);
+       addr = map__map_ip(map, ip);
+       addr = map__rip_2objdump(map, addr);
 
        inline_node = inlines__tree_find(&map->dso->inlined_nodes, addr);
        if (!inline_node) {
This page took 0.063823 seconds and 4 git commands to generate.