perf annotate: Allow whitespace between insn operands
authorNamhyung Kim <namhyung@kernel.org>
Mon, 12 Jun 2023 23:00:26 +0000 (16:00 -0700)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 13 Jun 2023 00:53:18 +0000 (21:53 -0300)
The llvm-objdump adds a space between the operands while GNU objdump
does not.  Allow a space to handle the both.

In GNU objdump:

  Disassembly of section .text:                                      here
                                                                      |
  ffffffff81000000 <_stext>:                                          v
  ffffffff81000000: 48 8d 25 51 1f 40 01  lea    0x1401f51(%rip),%rsp
  ffffffff81000007: e8 d4 00 00 00        call   ffffffff810000e0 <verify_cpu>
  ffffffff8100000c: 48 8d 3d ed ff ff ff  lea    -0x13(%rip),%rdi

In llvm-objdump:

  Disassembly of section .text:                                      here
                                                                       |
  ffffffff81000000 <startup_64>:                                       v
  ffffffff81000000: 48 8d 25 51 1f 40 01  leaq 20979537(%rip), %rsp
  ffffffff81000007: e8 d4 00 00 00        callq 0xffffffff810000e0 <verify_cpu>
  ffffffff8100000c: 48 8d 3d ed ff ff ff  leaq -19(%rip), %rdi

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Ian Rogers <irogers@google.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/r/20230612230026.3887586-1-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/annotate.c

index bde890c..cdd1924 100644 (file)
@@ -579,7 +579,7 @@ static int mov__parse(struct arch *arch, struct ins_operands *ops, struct map_sy
        if (ops->source.raw == NULL)
                return -1;
 
-       target = ++s;
+       target = skip_spaces(++s);
        comment = strchr(s, arch->objdump.comment_char);
 
        if (comment != NULL)