[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20180211203210.12738-2-jpmv27@aim.com>
Date: Sun, 11 Feb 2018 15:32:10 -0500
From: Martin Vuille <jpmv27@....com>
To: Arnaldo Carvalho de Melo <acme@...hat.com>
Cc: linux-perf-users@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [RFC PATCH 1/1] perf annotate: Don't prepend symfs path to vmlinux path
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@....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
Powered by blists - more mailing lists