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>
This commit is contained in:
Arnaldo Carvalho de Melo
2009-11-23 16:39:10 -02:00
committed by Ingo Molnar
parent 1b290d670f
commit cc612d8199
11 changed files with 122 additions and 23 deletions

View File

@ -37,6 +37,7 @@ static bool use_modules;
static unsigned long page_size;
static unsigned long mmap_window = 32;
const char *vmlinux_name;
struct sym_hist {
u64 sum;
@ -637,7 +638,7 @@ static int __cmd_annotate(void)
exit(0);
}
if (kernel_maps__init(use_modules) < 0) {
if (kernel_maps__init(vmlinux_name, true, use_modules) < 0) {
pr_err("failed to create kernel maps for symbol resolution\b");
return -1;
}