mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-06 12:09:26 +08:00
36938cabf0
"Unambiguous" is is in particular taking as reference the assembler, which also accepts certain insns - despite them allowing for varying operand size, and hence in principle being ambiguous - without any suffix. For example, from the very beginning of the life of x86-64 I had trouble understanding why a plain and simple RET had to be printed as RETQ. In case someone really used the 16-bit form, RETW disambiguates the two quite fine.
21 lines
723 B
Makefile
21 lines
723 B
Makefile
#as: --64 -mbranches-within-32B-boundaries
|
|
#ld: -melf_x86_64
|
|
#objdump: -dw
|
|
|
|
.*: +file format .*
|
|
|
|
|
|
Disassembly of section .text:
|
|
|
|
[a-f0-9]+ <_start>:
|
|
+[a-f0-9]+: 85 d2 test %edx,%edx
|
|
+[a-f0-9]+: 74 21 je [a-f0-9]+ <_start\+0x25>
|
|
+[a-f0-9]+: 48 85 ff test %rdi,%rdi
|
|
+[a-f0-9]+: 74 1c je [a-f0-9]+ <_start\+0x25>
|
|
+[a-f0-9]+: 66 66 66 64 48 8b 04 25 00 00 00 00 data16 data16 data16 mov %fs:0x0,%rax
|
|
+[a-f0-9]+: 2e 2e 2e 2e 48 8b 98 fc ff ff ff cs cs cs mov %cs:-0x4\(%rax\),%rbx
|
|
+[a-f0-9]+: 48 85 db test %rbx,%rbx
|
|
+[a-f0-9]+: 74 00 je [a-f0-9]+ <_start\+0x25>
|
|
+[a-f0-9]+: c3 ret *
|
|
#pass
|