Add the option get the path of [kernel.kallsyms].
Specify '--show-kernel-path' option to use this function.
This patch enables other applications to use this output easily.
Without --show-kernel-path  option
ffffffff81467612 irq_return ([kernel.kallsyms])
ffffffff81467612 irq_return ([kernel.kallsyms])
    
7f24fc02a6b3 _start (/lib64/ld-2.14.so)
[snip]
With --show-kernel-path option
ffffffff81467612 irq_return (/lib/modules/3.2.0+/build/vmlinux)
ffffffff81467612 irq_return (/lib/modules/3.2.0+/build/vmlinux)
    
7f24fc02a6b3 _start (/lib64/ld-2.14.so)
[snip]
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: yrl.pp-manager.tt@hitachi.com
Link: http://lkml.kernel.org/r/20120130044320.2384.73322.stgit@linux3
Signed-off-by: Akihiro Nagai <akihiro.nagai.hw@hitachi.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
        It currently includes: cpu and numa topology of the host system.
        It can only be used with the perf script report mode.
 
+--show-kernel-path::
+       Try to resolve the path of [kernel.kallsyms]
+
 SEE ALSO
 --------
 linkperf:perf-record[1], linkperf:perf-script-perl[1],
 
                   "only display events for these comms"),
        OPT_BOOLEAN('I', "show-info", &show_full_info,
                    "display extended information from perf.data file"),
+       OPT_BOOLEAN('\0', "show-kernel-path", &symbol_conf.show_kernel_path,
+                   "Show the path of [kernel.kallsyms]"),
+
        OPT_END()
 };
 
 
 {
        const char *dsoname;
 
-       if (map && map->dso && map->dso->name)
-               dsoname = map->dso->name;
-       else
+       if (map && map->dso && (map->dso->name || map->dso->long_name)) {
+               if (symbol_conf.show_kernel_path && map->dso->long_name)
+                       dsoname = map->dso->long_name;
+               else if (map->dso->name)
+                       dsoname = map->dso->name;
+       } else
                dsoname = "[unknown]";
 
        return fprintf(fp, "%s", dsoname);
 
        unsigned short  priv_size;
        unsigned short  nr_events;
        bool            try_vmlinux_path,
+                       show_kernel_path,
                        use_modules,
                        sort_by_name,
                        show_nr_samples,