Add the --disassembler command-line option to perf annotate. This allows users to explicitly request or override the disassembler preferences (e.g. --disassembler libasm) directly on the command line. Assisted-by: Antigravity:Google Gemini 3.5-flash Signed-off-by: Ian Rogers --- tools/perf/builtin-annotate.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c index 8a0eb30eac24..57a88adfb130 100644 --- a/tools/perf/builtin-annotate.c +++ b/tools/perf/builtin-annotate.c @@ -699,6 +699,7 @@ int cmd_annotate(int argc, const char **argv) .set = 0, }; const char *disassembler_style = NULL, *objdump_path = NULL, *addr2line_path = NULL; + const char *disassemblers_str = NULL; struct option options[] = { OPT_STRING('i', "input", &input_name, "file", "input file name"), @@ -782,6 +783,8 @@ int cmd_annotate(int argc, const char **argv) "Do not display empty (or dummy) events in the output"), OPT_BOOLEAN(0, "code-with-type", &annotate_opts.code_with_type, "Show data type info in code annotation (memory instructions only)"), + OPT_STRING(0, "disassembler", &disassemblers_str, "names", + "comma separated list of disassemblers to use"), OPT_END() }; int ret; @@ -825,6 +828,13 @@ int cmd_annotate(int argc, const char **argv) return -ENOMEM; } + if (disassemblers_str) { + memset(annotate_opts.disassemblers, 0, sizeof(annotate_opts.disassemblers)); + ret = annotation_options__add_disassemblers_str(&annotate_opts, disassemblers_str); + if (ret) + return -EINVAL; + } + if (annotate_check_args() < 0) return -EINVAL; -- 2.54.0.1099.g489fc7bff1-goog