diff options
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/perf/Documentation/perf-annotate.txt | 8 | ||||
| -rw-r--r-- | tools/perf/builtin-annotate.c | 4 | ||||
| -rw-r--r-- | tools/perf/util/annotate.c | 5 | ||||
| -rw-r--r-- | tools/perf/util/symbol.c | 2 | ||||
| -rw-r--r-- | tools/perf/util/symbol.h | 4 | 
5 files changed, 21 insertions, 2 deletions
diff --git a/tools/perf/Documentation/perf-annotate.txt b/tools/perf/Documentation/perf-annotate.txt index 85c5f026930..5bc06001557 100644 --- a/tools/perf/Documentation/perf-annotate.txt +++ b/tools/perf/Documentation/perf-annotate.txt @@ -72,6 +72,14 @@ OPTIONS  	CPUs are specified with -: 0-2. Default is to report samples on all  	CPUs. +--asm-raw:: +	Show raw instruction encoding of assembly instructions. They +	are displayed by default, disable with --no-asm-raw. + +--source:: +	Interleave source code with assembly code. Enabled by default, +	disable with --no-source. +  SEE ALSO  --------  linkperf:perf-record[1], linkperf:perf-report[1] diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c index 555aefd7fe0..5015e04b821 100644 --- a/tools/perf/builtin-annotate.c +++ b/tools/perf/builtin-annotate.c @@ -267,6 +267,10 @@ static const struct option options[] = {  	OPT_BOOLEAN('P', "full-paths", &full_paths,  		    "Don't shorten the displayed pathnames"),  	OPT_STRING('c', "cpu", &cpu_list, "cpu", "list of cpus to profile"), +	OPT_BOOLEAN('0', "source", &symbol_conf.annotate_src, +		    "Interleave source code with assembly code (default)"), +	OPT_BOOLEAN('0', "asm-raw", &symbol_conf.annotate_asm_raw, +		    "Display raw encoding of assembly instructions (default)"),  	OPT_END()  }; diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c index e01af2b1a46..01d36ba5405 100644 --- a/tools/perf/util/annotate.c +++ b/tools/perf/util/annotate.c @@ -324,9 +324,12 @@ fallback:  	snprintf(command, sizeof(command),  		 "objdump --start-address=0x%016" PRIx64 -		 " --stop-address=0x%016" PRIx64 " -dS -C %s|grep -v %s|expand", +		 " --stop-address=0x%016" PRIx64 +		 " -d %s %s -C %s|grep -v %s|expand",  		 map__rip_2objdump(map, sym->start),  		 map__rip_2objdump(map, sym->end), +		 symbol_conf.annotate_asm_raw ? "" : "--no-show-raw", +		 symbol_conf.annotate_src ? "-S" : "",  		 symfs_filename, filename);  	pr_debug("Executing: %s\n", command); diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c index 469c0264ed2..245e60d6b4e 100644 --- a/tools/perf/util/symbol.c +++ b/tools/perf/util/symbol.c @@ -46,6 +46,8 @@ struct symbol_conf symbol_conf = {  	.exclude_other	  = true,  	.use_modules	  = true,  	.try_vmlinux_path = true, +	.annotate_asm_raw = true, +	.annotate_src	  = true,  	.symfs            = "",  }; diff --git a/tools/perf/util/symbol.h b/tools/perf/util/symbol.h index 4f377d92e75..7733f0b3cd4 100644 --- a/tools/perf/util/symbol.h +++ b/tools/perf/util/symbol.h @@ -76,7 +76,9 @@ struct symbol_conf {  			exclude_other,  			show_cpu_utilization,  			initialized, -			kptr_restrict; +			kptr_restrict, +			annotate_asm_raw, +			annotate_src;  	const char	*vmlinux_name,  			*kallsyms_name,  			*source_prefix,  |