blob: 49f34ade77d7085fc5c14f66cdb68d38a464fcd2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#objdump: -dwrj.text
#target: x86_64-*-*
.*: +file format elf.*-x86-64.*
Disassembly of section .text:
#...
[0-9a-f]+ <check>:
+[a-f0-9]+: 48 83 ec 08 sub \$0x8,%rsp
+[a-f0-9]+: 67 e8 ([0-9a-f]{2} ){4}[ ]+addr32 call [0-9a-f]+ <get_func>
+[a-f0-9]+: 48 81 f8 ([0-9a-f]{2} ){4}[ ]+cmp \$0x[0-9a-f]+,%rax
+[a-f0-9]+: 75 34 jne [0-9a-f]+ <check\+0x[0-9a-f]+>
+[a-f0-9]+: 4(0|8) 39 05 ([0-9a-f]{2} ){4}[ ]+(rex |)cmp +%(e|r)ax,0x[0-9a-f]+\(%rip\) +# [a-f0-9]+ <func_p>
+[a-f0-9]+: 75 2b jne [0-9a-f]+ <check\+0x[0-9a-f]+>
+[a-f0-9]+: 67 e8 ([0-9a-f]{2} ){4}[ ]+addr32 call [0-9a-f]+ <func>
+[a-f0-9]+: 3d 78 56 34 12 cmp \$0x12345678,%eax
+[a-f0-9]+: 75 1e jne [0-9a-f]+ <check\+0x[0-9a-f]+>
+[a-f0-9]+: 67 e8 ([0-9a-f]{2} ){4}[ ]+addr32 call [0-9a-f]+ <call_func>
+[a-f0-9]+: 3d 78 56 34 12 cmp \$0x12345678,%eax
+[a-f0-9]+: 75 11 jne [0-9a-f]+ <check\+0x[0-9a-f]+>
+[a-f0-9]+: 48 8d 3d ([0-9a-f]{2} ){4}[ ]+lea 0x[a-f0-9]+\(%rip\),%rdi +# [a-f0-9]+.*
+[a-f0-9]+: 48 83 c4 08 add \$0x8,%rsp
+[a-f0-9]+: e9 ([0-9a-f]{2} ){4}[ ]+jmp [a-f0-9]+ <.*puts.*>
+[a-f0-9]+: 90 nop
+[a-f0-9]+: 67 e8 ([0-9a-f]{2} ){4}[ ]+addr32 call [0-9a-f]+ <abort>
#...
[0-9a-f]+ <get_func>:
+[a-f0-9]+: 4(0|8) c7 c0 ([0-9a-f]{2} ){4}[ ]+(rex |)mov +\$0x[0-9a-f]+,%(e|r)ax
+[a-f0-9]+: c3 ret *
#...
[0-9a-f]+ <call_func>:
+[a-f0-9]+: e9 ([0-9a-f]{2} ){4}[ ]+jmp [a-f0-9]+ <func>
+[a-f0-9]+: 90 nop
#pass
|