Messages in this thread Patch in this message |  | | From | Martin Vuille <> | Subject | [RFC PATCH 1/1] perf annotate: Don't prepend symfs path to vmlinux path | Date | Sun, 11 Feb 2018 15:32:10 -0500 |
| |
When selecting the filename to pass to objdump for disassembly, if there is no entry for vmlinux in the build-id cache then the fallback code prepends symfs path to vmlinux path. If the vmlinux option was specified, this is unnecessary and, as a result, vmlinux is not found.
Don't prepend symfs path if DSO is [kernel.kallsyms]
Signed-off-by: Martin Vuille <jpmv27@aim.com> --- tools/perf/util/annotate.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c index 425b7f0760ec..0b78cc4fb155 100644 --- a/tools/perf/util/annotate.c +++ b/tools/perf/util/annotate.c @@ -1412,7 +1412,14 @@ static int dso__disassemble_filename(struct dso *dso, char *filename, size_t fil * cache, or is just a kallsyms file, well, lets hope that this * DSO is the same as when 'perf record' ran. */ - __symbol__join_symfs(filename, filename_size, dso->long_name); + if (!strstr(dso->short_name, DSO__NAME_KALLSYMS)) + { + __symbol__join_symfs(filename, filename_size, dso->long_name); + } + else + { + scnprintf(filename, filename_size, "%s", dso->long_name); + } } free(build_id_path); -- 2.13.6
|  |