perf annotate: Allow objdump to be set in perfconfig

Allow the setting of the objdump command in the perfconfig. Update man
page for this new option.

Signed-off-by: Ian Rogers <irogers@google.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Andres Freund <andres@anarazel.de>
Cc: German Gomez <german.gomez@arm.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: James Clark <james.clark@arm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Nathan Chancellor <nathan@kernel.org>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Sandipan Das <sandipan.das@amd.com>
Cc: Tom Rix <trix@redhat.com>
Cc: llvm@lists.linux.dev
Link: https://lore.kernel.org/r/20230328235543.1082207-2-irogers@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Ian Rogers 2023-03-28 16:55:42 -07:00 committed by Arnaldo Carvalho de Melo
parent 56d9117c50
commit 0b02b47e71
2 changed files with 10 additions and 1 deletions

View file

@ -250,7 +250,10 @@ annotate.*::
These are in control of addresses, jump function, source code These are in control of addresses, jump function, source code
in lines of assembly code from a specific program. in lines of assembly code from a specific program.
annotate.disassembler_style: annotate.objdump::
objdump binary to use for disassembly and annotations.
annotate.disassembler_style::
Use this to change the default disassembler style to some other value Use this to change the default disassembler style to some other value
supported by binutils, such as "intel", see the '-M' option help in the supported by binutils, such as "intel", see the '-M' option help in the
'objdump' man page. 'objdump' man page.

View file

@ -3211,6 +3211,12 @@ static int annotation__config(const char *var, const char *value, void *data)
pr_err("Not enough memory for annotate.disassembler_style\n"); pr_err("Not enough memory for annotate.disassembler_style\n");
return -1; return -1;
} }
} else if (!strcmp(var, "annotate.objdump")) {
opt->objdump_path = strdup(value);
if (!opt->objdump_path) {
pr_err("Not enough memory for annotate.objdump\n");
return -1;
}
} else if (!strcmp(var, "annotate.demangle")) { } else if (!strcmp(var, "annotate.demangle")) {
symbol_conf.demangle = perf_config_bool("demangle", value); symbol_conf.demangle = perf_config_bool("demangle", value);
} else if (!strcmp(var, "annotate.demangle_kernel")) { } else if (!strcmp(var, "annotate.demangle_kernel")) {