lkml.org 
[lkml]   [2022]   [Feb]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] scripts/decodecode: Make objdump always use operand-size suffix
Date
For better reading, always use operand-size suffix for the generated
AT&T syntax Assembly code.

$ echo "Code: 50 e0 49 8b 4e 08 48 8b 51 50 48 85 d2 75 03 48 8b 11 48 c7 c7 02 " \
"47 40 a1 48 89 c6 48 c7 c1 b6 38 3f a1 31 c0 e8 25 72 d5 df <0f> 0b 41 bc 01" \
"00 00 00 e9 da fb ff ff 48 8b 2b 48 8b 7d 08 e8 fc" | scripts/decodecode

Before this patch:
------------------

All code
========
0: 50 push %rax
1: e0 49 loopne 0x4c
3: 8b 4e 08 mov 0x8(%rsi),%ecx
6: 48 8b 51 50 mov 0x50(%rcx),%rdx
a: 48 85 d2 test %rdx,%rdx
d: 75 03 jne 0x12
f: 48 8b 11 mov (%rcx),%rdx
12: 48 c7 c7 02 47 40 a1 mov $0xffffffffa1404702,%rdi
19: 48 89 c6 mov %rax,%rsi
1c: 48 c7 c1 b6 38 3f a1 mov $0xffffffffa13f38b6,%rcx
23: 31 c0 xor %eax,%eax
25: e8 25 72 d5 df call 0xffffffffdfd5724f
2a:* 0f 0b ud2 <-- trapping instruction
2c: 41 bc 01 00 00 00 mov $0x1,%r12d
32: e9 da fb ff ff jmp 0xfffffffffffffc11
37: 48 8b 2b mov (%rbx),%rbp
3a: 48 8b 7d 08 mov 0x8(%rbp),%rdi
3e: e8 .byte 0xe8
3f: fc cld

Code starting with the faulting instruction
===========================================
0: 0f 0b ud2
2: 41 bc 01 00 00 00 mov $0x1,%r12d
8: e9 da fb ff ff jmp 0xfffffffffffffbe7
d: 48 8b 2b mov (%rbx),%rbp
10: 48 8b 7d 08 mov 0x8(%rbp),%rdi
14: e8 .byte 0xe8
15: fc cld

After this patch:
------------------

All code
========
0: 50 pushq %rax
1: e0 49 loopneq 0x4c
3: 8b 4e 08 movl 0x8(%rsi),%ecx
6: 48 8b 51 50 movq 0x50(%rcx),%rdx
a: 48 85 d2 testq %rdx,%rdx
d: 75 03 jne 0x12
f: 48 8b 11 movq (%rcx),%rdx
12: 48 c7 c7 02 47 40 a1 movq $0xffffffffa1404702,%rdi
19: 48 89 c6 movq %rax,%rsi
1c: 48 c7 c1 b6 38 3f a1 movq $0xffffffffa13f38b6,%rcx
23: 31 c0 xorl %eax,%eax
25: e8 25 72 d5 df callq 0xffffffffdfd5724f
2a:* 0f 0b ud2 <-- trapping instruction
2c: 41 bc 01 00 00 00 movl $0x1,%r12d
32: e9 da fb ff ff jmpq 0xfffffffffffffc11
37: 48 8b 2b movq (%rbx),%rbp
3a: 48 8b 7d 08 movq 0x8(%rbp),%rdi
3e: e8 .byte 0xe8
3f: fc cld

Code starting with the faulting instruction
===========================================
0: 0f 0b ud2
2: 41 bc 01 00 00 00 movl $0x1,%r12d
8: e9 da fb ff ff jmpq 0xfffffffffffffbe7
d: 48 8b 2b movq (%rbx),%rbp
10: 48 8b 7d 08 movq 0x8(%rbp),%rdi
14: e8 .byte 0xe8
15: fc cld

Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@suse.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ammar Faizi <ammarfaizi2@gnuweeb.org>
---
scripts/decodecode | 2 ++
1 file changed, 2 insertions(+)

diff --git a/scripts/decodecode b/scripts/decodecode
index c711a196511c..ab400891610f 100755
--- a/scripts/decodecode
+++ b/scripts/decodecode
@@ -98,6 +98,8 @@ disas() {
fi
fi

+ OBJDUMPFLAGS="$OBJDUMPFLAGS -M suffix"
+
${CROSS_COMPILE}objdump $OBJDUMPFLAGS -S $t.o | \
grep -v "/tmp\|Disassembly\|\.text\|^$" > $t.dis 2>&1
}
base-commit: 7e57714cd0ad2d5bb90e50b5096a0e671dec1ef3
--
2.32.0

\
 
 \ /
  Last update: 2022-03-01 05:12    [W:0.042 / U:1.004 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site