perf symbols: Look for vmlinux in more places
Now that we can check the buildid to see if it really matches,
this can be done safely:
vmlinux
/boot/vmlinux
/boot/vmlinux-<uts.release>
/lib/modules/<uts.release>/build/vmlinux
/usr/lib/debug/lib/modules/%s/vmlinux
More can be added - if you know about distros that put the
vmlinux somewhere else please let us know.
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
LKML-Reference: <1259001550-8194-1-git-send-email-acme@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index ea49c2e..eef9caa 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -79,6 +79,7 @@
static bool hide_kernel_symbols = false;
static bool hide_user_symbols = false;
static struct winsize winsize;
+const char *vmlinux_name;
static const char *graph_line =
"_____________________________________________________________________"
"_____________________________________________________________________";
@@ -1341,7 +1342,7 @@
if (delay_secs < 1)
delay_secs = 1;
- err = kernel_maps__init(true);
+ err = kernel_maps__init(vmlinux_name, !vmlinux_name, true);
if (err < 0)
return err;
parse_source(sym_filter_entry);