diff options
Diffstat (limited to 'tools/perf/builtin-annotate.c')
| -rw-r--r-- | tools/perf/builtin-annotate.c | 25 | 
1 files changed, 18 insertions, 7 deletions
diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c index 555aefd7fe01..46b4c24f338e 100644 --- a/tools/perf/builtin-annotate.c +++ b/tools/perf/builtin-annotate.c @@ -114,10 +114,11 @@ static int hist_entry__tty_annotate(struct hist_entry *he, int evidx)  				    print_line, full_paths, 0, 0);  } -static void hists__find_annotations(struct hists *self, int evidx) +static void hists__find_annotations(struct hists *self, int evidx, +				    int nr_events)  {  	struct rb_node *nd = rb_first(&self->entries), *next; -	int key = KEY_RIGHT; +	int key = K_RIGHT;  	while (nd) {  		struct hist_entry *he = rb_entry(nd, struct hist_entry, rb_node); @@ -129,7 +130,7 @@ static void hists__find_annotations(struct hists *self, int evidx)  		notes = symbol__annotation(he->ms.sym);  		if (notes->src == NULL) {  find_next: -			if (key == KEY_LEFT) +			if (key == K_LEFT)  				nd = rb_prev(nd);  			else  				nd = rb_next(nd); @@ -137,12 +138,13 @@ find_next:  		}  		if (use_browser > 0) { -			key = hist_entry__tui_annotate(he, evidx); +			key = hist_entry__tui_annotate(he, evidx, nr_events, +						       NULL, NULL, 0);  			switch (key) { -			case KEY_RIGHT: +			case K_RIGHT:  				next = rb_next(nd);  				break; -			case KEY_LEFT: +			case K_LEFT:  				next = rb_prev(nd);  				break;  			default: @@ -215,7 +217,8 @@ static int __cmd_annotate(void)  			total_nr_samples += nr_samples;  			hists__collapse_resort(hists);  			hists__output_resort(hists); -			hists__find_annotations(hists, pos->idx); +			hists__find_annotations(hists, pos->idx, +						session->evlist->nr_entries);  		}  	} @@ -267,6 +270,14 @@ 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_STRING(0, "symfs", &symbol_conf.symfs, "directory", +		   "Look for files with symbols relative to this directory"), +	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_STRING('M', "disassembler-style", &disassembler_style, "disassembler style", +		   "Specify disassembler style (e.g. -M intel for intel syntax)"),  	OPT_END()  };  | 
