Re: [PATCH] perf annotate: Allow whitespace between insn operands

From: Ian Rogers
Date: Mon Jun 12 2023 - 19:55:21 EST


On Mon, Jun 12, 2023 at 4:00 PM Namhyung Kim <namhyung@xxxxxxxxxx> wrote:
>
> 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@xxxxxxxxxx>

Acked-by: Ian Rogers <irogers@xxxxxxxxxx>

Thanks,
Ian

> ---
> tools/perf/util/annotate.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
> index 9171102dd3ad..3eab6c29eaa5 100644
> --- a/tools/perf/util/annotate.c
> +++ b/tools/perf/util/annotate.c
> @@ -585,7 +585,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)
> --
> 2.41.0.162.gfafddb0af9-goog
>