OLD | NEW |
| (Empty) |
1 @hex: | |
2 # This file does some simple tests to see if we recognize when the REP/REPNE (
F2 F3) | |
3 # prefix bytes are allowed. | |
4 | |
5 # The following is an example of an instruction without the REP/REPNE prefix. | |
6 # add %al, %al | |
7 00 c0 | |
8 | |
9 # The following is the same instruction with an illegal REP prefix. | |
10 f3 00 c0 | |
11 | |
12 # The following is the same instruction with an illegal REPNE prefix. | |
13 f2 00 c0 | |
14 | |
15 # The following is an example of a multibyte instruction explicitly requiring | |
16 # a REP prefix. | |
17 # movss %xmm0, [%rdx] | |
18 f3 0f 10 02 | |
19 | |
20 # The following is an example of a multibyte instruction explicitly requiring | |
21 # a REPNE prefix. | |
22 # movsd [%rsp+0x10], %xmm2 | |
23 f2 0f 11 54 24 10 | |
24 | |
25 # The following is an example of an instruction that can get a REP prefix. | |
26 # insb | |
27 6c | |
28 | |
29 # The same instrucition with a REP prefix. | |
30 f3 6c | |
31 | |
32 # The same instruction with a REPNE prefix. | |
33 f2 6c | |
34 | |
35 # The following is an example of an instruction that can get a REP/REPNE prefi
x. | |
36 # cmpsb | |
37 a6 | |
38 | |
39 # The same instruction with a REP prefix. | |
40 f3 a6 | |
41 | |
42 # The same instruction with a REPNE prefix | |
43 f2 a6 | |
44 @rval: | |
45 VALIDATOR: 0000000000000002: f3 00 c0 add
%al, %al | |
46 VALIDATOR: ERROR: Use of REP (F3) prefix for instruction not allowed by Native
Client | |
47 VALIDATOR: 0000000000000005: f2 00 c0 add
%al, %al | |
48 VALIDATOR: ERROR: Use of REPNE (F2) prefix for instruction not allowed by Nati
ve Client | |
49 VALIDATOR: 0000000000000008: f3 0f 10 02 movs
s %xmm0, [%rdx] | |
50 VALIDATOR: ERROR: Invalid base register in memory offset | |
51 VALIDATOR: 0000000000000012: 6c insb | |
52 VALIDATOR: ERROR: This instruction has been marked illegal by Native Client | |
53 VALIDATOR: 0000000000000012: 6c insb | |
54 VALIDATOR: ERROR: Segment memory reference not allowed | |
55 VALIDATOR: 0000000000000013: f3 6c insb | |
56 VALIDATOR: ERROR: This instruction has been marked illegal by Native Client | |
57 VALIDATOR: 0000000000000013: f3 6c insb | |
58 VALIDATOR: ERROR: Segment memory reference not allowed | |
59 VALIDATOR: 0000000000000015: f2 6c insb | |
60 VALIDATOR: ERROR: This instruction has been marked illegal by Native Client | |
61 VALIDATOR: 0000000000000015: f2 6c insb | |
62 VALIDATOR: ERROR: Use of REPNE (F2) prefix for instruction not allowed by Nati
ve Client | |
63 VALIDATOR: 0000000000000015: f2 6c insb | |
64 VALIDATOR: ERROR: Segment memory reference not allowed | |
65 VALIDATOR: 0000000000000017: a6 cmps
b [%rdi], [%rsi] | |
66 VALIDATOR: ERROR: Segment memory reference not allowed | |
67 VALIDATOR: 0000000000000017: a6 cmps
b [%rdi], [%rsi] | |
68 VALIDATOR: ERROR: Segment memory reference not allowed | |
69 VALIDATOR: 0000000000000018: f3 a6 cmps
b [%rdi], [%rsi] | |
70 VALIDATOR: ERROR: Segment memory reference not allowed | |
71 VALIDATOR: 0000000000000018: f3 a6 cmps
b [%rdi], [%rsi] | |
72 VALIDATOR: ERROR: Segment memory reference not allowed | |
73 VALIDATOR: 000000000000001a: f2 a6 cmps
b [%rdi], [%rsi] | |
74 VALIDATOR: ERROR: Segment memory reference not allowed | |
75 VALIDATOR: 000000000000001a: f2 a6 cmps
b [%rdi], [%rsi] | |
76 VALIDATOR: ERROR: Segment memory reference not allowed | |
77 VALIDATOR: Checking jump targets: 0 to 1c | |
78 VALIDATOR: Checking that basic blocks are aligned | |
79 *** <input> IS UNSAFE *** | |
80 @rvala: | |
81 VALIDATOR: 2: Use of REP (F3) prefix for instruction not allowed by Native Cli
ent | |
82 VALIDATOR: 5: Use of REPNE (F2) prefix for instruction not allowed by Native C
lient | |
83 VALIDATOR: 8: Invalid base register in memory offset | |
84 VALIDATOR: 12: This instruction has been marked illegal by Native Client | |
85 VALIDATOR: 12: Segment memory reference not allowed | |
86 VALIDATOR: 13: This instruction has been marked illegal by Native Client | |
87 VALIDATOR: 13: Segment memory reference not allowed | |
88 VALIDATOR: 15: This instruction has been marked illegal by Native Client | |
89 VALIDATOR: 15: Use of REPNE (F2) prefix for instruction not allowed by Native
Client | |
90 VALIDATOR: 15: Segment memory reference not allowed | |
91 VALIDATOR: 17: Segment memory reference not allowed | |
92 VALIDATOR: 17: Segment memory reference not allowed | |
93 VALIDATOR: 18: Segment memory reference not allowed | |
94 VALIDATOR: 18: Segment memory reference not allowed | |
95 VALIDATOR: 1a: Segment memory reference not allowed | |
96 VALIDATOR: 1a: Segment memory reference not allowed | |
97 VALIDATOR: Checking jump targets: 0 to 1c | |
98 VALIDATOR: Checking that basic blocks are aligned | |
99 *** <input> IS UNSAFE *** | |
100 @rvald: | |
101 VALIDATOR: 0000000000000002: f3 00 c0 add
%al, %al | |
102 VALIDATOR: ERROR: Use of REP (F3) prefix for instruction not allowed by Native
Client | |
103 VALIDATOR: 0000000000000005: f2 00 c0 add
%al, %al | |
104 VALIDATOR: ERROR: Use of REPNE (F2) prefix for instruction not allowed by Nati
ve Client | |
105 VALIDATOR: 0000000000000008: f3 0f 10 02 movs
s %xmm0, [%rdx] | |
106 VALIDATOR: ERROR: Invalid base register in memory offset | |
107 VALIDATOR: 0000000000000012: 6c insb | |
108 VALIDATOR: ERROR: This instruction has been marked illegal by Native Client | |
109 VALIDATOR: 0000000000000012: 6c insb | |
110 VALIDATOR: ERROR: Segment memory reference not allowed | |
111 VALIDATOR: 0000000000000013: f3 6c insb | |
112 VALIDATOR: ERROR: This instruction has been marked illegal by Native Client | |
113 VALIDATOR: 0000000000000013: f3 6c insb | |
114 VALIDATOR: ERROR: Segment memory reference not allowed | |
115 VALIDATOR: 0000000000000015: f2 6c insb | |
116 VALIDATOR: ERROR: This instruction has been marked illegal by Native Client | |
117 VALIDATOR: 0000000000000015: f2 6c insb | |
118 VALIDATOR: ERROR: Use of REPNE (F2) prefix for instruction not allowed by Nati
ve Client | |
119 VALIDATOR: 0000000000000015: f2 6c insb | |
120 VALIDATOR: ERROR: Segment memory reference not allowed | |
121 VALIDATOR: 0000000000000017: a6 cmps
b [%rdi], [%rsi] | |
122 VALIDATOR: ERROR: Segment memory reference not allowed | |
123 VALIDATOR: 0000000000000017: a6 cmps
b [%rdi], [%rsi] | |
124 VALIDATOR: ERROR: Segment memory reference not allowed | |
125 VALIDATOR: 0000000000000018: f3 a6 cmps
b [%rdi], [%rsi] | |
126 VALIDATOR: ERROR: Segment memory reference not allowed | |
127 VALIDATOR: 0000000000000018: f3 a6 cmps
b [%rdi], [%rsi] | |
128 VALIDATOR: ERROR: Segment memory reference not allowed | |
129 VALIDATOR: 000000000000001a: f2 a6 cmps
b [%rdi], [%rsi] | |
130 VALIDATOR: ERROR: Segment memory reference not allowed | |
131 VALIDATOR: 000000000000001a: f2 a6 cmps
b [%rdi], [%rsi] | |
132 VALIDATOR: ERROR: Segment memory reference not allowed | |
133 VALIDATOR: Checking block alignment and jump targets: 0 to 1c | |
134 *** <input> IS UNSAFE *** | |
135 @vd-rval: | |
136 VALIDATOR: 0000000000000002: f3 00 c0 add
%al, %al | |
137 VALIDATOR: ERROR: Use of REP (F3) prefix for instruction not allowed by Native
Client | |
138 VALIDATOR: 0000000000000005: f2 00 c0 add
%al, %al | |
139 VALIDATOR: ERROR: Use of REPNE (F2) prefix for instruction not allowed by Nati
ve Client | |
140 VALIDATOR: 0000000000000008: f3 0f 10 02 [P]
dontcare [%rdx] (u) | |
141 VALIDATOR: ERROR: Invalid base register in memory offset | |
142 VALIDATOR: 0000000000000012: 6c [P]
dontcare(illegal) | |
143 VALIDATOR: ERROR: This instruction has been marked illegal by Native Client | |
144 VALIDATOR: 0000000000000013: f3 6c [P]
dontcare(illegal) | |
145 VALIDATOR: ERROR: This instruction has been marked illegal by Native Client | |
146 VALIDATOR: 0000000000000015: f2 6c [P]
dontcare(illegal) | |
147 VALIDATOR: ERROR: This instruction has been marked illegal by Native Client | |
148 VALIDATOR: 0000000000000015: f2 6c [P]
dontcare(illegal) | |
149 VALIDATOR: ERROR: Use of REPNE (F2) prefix for instruction not allowed by Nati
ve Client | |
150 VALIDATOR: 0000000000000017: a6 [P]
dontcare [%rdi] (u), [%rsi] (u) | |
151 VALIDATOR: ERROR: Segment memory reference not allowed | |
152 VALIDATOR: 0000000000000017: a6 [P]
dontcare [%rdi] (u), [%rsi] (u) | |
153 VALIDATOR: ERROR: Segment memory reference not allowed | |
154 VALIDATOR: 0000000000000018: f3 a6 [P]
dontcare [%rdi] (u), [%rsi] (u) | |
155 VALIDATOR: ERROR: Segment memory reference not allowed | |
156 VALIDATOR: 0000000000000018: f3 a6 [P]
dontcare [%rdi] (u), [%rsi] (u) | |
157 VALIDATOR: ERROR: Segment memory reference not allowed | |
158 VALIDATOR: 000000000000001a: f2 a6 [P]
dontcare [%rdi] (u), [%rsi] (u) | |
159 VALIDATOR: ERROR: Segment memory reference not allowed | |
160 VALIDATOR: 000000000000001a: f2 a6 [P]
dontcare [%rdi] (u), [%rsi] (u) | |
161 VALIDATOR: ERROR: Segment memory reference not allowed | |
162 VALIDATOR: Checking jump targets: 0 to 1c | |
163 VALIDATOR: Checking that basic blocks are aligned | |
164 *** <input> IS UNSAFE *** | |
165 @dis: | |
166 0000000000000000: 00 c0 add %al, %al | |
167 0000000000000002: f3 00 c0 add %al, %al | |
168 0000000000000005: f2 00 c0 add %al, %al | |
169 0000000000000008: f3 0f 10 02 movss %xmm0, [%
rdx] | |
170 000000000000000c: f2 0f 11 54 24 10 movsd [%rsp+0x1
0], %xmm2 | |
171 0000000000000012: 6c insb | |
172 0000000000000013: f3 6c insb | |
173 0000000000000015: f2 6c insb | |
174 0000000000000017: a6 cmpsb [%rdi], [
%rsi] | |
175 0000000000000018: f3 a6 cmpsb [%rdi], [
%rsi] | |
176 000000000000001a: f2 a6 cmpsb [%rdi], [
%rsi] | |
177 @vdis: | |
178 0000000000000000: 00 c0 add %al, %al | |
179 0000000000000002: f3 00 c0 add %al, %al | |
180 0000000000000005: f2 00 c0 add %al, %al | |
181 0000000000000008: f3 0f 10 02 [P] dontcare [%
rdx] (u) | |
182 000000000000000c: f2 0f 11 54 24 10 [P] dontcare [%
rsp+0x10] (s) | |
183 0000000000000012: 6c [P] dontcare(il
legal) | |
184 0000000000000013: f3 6c [P] dontcare(il
legal) | |
185 0000000000000015: f2 6c [P] dontcare(il
legal) | |
186 0000000000000017: a6 [P] dontcare [%
rdi] (u), [%rsi] (u) | |
187 0000000000000018: f3 a6 [P] dontcare [%
rdi] (u), [%rsi] (u) | |
188 000000000000001a: f2 a6 [P] dontcare [%
rdi] (u), [%rsi] (u) | |
189 @rdfa_output: | |
190 2: [0] unrecognized instruction | |
191 5: [1] unrecognized instruction | |
192 8: [2] improper memory address - bad base | |
193 12: [2] unrecognized instruction | |
194 13: [3] unrecognized instruction | |
195 15: [4] unrecognized instruction | |
196 17: [5] unrecognized instruction | |
197 18: [6] unrecognized instruction | |
198 1a: [7] unrecognized instruction | |
199 return code: 1 | |
OLD | NEW |