Re: [patch] perf tools: fix dc8d6ab typo prohibiting perf topsymbol annotation

From: Mike Galbraith
Date: Fri Jan 22 2010 - 09:13:30 EST


On Fri, 2010-01-22 at 09:45 -0200, Arnaldo Carvalho de Melo wrote:

> So the sequence is, right now, without Kirill's patch to autofind the
> right vmlinux: one needs to specify a --vmlinux /path/to/vmlinux, and
> that, dc8d6ab, made the only file to be considered.

ala perf top -k /lib/modules/2.6.33-tip-smpx/build/vmlinux

> This means that if dso__load_vmlinux for this specified file fails, we
> won't have kernel symbols, and in my test it failed because the buildid
> for the running kernel (/sys/kernel/notesr) didn't match the one in the
> specified vmlinux file...

(gdb) s
1602 if (symbol_conf.vmlinux_name != NULL) {
(gdb) s
1603 err = dso__load_vmlinux(self, map, session,
(gdb) print symbol_conf.vmlinux_name
$1 = 0x7fffffffe21e "/lib/modules/2.6.33-tip-smpx/build/vmlinux"
(gdb) s
dso__load_vmlinux (self=0xecf480, map=0xecf590, session=0xecf2f0,
vmlinux=0x7fffffffe21e "/lib/modules/2.6.33-tip-smpx/build/vmlinux", filter=0x4341ea <symbol_filter>)
at util/symbol.c:1543
1543 {
(gdb) fin
Run till exit from #0 dso__load_vmlinux (self=0xecf480, map=0xecf590, session=0xecf2f0,
vmlinux=0x7fffffffe21e "/lib/modules/2.6.33-tip-smpx/build/vmlinux", filter=0x4341ea <symbol_filter>)
at util/symbol.c:1543
0x000000000044e61f in dso__load_kernel_sym (self=0xecf480, map=0xecf590, session=0xecf2f0, filter=0x4341ea <symbol_filter>)
at util/symbol.c:1603
1603 err = dso__load_vmlinux(self, map, session,
Value returned is $2 = 15008
(gdb)

Not failing here, but we jump down to out_try_fixup, and since
kallsyms_filename is NULL, change name to [kernel.kallsyms], and
TheBadThing follows, which made me think this was supposed to be an
error path. Jumping to that conclusion made the bad thing go away :)

-Mike

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/