perf annotate: Add --demangle and --demangle-kernel
authorMartin Liška <mliska@suse.cz>
Tue, 30 Mar 2021 18:33:55 +0000 (20:33 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 31 Mar 2021 13:39:48 +0000 (10:39 -0300)
'perf annotate' supports --symbol but it's impossible to filter a C++
symbol. With --no-demangle one can filter easily by mangled function
name.

Signed-off-by: Martin Liška <mliska@suse.cz>
Link: http://lore.kernel.org/lkml/c3c7e959-9f7f-18e2-e795-f604275cbac3@suse.cz
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/Documentation/perf-annotate.txt
tools/perf/builtin-annotate.c

index 1b5042f..80c1be5 100644 (file)
@@ -124,6 +124,13 @@ OPTIONS
 --group::
        Show event group information together
 
+--demangle::
+       Demangle symbol names to human readable form. It's enabled by default,
+       disable with --no-demangle.
+
+--demangle-kernel::
+       Demangle kernel symbol names to human readable form (for C++ kernels).
+
 --percent-type::
        Set annotation percent type from following choices:
          global-period, local-period, global-hits, local-hits
index 0f3a196..021d974 100644 (file)
@@ -538,6 +538,10 @@ int cmd_annotate(int argc, const char **argv)
                    "Strip first N entries of source file path name in programs (with --prefix)"),
        OPT_STRING(0, "objdump", &annotate.opts.objdump_path, "path",
                   "objdump binary to use for disassembly and annotations"),
+       OPT_BOOLEAN(0, "demangle", &symbol_conf.demangle,
+                   "Enable symbol demangling"),
+       OPT_BOOLEAN(0, "demangle-kernel", &symbol_conf.demangle_kernel,
+                   "Enable kernel symbol demangling"),
        OPT_BOOLEAN(0, "group", &symbol_conf.event_group,
                    "Show event group information together"),
        OPT_BOOLEAN(0, "show-total-period", &symbol_conf.show_total_period,