diff options
author | Krister Johansen <kjlx@templeofstupid.com> | 2017-07-05 21:48:13 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2017-07-18 22:14:11 -0400 |
commit | d2396999c998b4e0006aef247e154eff0ed3d8f9 (patch) | |
tree | 658c4ed597053aba645ec22926541fb9014b3907 /tools/perf/util/annotate.c | |
parent | f045b8c4b36baddcfbdd4d3d956446e688b0b3cd (diff) |
perf buildid-cache: Cache debuginfo
If a stripped binary is placed in the cache, the user is in a situation
where there's a cached elf file present, but it doesn't have any symtab
to use for name resolution. Grab the debuginfo for binaries that don't
end in .ko. This yields a better chance of resolving symbols from older
traces.
Signed-off-by: Krister Johansen <kjlx@templeofstupid.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas-Mich Richter <tmricht@linux.vnet.ibm.com>
Link: http://lkml.kernel.org/r/1499305693-1599-7-git-send-email-kjlx@templeofstupid.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/annotate.c')
-rw-r--r-- | tools/perf/util/annotate.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c index ef434b53d849..1742510f0120 100644 --- a/tools/perf/util/annotate.c +++ b/tools/perf/util/annotate.c | |||
@@ -1347,7 +1347,7 @@ static int dso__disassemble_filename(struct dso *dso, char *filename, size_t fil | |||
1347 | !dso__is_kcore(dso)) | 1347 | !dso__is_kcore(dso)) |
1348 | return SYMBOL_ANNOTATE_ERRNO__NO_VMLINUX; | 1348 | return SYMBOL_ANNOTATE_ERRNO__NO_VMLINUX; |
1349 | 1349 | ||
1350 | build_id_filename = dso__build_id_filename(dso, NULL, 0); | 1350 | build_id_filename = dso__build_id_filename(dso, NULL, 0, false); |
1351 | if (build_id_filename) { | 1351 | if (build_id_filename) { |
1352 | __symbol__join_symfs(filename, filename_size, build_id_filename); | 1352 | __symbol__join_symfs(filename, filename_size, build_id_filename); |
1353 | free(build_id_filename); | 1353 | free(build_id_filename); |