OSDN Git Service

perf symbols: Add path to Ubuntu kernel debuginfo file
authorAnton Blanchard <anton@samba.org>
Mon, 15 Sep 2014 19:57:56 +0000 (16:57 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 17 Sep 2014 20:08:10 +0000 (17:08 -0300)
Ubuntu places the kernel debuginfo in /usr/lib/debug/boot/vmlinux-*

Signed-off-by: Anton Blanchard <anton@samba.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/n/tip-`ranpwd
Link: http://lkml.kernel.org/r/20140909091152.2698c0f7@kryten
[ Adapted it to use the perf.data file kernel version as in 0a7e6d1b6844 ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/symbol.c

index 1adb143..be84f7a 100644 (file)
@@ -1757,7 +1757,7 @@ static int vmlinux_path__init(struct perf_session_env *env)
        char bf[PATH_MAX];
        char *kernel_version;
 
-       vmlinux_path = malloc(sizeof(char *) * 5);
+       vmlinux_path = malloc(sizeof(char *) * 6);
        if (vmlinux_path == NULL)
                return -1;
 
@@ -1788,6 +1788,12 @@ static int vmlinux_path__init(struct perf_session_env *env)
        if (vmlinux_path[vmlinux_path__nr_entries] == NULL)
                goto out_fail;
        ++vmlinux_path__nr_entries;
+       snprintf(bf, sizeof(bf), "/usr/lib/debug/boot/vmlinux-%s",
+                kernel_version);
+       vmlinux_path[vmlinux_path__nr_entries] = strdup(bf);
+       if (vmlinux_path[vmlinux_path__nr_entries] == NULL)
+               goto out_fail;
+        ++vmlinux_path__nr_entries;
        snprintf(bf, sizeof(bf), "/lib/modules/%s/build/vmlinux", kernel_version);
        vmlinux_path[vmlinux_path__nr_entries] = strdup(bf);
        if (vmlinux_path[vmlinux_path__nr_entries] == NULL)