perf symbols: Set the DSO long name when using symbol_conf.vmlinux_name
authorArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 3 Jun 2010 21:35:55 +0000 (18:35 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 4 Jun 2010 10:07:52 +0000 (07:07 -0300)
commite7dadc0089da730a1ba2638a1a03533be0c67f11
treefe85a16eb85cf4c2750fddb347a3fd1f69e1c6e3
parentda3fd1a0010ccc9fe6fd5ae2b9e85e1aacc03e4d
perf symbols: Set the DSO long name when using symbol_conf.vmlinux_name

We need to set the long name to the name specified via, for instance,
'perf annotate --vmlinux /path/to/vmlinux', if not it will remain as
'[kernel.kallsyms]' and that will make annotate fail when passing this
as the vmlinux name in the call to objdump.

The way this is setup grew unwieldly and dso__load_vmlinux is the
function that should allocate space for the long name, with callers not
assuming that filenames should be allocated somehow by then (strdup,
dso__build_id_filename, etc).

For now this is the minimalistic patch, a proper fix for .36 will be
made.

Reported-by: Stephane Eranian <eranian@google.com>
Tested-by: Stephane Eranian <eranian@google.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Tom Zanussi <tzanussi@gmail.com>
LKML-Reference: <20100604003900.GD10469@ghostprotocols.net>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/symbol.c