[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220301041119.55085-1-ammarfaizi2@gnuweeb.org>
Date: Tue, 1 Mar 2022 11:11:19 +0700
From: Ammar Faizi <ammarfaizi2@...weeb.org>
To: Borislav Petkov <bp@...e.de>
Cc: weidonghui <weidonghui@...winnertech.com>, tools@...ux.kernel.org,
linux-kernel@...r.kernel.org, gwml@...r.gnuweeb.org,
x86@...nel.org, Ammar Faizi <ammarfaizi2@...weeb.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Andy Lutomirski <luto@...nel.org>,
Dave Hansen <dave.hansen@...ux.intel.com>,
"H. Peter Anvin" <hpa@...or.com>, Ingo Molnar <mingo@...hat.com>,
Thomas Gleixner <tglx@...utronix.de>
Subject: [PATCH] scripts/decodecode: Make objdump always use operand-size suffix
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@...ux-foundation.org>
Cc: Andy Lutomirski <luto@...nel.org>
Cc: Borislav Petkov <bp@...e.de>
Cc: Dave Hansen <dave.hansen@...ux.intel.com>
Cc: "H. Peter Anvin" <hpa@...or.com>
Cc: Ingo Molnar <mingo@...hat.com>
Cc: Thomas Gleixner <tglx@...utronix.de>
Signed-off-by: Ammar Faizi <ammarfaizi2@...weeb.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
Powered by blists - more mailing lists