diff options
author | Ingo Molnar <mingo@kernel.org> | 2018-10-09 07:21:19 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2018-10-09 07:21:19 +0200 |
commit | 6364cb2218348cd5fba975e1ab5b7f37dee9adc4 (patch) | |
tree | eab939eecff51b51f0c4a67aedc9447447f1a2fe /tools/perf/util | |
parent | 7c5314b88da6d5af98239786772a1c44cc5eb67d (diff) | |
parent | c1883f10cfe05c707cce46d6999411c50a2413ca (diff) | |
download | linux-6364cb2218348cd5fba975e1ab5b7f37dee9adc4.tar.bz2 |
Merge branch 'perf/urgent' into perf/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/perf/util')
-rw-r--r-- | tools/perf/util/machine.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c index c4acd2001db0..111ae858cbcb 100644 --- a/tools/perf/util/machine.c +++ b/tools/perf/util/machine.c @@ -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) { @@ -2312,7 +2313,7 @@ static int unwind_entry(struct unwind_entry *entry, void *arg) { struct callchain_cursor *cursor = arg; const char *srcline = NULL; - u64 addr; + u64 addr = entry->ip; if (symbol_conf.hide_unresolved && entry->sym == NULL) return 0; @@ -2324,7 +2325,8 @@ static int unwind_entry(struct unwind_entry *entry, void *arg) * Convert entry->ip from a virtual address to an offset in * its corresponding binary. */ - addr = map__map_ip(entry->map, entry->ip); + if (entry->map) + addr = map__map_ip(entry->map, entry->ip); srcline = callchain_srcline(entry->map, entry->sym, addr); return callchain_cursor_append(cursor, entry->ip, |