Index: src/trusted/validator_x86/testdata/64/maskmov_test.test |
diff --git a/src/trusted/validator_x86/testdata/64/maskmov_test.test b/src/trusted/validator_x86/testdata/64/maskmov_test.test |
deleted file mode 100644 |
index b664aeb7473cf681ea925454a7d0f9cc60cb393d..0000000000000000000000000000000000000000 |
--- a/src/trusted/validator_x86/testdata/64/maskmov_test.test |
+++ /dev/null |
@@ -1,80 +0,0 @@ |
-@hex: |
- # Show that we handle the expected sandboxing instructions for maskmov. |
- |
- # Case one: correct masking of segment DS:%rsi |
- # mov %edi, %edi |
- 89 ff |
- # lea (%r15, %rdi), %rdi |
- 49 8d 3c 3f |
- # maskmovq %mm1, %mm2 |
- 0f f7 d1 |
- |
- # Case two: incorrect masking of segment DS:%rsi |
- # add %edi, %edi |
- 01 ff |
- # lea (%r15, %rdi), %rdi |
- 49 8d 3c 3f |
- # maskmovq %mm1, %mm2 |
- 0f f7 d1 |
- |
- # Maskmovdqu is also fine |
- # mov %edi, %edi |
- 89 ff |
- # lea (%r15, %rdi), %rdi |
- 49 8d 3c 3f |
- # maskmovdqu %xmm1, %xmm2 |
- 66 0f f7 d1 |
- |
- 90 90 90 90 |
- |
- # But vmaskmovdqu is not |
- # mov %edi, %edi |
- # lea (%r15, %rdi), %rdi |
- # vmaskmovdqu %xmm1, %xmm2 |
- # (machine code is written in one line to avoid spurious errors caused |
- # by nop patching) |
- 89 ff 49 8d 3c 3f c5 f9 f7 d1 |
-@rval: |
- VALIDATOR: 000000000000000f: 0f f7 d1 maskmovq %mmx2, %mmx1 |
- VALIDATOR: ERROR: Segment memory reference not allowed |
- VALIDATOR: 0000000000000026: c5 invalid |
- VALIDATOR: ERROR: This instruction has been marked illegal by Native Client |
- VALIDATOR: 0000000000000026: c5 invalid |
- VALIDATOR: ERROR: Opcode sequence doesn't define a valid x86 instruction |
- VALIDATOR: Checking jump targets: 0 to 2a |
- VALIDATOR: Checking that basic blocks are aligned |
- *** <input> IS UNSAFE *** |
-@dis: |
- 0000000000000000: 89 ff mov %edi, %edi |
- 0000000000000002: 49 8d 3c 3f lea %rdi, [%r15+%rdi*1] |
- 0000000000000006: 0f f7 d1 maskmovq %mmx2, %mmx1 |
- 0000000000000009: 01 ff add %edi, %edi |
- 000000000000000b: 49 8d 3c 3f lea %rdi, [%r15+%rdi*1] |
- 000000000000000f: 0f f7 d1 maskmovq %mmx2, %mmx1 |
- 0000000000000012: 89 ff mov %edi, %edi |
- 0000000000000014: 49 8d 3c 3f lea %rdi, [%r15+%rdi*1] |
- 0000000000000018: 66 0f f7 d1 maskmovdqu %xmm2, %xmm1 |
- 000000000000001c: 90 nop |
- 000000000000001d: 90 nop |
- 000000000000001e: 90 nop |
- 000000000000001f: 90 nop |
- 0000000000000020: 89 ff mov %edi, %edi |
- 0000000000000022: 49 8d 3c 3f lea %rdi, [%r15+%rdi*1] |
- 0000000000000026: c5 invalid |
- 0000000000000027: f9 stc |
- 0000000000000028: f7 d1 not %ecx |
-@rdfa_output: |
- f: [0] unrecognized instruction |
- 20: [0] unrecognized instruction |
- return code: 1 |
-@validators_disagree: |
- RDFA validator recognizes vmackmovdqu in the triple |
- mov %edi, %edi |
- lea (%r15, %rdi), %rdi |
- vmaskmovdqu %xmm1, %xmm2 |
- and then rejects it, so error message points at the beginning of the triple. |
- |
- errors reported by old validator but not by rdfa one: |
- 0x26 |
- errors reported by rdfa validator but not by old one: |
- 0x20 |