[PATCH v1 5/6] perf annotate: Allow objdump to be set in perfconfig

From: Ian Rogers
Date: Tue Mar 28 2023 - 19:57:09 EST


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

Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
---
tools/perf/Documentation/perf-config.txt | 5 ++++-
tools/perf/util/annotate.c | 6 ++++++
2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/tools/perf/Documentation/perf-config.txt b/tools/perf/Documentation/perf-config.txt
index 39c890ead2dc..697f7f924545 100644
--- a/tools/perf/Documentation/perf-config.txt
+++ b/tools/perf/Documentation/perf-config.txt
@@ -250,7 +250,10 @@ annotate.*::
These are in control of addresses, jump function, source code
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
supported by binutils, such as "intel", see the '-M' option help in the
'objdump' man page.
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index 7338249dfdd9..3eaa9b2df6c4 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -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");
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")) {
symbol_conf.demangle = perf_config_bool("demangle", value);
} else if (!strcmp(var, "annotate.demangle_kernel")) {
--
2.40.0.348.gf938b09366-goog