summaryrefslogtreecommitdiffstats
path: root/tools/perf/util/callchain.c
diff options
context:
space:
mode:
authorAndi Kleen <ak@linux.intel.com>2014-11-12 18:05:27 -0800
committerArnaldo Carvalho de Melo <acme@redhat.com>2014-11-24 18:03:47 -0300
commit85c116a6cb91a5c09b7a6c95ffc6a6cbd32cd237 (patch)
treeed4727c432cd2cfbd26a7e27cbed070f112d1df5 /tools/perf/util/callchain.c
parentaaba4e12a99cc56fc8614a3f2a3ec6db4fcde76e (diff)
downloadlinux-85c116a6cb91a5c09b7a6c95ffc6a6cbd32cd237.tar.gz
linux-85c116a6cb91a5c09b7a6c95ffc6a6cbd32cd237.tar.bz2
linux-85c116a6cb91a5c09b7a6c95ffc6a6cbd32cd237.zip
perf callchain: Make get_srcline fall back to sym+offset
When the source line is not found fall back to sym + offset. This is generally much more useful than a raw address. For this we need to pass in the symbol from the caller. For some callers it's awkward to compute, so we stay at the old behaviour. Signed-off-by: Andi Kleen <ak@linux.intel.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Link: http://lkml.kernel.org/r/1415844328-4884-10-git-send-email-andi@firstfloor.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/callchain.c')
-rw-r--r--tools/perf/util/callchain.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/tools/perf/util/callchain.c b/tools/perf/util/callchain.c
index b6624aeaaca9..517ed84db97a 100644
--- a/tools/perf/util/callchain.c
+++ b/tools/perf/util/callchain.c
@@ -819,7 +819,8 @@ char *callchain_list__sym_name(struct callchain_list *cl,
cl->ms.map && !cl->srcline)
cl->srcline = get_srcline(cl->ms.map->dso,
map__rip_2objdump(cl->ms.map,
- cl->ip));
+ cl->ip),
+ cl->ms.sym, false);
if (cl->srcline)
printed = scnprintf(bf, bfsize, "%s %s",
cl->ms.sym->name, cl->srcline);