Re: [PATCH 4/5] perf, tools, script: Add support for printing assembler

From: Andi Kleen
Date: Mon Jan 23 2017 - 14:55:28 EST


> Do you know if there is any tool comparing the output of objdump -d to what is
> produced by a similar xed based tool?

I'm not aware of such a tool, but could be written using the "xed" tool
in the xed distribution. However I would trust xed over objdump,
it is used widely in Intel tools with likely far more testing
than binutils

> 4b8506 jz 0x4b84d0 <perf_evsel__enable+0x70> 74 c8 je 4b84d0 <perf_evsel__enable+0x70>
> 4b84d0 add $0x1, %r14 add $0x1,%r14
> 4b84d4 cmp %r14d, %ebx cmp %r14d,%ebx
> 4b84d7 jle 0x4b8530 <perf_evsel__enable+0xd0> jle 4b8530 <perf_evsel__enable+0xd0>
> 4b8530 add $0x1, %r12 add $0x1,%r12
> 4b8534 cmp %r12d, %r13d cmp %r12d,%r13d
> 4b8537 jnle 0x4b84c2 <perf_evsel__enable+0x62> 7f 89 jg 4b84c2 <perf_evsel__enable+0x62>
> 4b84c2 xor %r14d, %r14d xor %r14d,%r14d
> 4b84c5 test %ebx, %ebx test %ebx,%ebx
> 4b84c7 jnle 0x4b84d9 <perf_evsel__enable+0x79> 7f 10 jg 4b84d9 <perf_evsel__enable+0x79>
> 4b84d9 movq 0x90(%r15), %rax 49 8b 87 90 00 00 00 mov 0x90(%r15),%rax
> 4b84e0 mov %r12, %rdx mov %r12,%rdx
> 4b84e3 mov %r14, %rcx mov %r14,%rcx
> 4b84e6 mov $0x2400, %esi mov $0x2400,%esi
> 4b84eb imulq (%rax), %rdx 48 0f af 10 imul (%rax),%rdx
> 4b84ef imulq 0x8(%rax), %rcx 48 0f af 48 08 imul 0x8(%rax),%rcx
> 4b84f4 add %rdx, %rax add %rdx,%rax
> 4b84f7 xor %edx, %edx xor %edx,%edx
> 4b84f9 movl 0x18(%rcx,%rax,1), %edi 8b 7c 01 18 mov 0x18(%rcx,%rax,1),%edi
> 4b84fd xor %eax, %eax xor %eax,%eax
> 4b84ff callq 0x42d990 <ioctl@plt> callq 42d990 <ioctl@plt>
> 4b8504 test %eax, %eax test %eax,%eax
> 4b8506 jz 0x4b84d0 <perf_evsel__enable+0x70> 74 c8 je 4b84d0 <perf_evsel__enable+0x70>

Yes all the differences are ok. It's just synonyms of the instructions.

-Andi