Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(28)

Side by Side Diff: src/trusted/validator_x86/testdata/64/prefix-single.test

Issue 625923004: Delete old x86 validator. (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: rebase master Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 @hex:
2 # lock add %eax,(%rsp)
3 F0 01 04 24
4 # mov %edi,%edi
5 # lea (%r15,%rdi),%rdi
6 # rep stos %eax,%es:(%rdi)
7 89 FF
8 49 8D 3C 3F
9 F3 AB
10 # mov %edi,%edi
11 # lea (%r15,%rdi),%rdi
12 # repne scas %es:(%rdi),%al
13 89 FF
14 49 8D 3C 3F
15 F2 AE
16 # mov %ax, %ax
17 66 89 C0
18 # rex jmp $
19 40 EB FD
20 # Branch prediction prefixes. (for jz).
21 2e 74 02
22 3e 74 02
23 @rval:
24 VALIDATOR: 000000000000001d: 3e 74 02 jz 0 x22
25 VALIDATOR: ERROR: Instruction jumps to bad address
26 VALIDATOR: Checking jump targets: 0 to 20
27 VALIDATOR: ERROR: 1f: Bad jump target
28 VALIDATOR: Checking that basic blocks are aligned
29 *** <input> IS UNSAFE ***
30 @rvald:
31 VALIDATOR: 000000000000001d: 3e 74 02 jz 0 x22
32 VALIDATOR: ERROR: Instruction jumps to bad address
33 VALIDATOR: Checking block alignment and jump targets: 0 to 20
34 VALIDATOR: 000000000000001a: 2e 74 02 jz 0 x1f
35 VALIDATOR: ERROR: Doesn't jump to instruction address
36 *** <input> IS UNSAFE ***
37 @vd-rval:
38 VALIDATOR: 000000000000001d: 3e 74 02 [P] dontcarecondjump %rip (s), 0x22 (u)
39 VALIDATOR: ERROR: Instruction jumps to bad address
40 VALIDATOR: Checking jump targets: 0 to 20
41 VALIDATOR: ERROR: 1f: Bad jump target
42 VALIDATOR: Checking that basic blocks are aligned
43 *** <input> IS UNSAFE ***
44 @dis:
45 0000000000000000: f0 01 04 24 add [%rsp], %ea x
46 0000000000000004: 89 ff mov %edi, %edi
47 0000000000000006: 49 8d 3c 3f lea %rdi, [%r15 +%rdi*1]
48 000000000000000a: f3 ab stosd [%rdi]
49 000000000000000c: 89 ff mov %edi, %edi
50 000000000000000e: 49 8d 3c 3f lea %rdi, [%r15 +%rdi*1]
51 0000000000000012: f2 ae scasb [%rdi]
52 0000000000000014: 66 89 c0 mov %ax, %ax
53 0000000000000017: 40 eb fd jmp 0x17
54 000000000000001a: 2e 74 02 jz 0x1f
55 000000000000001d: 3e 74 02 jz 0x22
56 @vdis:
57 0000000000000000: f0 01 04 24 add [%rsp], %ea x
58 0000000000000004: 89 ff mov %edi, %edi
59 0000000000000006: 49 8d 3c 3f lea %rdi, [%r15 +%rdi*1]
60 000000000000000a: f3 ab [P] dontcare [% rdi] (s), %eax (u)
61 000000000000000c: 89 ff mov %edi, %edi
62 000000000000000e: 49 8d 3c 3f lea %rdi, [%r15 +%rdi*1]
63 0000000000000012: f2 ae [P] dontcare %a l (u), [%rdi] (u)
64 0000000000000014: 66 89 c0 mov %ax, %ax
65 0000000000000017: 40 eb fd [P] dontcarejum p %rip (s), 0x17 (u)
66 000000000000001a: 2e 74 02 [P] dontcarecon djump %rip (s), 0x1f (u)
67 000000000000001d: 3e 74 02 [P] dontcarecon djump %rip (s), 0x22 (u)
68 @rdfa_output:
69 1a: [0] bad jump target
70 1d: [0] direct jump out of range
71 return code: 1
72 @validators_disagree:
73 Because rdfaval reported jump location, not target.
74 ----------------------------------------------------------------------
75 @hex:
76 # Forbidden prefixes.
77 # rep push %eax
78 F3 50
79 # mov %edi,%edi
80 # lea (%r15,%rdi),%rdi
81 # repne stos %eax,%es:(%rdi)
82 89 FF
83 49 8D 3C 3F
84 F2 AB
85 @rval:
86 VALIDATOR: 0000000000000000: f3 50 push %rax
87 VALIDATOR: ERROR: Use of REP (F3) prefix for instruction not allowed by Native Client
88 VALIDATOR: 0000000000000008: f2 ab stos d [%rdi]
89 VALIDATOR: ERROR: Use of REPNE (F2) prefix for instruction not allowed by Nati ve Client
90 VALIDATOR: Checking jump targets: 0 to a
91 VALIDATOR: Checking that basic blocks are aligned
92 *** <input> IS UNSAFE ***
93 @rvald:
94 VALIDATOR: 0000000000000000: f3 50 push %rax
95 VALIDATOR: ERROR: Use of REP (F3) prefix for instruction not allowed by Native Client
96 VALIDATOR: 0000000000000008: f2 ab stos d [%rdi]
97 VALIDATOR: ERROR: Use of REPNE (F2) prefix for instruction not allowed by Nati ve Client
98 VALIDATOR: Checking block alignment and jump targets: 0 to a
99 *** <input> IS UNSAFE ***
100 @vd-rval:
101 VALIDATOR: 0000000000000000: f3 50 push %rax
102 VALIDATOR: ERROR: Use of REP (F3) prefix for instruction not allowed by Native Client
103 VALIDATOR: 0000000000000008: f2 ab [P] dontcare [%rdi] (s), %eax (u)
104 VALIDATOR: ERROR: Use of REPNE (F2) prefix for instruction not allowed by Nati ve Client
105 VALIDATOR: Checking jump targets: 0 to a
106 VALIDATOR: Checking that basic blocks are aligned
107 *** <input> IS UNSAFE ***
108 @dis:
109 0000000000000000: f3 50 push %rax
110 0000000000000002: 89 ff mov %edi, %edi
111 0000000000000004: 49 8d 3c 3f lea %rdi, [%r15 +%rdi*1]
112 0000000000000008: f2 ab stosd [%rdi]
113 @vdis:
114 0000000000000000: f3 50 push %rax
115 0000000000000002: 89 ff mov %edi, %edi
116 0000000000000004: 49 8d 3c 3f lea %rdi, [%r15 +%rdi*1]
117 0000000000000008: f2 ab [P] dontcare [% rdi] (s), %eax (u)
118 @rdfa_output:
119 0: [0] unrecognized instruction
120 8: [1] unrecognized instruction
121 return code: 1
122 ----------------------------------------------------------------------
123 @hex:
124 # fs mov %eax,%eax
125 64 89 C0
126 # gs mov %eax,%eax
127 65 89 C0
128 @rval:
129 VALIDATOR: 0000000000000000: 64 89 c0 mov %eax, %eax
130 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
131 VALIDATOR: 0000000000000003: 65 89 c0 mov %eax, %eax
132 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
133 VALIDATOR: Checking jump targets: 0 to 6
134 VALIDATOR: Checking that basic blocks are aligned
135 *** <input> IS UNSAFE ***
136 @rvald:
137 VALIDATOR: 0000000000000000: 64 89 c0 mov %eax, %eax
138 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
139 VALIDATOR: 0000000000000003: 65 89 c0 mov %eax, %eax
140 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
141 VALIDATOR: Checking block alignment and jump targets: 0 to 6
142 *** <input> IS UNSAFE ***
143 @vd-rval:
144 VALIDATOR: 0000000000000000: 64 89 c0 mov %eax, %eax
145 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
146 VALIDATOR: 0000000000000003: 65 89 c0 mov %eax, %eax
147 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
148 VALIDATOR: Checking jump targets: 0 to 6
149 VALIDATOR: Checking that basic blocks are aligned
150 *** <input> IS UNSAFE ***
151 @dis:
152 0000000000000000: 64 89 c0 mov %eax, %eax
153 0000000000000003: 65 89 c0 mov %eax, %eax
154 @vdis:
155 0000000000000000: 64 89 c0 mov %eax, %eax
156 0000000000000003: 65 89 c0 mov %eax, %eax
157 @rdfa_output:
158 0: [0] unrecognized instruction
159 3: [1] unrecognized instruction
160 return code: 1
161 ----------------------------------------------------------------------
162 @hex:
163 # mov %eax,%cs:(%rsp)
164 2E 89 04 24
165 # mov %eax,%ss:(%rsp)
166 36 89 04 24
167 # mov %eax,%ds:(%rsp)
168 3E 89 04 24
169 # mov %eax,%es:(%rsp)
170 26 89 04 24
171 # mov %eax,%fs:(%rsp)
172 64 89 04 24
173 # mov %eax,%gs:(%rsp)
174 65 89 04 24
175 # mov %eax,(%esp)
176 67 89 04 24
177 @rval:
178 VALIDATOR: 0000000000000000: 2e 89 04 24 mov [%rsp], %eax
179 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
180 VALIDATOR: 0000000000000004: 36 89 04 24 mov [%rsp], %eax
181 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
182 VALIDATOR: 0000000000000008: 3e 89 04 24 mov [%rsp], %eax
183 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
184 VALIDATOR: 000000000000000c: 26 89 04 24 mov [%rsp], %eax
185 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
186 VALIDATOR: 0000000000000010: 64 89 04 24 mov %fs:[%rsp], %eax
187 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
188 VALIDATOR: 0000000000000010: 64 89 04 24 mov %fs:[%rsp], %eax
189 VALIDATOR: ERROR: Segment memory reference not allowed
190 VALIDATOR: 0000000000000014: 65 89 04 24 mov %gs:[%rsp], %eax
191 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
192 VALIDATOR: 0000000000000014: 65 89 04 24 mov %gs:[%rsp], %eax
193 VALIDATOR: ERROR: Segment memory reference not allowed
194 VALIDATOR: 0000000000000018: 67 89 04 24 mov [%esp], %eax
195 VALIDATOR: ERROR: Use of 67 (ADDR16) prefix not allowed by Native Client
196 VALIDATOR: 0000000000000018: 67 89 04 24 mov [%esp], %eax
197 VALIDATOR: ERROR: Assignment to non-64 bit memory address
198 VALIDATOR: Checking jump targets: 0 to 1c
199 VALIDATOR: Checking that basic blocks are aligned
200 *** <input> IS UNSAFE ***
201 @rvald:
202 VALIDATOR: 0000000000000000: 2e 89 04 24 mov [%rsp], %eax
203 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
204 VALIDATOR: 0000000000000004: 36 89 04 24 mov [%rsp], %eax
205 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
206 VALIDATOR: 0000000000000008: 3e 89 04 24 mov [%rsp], %eax
207 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
208 VALIDATOR: 000000000000000c: 26 89 04 24 mov [%rsp], %eax
209 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
210 VALIDATOR: 0000000000000010: 64 89 04 24 mov %fs:[%rsp], %eax
211 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
212 VALIDATOR: 0000000000000010: 64 89 04 24 mov %fs:[%rsp], %eax
213 VALIDATOR: ERROR: Segment memory reference not allowed
214 VALIDATOR: 0000000000000014: 65 89 04 24 mov %gs:[%rsp], %eax
215 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
216 VALIDATOR: 0000000000000014: 65 89 04 24 mov %gs:[%rsp], %eax
217 VALIDATOR: ERROR: Segment memory reference not allowed
218 VALIDATOR: 0000000000000018: 67 89 04 24 mov [%esp], %eax
219 VALIDATOR: ERROR: Use of 67 (ADDR16) prefix not allowed by Native Client
220 VALIDATOR: 0000000000000018: 67 89 04 24 mov [%esp], %eax
221 VALIDATOR: ERROR: Assignment to non-64 bit memory address
222 VALIDATOR: Checking block alignment and jump targets: 0 to 1c
223 *** <input> IS UNSAFE ***
224 @vd-rval:
225 VALIDATOR: 0000000000000000: 2e 89 04 24 mov [%rsp], %eax
226 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
227 VALIDATOR: 0000000000000004: 36 89 04 24 mov [%rsp], %eax
228 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
229 VALIDATOR: 0000000000000008: 3e 89 04 24 mov [%rsp], %eax
230 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
231 VALIDATOR: 000000000000000c: 26 89 04 24 mov [%rsp], %eax
232 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
233 VALIDATOR: 0000000000000010: 64 89 04 24 mov %fs:[%rsp], %eax
234 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
235 VALIDATOR: 0000000000000010: 64 89 04 24 mov %fs:[%rsp], %eax
236 VALIDATOR: ERROR: Segment memory reference not allowed
237 VALIDATOR: 0000000000000014: 65 89 04 24 mov %gs:[%rsp], %eax
238 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
239 VALIDATOR: 0000000000000014: 65 89 04 24 mov %gs:[%rsp], %eax
240 VALIDATOR: ERROR: Segment memory reference not allowed
241 VALIDATOR: 0000000000000018: 67 89 04 24 mov [%esp], %eax
242 VALIDATOR: ERROR: Use of 67 (ADDR16) prefix not allowed by Native Client
243 VALIDATOR: 0000000000000018: 67 89 04 24 mov [%esp], %eax
244 VALIDATOR: ERROR: Assignment to non-64 bit memory address
245 VALIDATOR: Checking jump targets: 0 to 1c
246 VALIDATOR: Checking that basic blocks are aligned
247 *** <input> IS UNSAFE ***
248 @dis:
249 0000000000000000: 2e 89 04 24 mov [%rsp], %ea x
250 0000000000000004: 36 89 04 24 mov [%rsp], %ea x
251 0000000000000008: 3e 89 04 24 mov [%rsp], %ea x
252 000000000000000c: 26 89 04 24 mov [%rsp], %ea x
253 0000000000000010: 64 89 04 24 mov %fs:[%rsp], %eax
254 0000000000000014: 65 89 04 24 mov %gs:[%rsp], %eax
255 0000000000000018: 67 89 04 24 mov [%esp], %ea x
256 @vdis:
257 0000000000000000: 2e 89 04 24 mov [%rsp], %ea x
258 0000000000000004: 36 89 04 24 mov [%rsp], %ea x
259 0000000000000008: 3e 89 04 24 mov [%rsp], %ea x
260 000000000000000c: 26 89 04 24 mov [%rsp], %ea x
261 0000000000000010: 64 89 04 24 mov %fs:[%rsp], %eax
262 0000000000000014: 65 89 04 24 mov %gs:[%rsp], %eax
263 0000000000000018: 67 89 04 24 mov [%esp], %ea x
264 @rdfa_output:
265 0: [0] unrecognized instruction
266 4: [1] unrecognized instruction
267 8: [2] unrecognized instruction
268 c: [3] unrecognized instruction
269 10: [4] unrecognized instruction
270 14: [5] unrecognized instruction
271 18: [6] unrecognized instruction
272 return code: 1
273 ----------------------------------------------------------------------
274 @hex:
275 # cs jmp $
276 2E EB FD
277 # ss jmp $
278 36 EB FD
279 # ds jmp $
280 3E EB FD
281 # es jmp $
282 26 EB FD
283 # fs jmp $
284 64 EB FD
285 # gs jmp $
286 65 EB FD
287 # jmp dword $
288 66 EB FD
289 # ss jz $
290 36 74 02
291 # fs jz $
292 64 74 02
293 # gs jz $
294 65 74 02
295
296 # nops for bundle alignment
297 90 90
298
299 # es jz $
300 26 74 02
301 @rval:
302 VALIDATOR: 0000000000000000: 2e eb fd jmp 0x0
303 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
304 VALIDATOR: 0000000000000003: 36 eb fd jmp 0x3
305 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
306 VALIDATOR: 0000000000000006: 3e eb fd jmp 0x6
307 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
308 VALIDATOR: 0000000000000009: 26 eb fd jmp 0x9
309 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
310 VALIDATOR: 000000000000000c: 64 eb fd jmp 0xc
311 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
312 VALIDATOR: 000000000000000f: 65 eb fd jmp 0xf
313 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
314 VALIDATOR: 0000000000000012: 66 eb fd jmp 0x12
315 VALIDATOR: ERROR: Use of DATA16 (66) prefix for instruction not allowed by Nat ive Client
316 VALIDATOR: 0000000000000015: 36 74 02 jz 0 x1a
317 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
318 VALIDATOR: 0000000000000018: 64 74 02 jz 0 x1d
319 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
320 VALIDATOR: 000000000000001b: 65 74 02 jz 0 x20
321 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
322 VALIDATOR: 0000000000000020: 26 74 02 jz 0 x25
323 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
324 VALIDATOR: 0000000000000020: 26 74 02 jz 0 x25
325 VALIDATOR: ERROR: Instruction jumps to bad address
326 VALIDATOR: Checking jump targets: 0 to 23
327 VALIDATOR: ERROR: 1a: Bad jump target
328 VALIDATOR: ERROR: 1d: Bad jump target
329 VALIDATOR: Checking that basic blocks are aligned
330 *** <input> IS UNSAFE ***
331 @rvald:
332 VALIDATOR: 0000000000000000: 2e eb fd jmp 0x0
333 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
334 VALIDATOR: 0000000000000003: 36 eb fd jmp 0x3
335 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
336 VALIDATOR: 0000000000000006: 3e eb fd jmp 0x6
337 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
338 VALIDATOR: 0000000000000009: 26 eb fd jmp 0x9
339 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
340 VALIDATOR: 000000000000000c: 64 eb fd jmp 0xc
341 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
342 VALIDATOR: 000000000000000f: 65 eb fd jmp 0xf
343 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
344 VALIDATOR: 0000000000000012: 66 eb fd jmp 0x12
345 VALIDATOR: ERROR: Use of DATA16 (66) prefix for instruction not allowed by Nat ive Client
346 VALIDATOR: 0000000000000015: 36 74 02 jz 0 x1a
347 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
348 VALIDATOR: 0000000000000018: 64 74 02 jz 0 x1d
349 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
350 VALIDATOR: 000000000000001b: 65 74 02 jz 0 x20
351 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
352 VALIDATOR: 0000000000000020: 26 74 02 jz 0 x25
353 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
354 VALIDATOR: 0000000000000020: 26 74 02 jz 0 x25
355 VALIDATOR: ERROR: Instruction jumps to bad address
356 VALIDATOR: Checking block alignment and jump targets: 0 to 23
357 VALIDATOR: 0000000000000015: 36 74 02 jz 0 x1a
358 VALIDATOR: ERROR: Doesn't jump to instruction address
359 VALIDATOR: 0000000000000018: 64 74 02 jz 0 x1d
360 VALIDATOR: ERROR: Doesn't jump to instruction address
361 *** <input> IS UNSAFE ***
362 @vd-rval:
363 VALIDATOR: 0000000000000000: 2e eb fd [P] dontcarejump %rip (s), 0x0 (u)
364 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
365 VALIDATOR: 0000000000000003: 36 eb fd [P] dontcarejump %rip (s), 0x3 (u)
366 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
367 VALIDATOR: 0000000000000006: 3e eb fd [P] dontcarejump %rip (s), 0x6 (u)
368 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
369 VALIDATOR: 0000000000000009: 26 eb fd [P] dontcarejump %rip (s), 0x9 (u)
370 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
371 VALIDATOR: 000000000000000c: 64 eb fd [P] dontcarejump %rip (s), 0xc (u)
372 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
373 VALIDATOR: 000000000000000f: 65 eb fd [P] dontcarejump %rip (s), 0xf (u)
374 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
375 VALIDATOR: 0000000000000012: 66 eb fd [P] dontcarejump %rip (s), 0x12 (u)
376 VALIDATOR: ERROR: Use of DATA16 (66) prefix for instruction not allowed by Nat ive Client
377 VALIDATOR: 0000000000000015: 36 74 02 [P] dontcarecondjump %rip (s), 0x1a (u)
378 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
379 VALIDATOR: 0000000000000018: 64 74 02 [P] dontcarecondjump %rip (s), 0x1d (u)
380 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
381 VALIDATOR: 000000000000001b: 65 74 02 [P] dontcarecondjump %rip (s), 0x20 (u)
382 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
383 VALIDATOR: 0000000000000020: 26 74 02 [P] dontcarecondjump %rip (s), 0x25 (u)
384 VALIDATOR: ERROR: Uses a segment prefix byte not allowed by Native Client
385 VALIDATOR: 0000000000000020: 26 74 02 [P] dontcarecondjump %rip (s), 0x25 (u)
386 VALIDATOR: ERROR: Instruction jumps to bad address
387 VALIDATOR: Checking jump targets: 0 to 23
388 VALIDATOR: ERROR: 1a: Bad jump target
389 VALIDATOR: ERROR: 1d: Bad jump target
390 VALIDATOR: Checking that basic blocks are aligned
391 *** <input> IS UNSAFE ***
392 @dis:
393 0000000000000000: 2e eb fd jmp 0x0
394 0000000000000003: 36 eb fd jmp 0x3
395 0000000000000006: 3e eb fd jmp 0x6
396 0000000000000009: 26 eb fd jmp 0x9
397 000000000000000c: 64 eb fd jmp 0xc
398 000000000000000f: 65 eb fd jmp 0xf
399 0000000000000012: 66 eb fd jmp 0x12
400 0000000000000015: 36 74 02 jz 0x1a
401 0000000000000018: 64 74 02 jz 0x1d
402 000000000000001b: 65 74 02 jz 0x20
403 000000000000001e: 90 nop
404 000000000000001f: 90 nop
405 0000000000000020: 26 74 02 jz 0x25
406 @vdis:
407 0000000000000000: 2e eb fd [P] dontcarejum p %rip (s), 0x0 (u)
408 0000000000000003: 36 eb fd [P] dontcarejum p %rip (s), 0x3 (u)
409 0000000000000006: 3e eb fd [P] dontcarejum p %rip (s), 0x6 (u)
410 0000000000000009: 26 eb fd [P] dontcarejum p %rip (s), 0x9 (u)
411 000000000000000c: 64 eb fd [P] dontcarejum p %rip (s), 0xc (u)
412 000000000000000f: 65 eb fd [P] dontcarejum p %rip (s), 0xf (u)
413 0000000000000012: 66 eb fd [P] dontcarejum p %rip (s), 0x12 (u)
414 0000000000000015: 36 74 02 [P] dontcarecon djump %rip (s), 0x1a (u)
415 0000000000000018: 64 74 02 [P] dontcarecon djump %rip (s), 0x1d (u)
416 000000000000001b: 65 74 02 [P] dontcarecon djump %rip (s), 0x20 (u)
417 000000000000001e: 90 [P] dontcare
418 000000000000001f: 90 [P] dontcare
419 0000000000000020: 26 74 02 [P] dontcarecon djump %rip (s), 0x25 (u)
420 @rdfa_output:
421 0: [0] unrecognized instruction
422 3: [1] unrecognized instruction
423 6: [2] unrecognized instruction
424 9: [3] unrecognized instruction
425 c: [4] unrecognized instruction
426 f: [5] unrecognized instruction
427 12: [6] unrecognized instruction
428 15: [7] unrecognized instruction
429 18: [8] unrecognized instruction
430 1b: [9] unrecognized instruction
431 20: [0] unrecognized instruction
432 return code: 1
433 @validators_disagree:
434 errors reported by old validator but not by rdfa one:
435 0x1a
436 0x1d
437 These are bad jump targets. RDFA validator did not recognize these jumps with
438 prefixes at all, so these offsets are nor reported.
439 ----------------------------------------------------------------------
440 @hex:
441 # Mandatory prefix.
442 # phaddw %xmm0,%xmm1
443 66 0f 38 01 c8
444 # addsd %xmm0,%xmm1
445 f2 0f 58 c8
446 # cmpeqss %xmm0,%xmm1
447 f3 0f c2 c8 00
448 @rval:
449 VALIDATOR: Checking jump targets: 0 to e
450 VALIDATOR: Checking that basic blocks are aligned
451 *** <input> is safe ***
452 @rvald:
453 VALIDATOR: Checking block alignment and jump targets: 0 to e
454 *** <input> is safe ***
455 @vd-rval:
456 VALIDATOR: Checking jump targets: 0 to e
457 VALIDATOR: Checking that basic blocks are aligned
458 *** <input> is safe ***
459 @dis:
460 0000000000000000: 66 0f 38 01 c8 phaddw %xmm1, % xmm0
461 0000000000000005: f2 0f 58 c8 addsd %xmm1, %x mm0
462 0000000000000009: f3 0f c2 c8 00 cmpss %xmm1, %x mm0, 0x0
463 @vdis:
464 0000000000000000: 66 0f 38 01 c8 [P] dontcare %x mm0 (u)
465 0000000000000005: f2 0f 58 c8 [P] dontcare %x mm0 (u)
466 0000000000000009: f3 0f c2 c8 00 [P] dontcare %x mm0 (u), 0x0 (u)
467 @rdfa_output:
468 return code: 0
OLDNEW
« no previous file with comments | « src/trusted/validator_x86/testdata/64/prefix-3.test ('k') | src/trusted/validator_x86/testdata/64/push.test » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698