perf trace: Print unresolved symbol names as addresses
authorArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 12 Apr 2016 01:08:55 +0000 (22:08 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 12 Apr 2016 01:18:25 +0000 (22:18 -0300)
Instead of having "[unknown]" as the name used for unresolved symbols,
use the address in the callchain, in hexadecimal form:

  28.801 ( 0.007 ms): qemu-system-x8/10065 ppoll(ufds: 0x55c98b39e400, nfds: 72, tsp: 0x7fffe4e4fe60, sigsetsize: 8) = 0 Timeout
                                     ppoll+0x91 (/usr/lib64/libc-2.22.so)
                                     [0x337309] (/usr/bin/qemu-system-x86_64)
                                     [0x336ab4] (/usr/bin/qemu-system-x86_64)
                                     main+0x1724 (/usr/bin/qemu-system-x86_64)
                                     __libc_start_main+0xf0 (/usr/lib64/libc-2.22.so)
                                     [0xc59a9] (/usr/bin/qemu-system-x86_64)
  35.265 (14.805 ms): gnome-shell/2287  ... [continued]: poll()) = 1
                                     [0xf6fdd] (/usr/lib64/libc-2.22.so)
                                     g_main_context_iterate.isra.29+0x17c (/usr/lib64/libglib-2.0.so.0.4600.2)
                                     g_main_loop_run+0xc2 (/usr/lib64/libglib-2.0.so.0.4600.2)
                                     meta_run+0x2c (/usr/lib64/libmutter.so.0.0.0)
                                     main+0x3f7 (/usr/bin/gnome-shell)
                                     __libc_start_main+0xf0 (/usr/lib64/libc-2.22.so)
                                     [0x2909] (/usr/bin/gnome-shell)

Suggested-by: Milian Wolff <milian.wolff@kdab.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/n/tip-fja1ods5vqpg42mdz09xcz3r@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-trace.c

index 60ab7ce3bc90ddcff9763db3f349aad31ffcd0f1..2ec53edcf6492e97bff4fbba8609f8e5e1c600bd 100644 (file)
@@ -2196,8 +2196,9 @@ signed_print:
        if (sample->callchain) {
                struct addr_location al;
                /* TODO: user-configurable print_opts */
-               const unsigned int print_opts = PRINT_IP_OPT_SYM
-                                             | PRINT_IP_OPT_DSO;
+               const unsigned int print_opts = PRINT_IP_OPT_SYM |
+                                               PRINT_IP_OPT_DSO |
+                                               PRINT_IP_OPT_UNKNOWN_AS_ADDR;
 
                if (machine__resolve(trace->host, &al, sample) < 0) {
                        pr_err("problem processing %d event, skipping it.\n",