perf annotate: Move objdump_path to struct annotation_options
tip-bot for Arnaldo Carvalho de Melo
merge botCommit-ID: f178fd2d498eccbf6592ace72b9f235f0e58c77d Gitweb: https://git.kernel.org/tip/f178fd2d498eccbf6592ace72b9f235f0e58c77d Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Mon, 28 May 2018 14:24:45 -0300 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Mon, 4 Jun 2018 10:28:53 -0300
perf annotate: Move objdump_path to struct annotation_options
One more step in grouping annotation options.
Cc Adrian Hunter <[email protected]>
Cc David Ahern <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Wang Nan <[email protected]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/arch/common.c | 4 ++-- tools/perf/arch/common.h | 4 +--- tools/perf/builtin-annotate.c | 7 ++++--- tools/perf/builtin-report.c | 2 +- tools/perf/builtin-top.c | 7 ++++--- tools/perf/ui/browsers/hists.c | 3 ++- tools/perf/util/annotate.c | 3 +-- tools/perf/util/annotate.h | 1 + 8 files changed, 16 insertions(+), 15 deletions(-)
tools/perf/arch/common.c +2 -2
@@ -189,7 +189,7 @@ out_error:return -1 ; } -int perf_env__lookup_objdump (struct perf_env *env) +int perf_env__lookup_objdump (struct perf_env *env,const char **path) {/* * For live mode, env->arch will be NULL and we can use
@@ -198,5 +198,5 @@ int perf_env__lookup_objdump(struct perf_env *env)if (env->arch ==NULL )return 0 ; -return perf_env__lookup_binutils_path (env,"objdump" , &objdump_path); +return perf_env__lookup_binutils_path (env,"objdump" , path); }
tools/perf/arch/common.h +1 -3
@@ -4,8 +4,6 @@#include "../util/env.h" -extern const char *objdump_path; - -int perf_env__lookup_objdump (struct perf_env *env); +int perf_env__lookup_objdump (struct perf_env *env,const char **path);#endif /* ARCH_PERF_COMMON_H */
tools/perf/builtin-annotate.c +4 -3
@@ -388,8 +388,9 @@ static int __cmd_annotate(struct perf_annotate *ann) goto out; } -if (!objdump_path) { - ret =perf_env__lookup_objdump (&session->header.env); +if (!ann->opts.objdump_path) { + ret =perf_env__lookup_objdump (&session->header.env, + &ann->opts.objdump_path);if (ret) goto out; }
@@ -521,7 +522,7 @@ int cmd_annotate(int argc, const char **argv) "Display raw encoding of assembly instructions (default)"),OPT_STRING ('M' ,"disassembler-style" , &annotate.opts.disassembler_style,"disassembler style" ,"Specify disassembler style (e.g. -M intel for intel syntax)" ), -OPT_STRING (0 ,"objdump" , &objdump_path,"path" , +OPT_STRING (0 ,"objdump" , &annotate.opts.objdump_path,"path" ,"objdump binary to use for disassembly and annotations" ),OPT_BOOLEAN (0 ,"group" , &symbol_conf.event_group, "Show event group information together"),
tools/perf/builtin-report.c +1 -1
@@ -1094,7 +1094,7 @@ int cmd_report(int argc, const char **argv) parse_branch_mode),OPT_BOOLEAN (0 ,"branch-history" , &branch_call_mode,"add last branch records to call history" ), -OPT_STRING (0 ,"objdump" , &objdump_path,"path" , +OPT_STRING (0 ,"objdump" , &report.annotation_opts.objdump_path,"path" ,"objdump binary to use for disassembly and annotations" ),OPT_BOOLEAN (0 ,"demangle" , &symbol_conf.demangle, "Disable symbol demangling"),
tools/perf/builtin-top.c +4 -3
@@ -1077,8 +1077,9 @@ static int __cmd_top(struct perf_top *top)if (top->session ==NULL )return -1 ; -if (!objdump_path) { - ret =perf_env__lookup_objdump (&top->session->header.env); +if (!top->annotation_opts.objdump_path) { + ret =perf_env__lookup_objdump (&top->session->header.env, + &top->annotation_opts.objdump_path);if (ret) goto out_delete; }
@@ -1347,7 +1348,7 @@ int cmd_top(int argc, const char **argv) "Display raw encoding of assembly instructions (default)"),OPT_BOOLEAN (0 ,"demangle-kernel" , &symbol_conf.demangle_kernel,"Enable kernel symbol demangling" ), -OPT_STRING (0 ,"objdump" , &objdump_path,"path" , +OPT_STRING (0 ,"objdump" , &top.annotation_opts.objdump_path,"path" ,"objdump binary to use for disassembly and annotations" ),OPT_STRING ('M' ,"disassembler-style" , &top.annotation_opts.disassembler_style,"disassembler style" , "Specify disassembler style (e.g. -M intel for intel syntax)"),
tools/perf/ui/browsers/hists.c +2 -1
@@ -2338,7 +2338,8 @@ do_annotate(struct hist_browser *browser, struct popup_action *act)struct hist_entry *he;int err; -if (!objdump_path &&perf_env__lookup_objdump (browser->env)) +if (!browser->annotation_opts->objdump_path && +perf_env__lookup_objdump (browser->env, &browser->annotation_opts->objdump_path))return 0 ; notes =symbol__annotation (act->ms.sym);
tools/perf/util/annotate.c +1 -2
@@ -51,7 +51,6 @@ struct annotation_options annotation__default_options = { .offset_level = ANNOTATION__OFFSET_JUMP_TARGETS, }; -const char *objdump_path;static regex_t file_lineno;static struct ins_ops *ins__find (struct arch *arch,const char *name);
@@ -1657,7 +1656,7 @@ static int symbol__disassemble(struct symbol *sym, struct annotate_args *args)"%s %s%s --start-address=0x%016" PRIx64" --stop-address=0x%016" PRIx64" -l -d %s %s -C \"%s\" 2>/dev/null|grep -v \"%s:\"|expand" , - objdump_path ? objdump_path :"objdump" , + opts->objdump_path ?:"objdump" , opts->disassembler_style ?"-M " :"" , opts->disassembler_style ?:"" , map__rip_2objdump(map, sym->start),
tools/perf/util/annotate.h +1 -0
@@ -80,6 +80,7 @@ struct annotation_options {int min_pcnt;int max_lines;int context; +const char *objdump_path;const char *disassembler_style; };