path: root/tools
diff options
authorMark Drayton <>2015-08-26 12:18:15 -0700
committerArnaldo Carvalho de Melo <>2015-08-28 11:47:40 -0300
commit77e0070da41f76e1ebd15291fb0254b0c174adfa (patch)
treedaf7fa3a6022da4cda64888fa90bddacdb4a1611 /tools
parentd1ee8bc195ffedbf91af0245a2406d6ebd2578f8 (diff)
perf script: Add --[no-]-demangle/--[no-]-demangle-kernel
Sometimes when post-processing output from `perf script` one does not want to demangle C++ symbol names. Add an option to allow this. Also add --[no-]demangle-kernel to be consistent with top/report/probe. Signed-off-by: Mark Drayton <> Cc: Andi Kleen <> Cc: Jiri Olsa <> Link: Signed-off-by: Yannick Brosseau <> Signed-off-by: Arnaldo Carvalho de Melo <>
Diffstat (limited to 'tools')
2 files changed, 12 insertions, 0 deletions
diff --git a/tools/perf/Documentation/perf-script.txt b/tools/perf/Documentation/perf-script.txt
index c0d24791a7f3..614b2c7b0293 100644
--- a/tools/perf/Documentation/perf-script.txt
+++ b/tools/perf/Documentation/perf-script.txt
@@ -226,6 +226,13 @@ OPTIONS
Display context switch events i.e. events of type PERF_RECORD_SWITCH or
+ Demangle symbol names to human readable form. It's enabled by default,
+ disable with --no-demangle.
+ Demangle kernel symbol names to human readable form (for C++ kernels).
Show header.
diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
index 105332e950a9..4430340292c0 100644
--- a/tools/perf/builtin-script.c
+++ b/tools/perf/builtin-script.c
@@ -1671,6 +1671,11 @@ int cmd_script(int argc, const char **argv, const char *prefix __maybe_unused)
OPT_BOOLEAN(0, "full-source-path", &srcline_full_filename,
"Show full source file name path for source lines"),
+ OPT_BOOLEAN(0, "demangle", &symbol_conf.demangle,
+ "Enable symbol demangling"),
+ OPT_BOOLEAN(0, "demangle-kernel", &symbol_conf.demangle_kernel,
+ "Enable kernel symbol demangling"),
const char * const script_subcommands[] = { "record", "report", NULL };