| Index: src/trusted/validator_x86/testdata/32/tls.test
|
| diff --git a/src/trusted/validator_x86/testdata/32/tls.test b/src/trusted/validator_x86/testdata/32/tls.test
|
| deleted file mode 100644
|
| index da293845352b430ee67a6967df6bd6cc969ceb70..0000000000000000000000000000000000000000
|
| --- a/src/trusted/validator_x86/testdata/32/tls.test
|
| +++ /dev/null
|
| @@ -1,118 +0,0 @@
|
| -@hex:
|
| - # Test valid TLS access commands.
|
| - # mov %gs:0, %eax
|
| - 65 a1 00 00 00 00
|
| - # mov %gs:4, %eax
|
| - 65 a1 04 00 00 00
|
| -@nval:
|
| - *** <input> is safe ***
|
| -@dis:
|
| - 00000000: 65 a1 00 00 00 00 mov %eax, %gs:[0x0]
|
| - 00000006: 65 a1 04 00 00 00 mov %eax, %gs:[0x4]
|
| -@rdfa_output:
|
| - return code: 0
|
| -----------------------------------------------------------------------
|
| -@hex:
|
| - # Access with something besides 'mov'
|
| - # add %gs:0, %eax
|
| - 65 03 05 00 00 00 00
|
| -@nval:
|
| - VALIDATOR: 0: Bad prefix usage
|
| - *** <input> IS UNSAFE ***
|
| -@dis:
|
| - 00000000: 65 03 05 00 00 00 00 add %eax, 0x0
|
| -@rdfa_output:
|
| - 0: [0] unrecognized instruction
|
| - return code: 1
|
| -----------------------------------------------------------------------
|
| -@hex:
|
| - # Forbidden forms
|
| - # mov %gs:0, %ax
|
| - 65 66 a1 00 00 00 00
|
| - # mov %ax, %gs:0
|
| - 65 66 a3 00 00 00 00
|
| - # lock add %gs:0x0,%eax
|
| - 65 F0 03 05 00 00 00 00
|
| -@nval:
|
| - VALIDATOR: 0: Bad prefix usage
|
| - VALIDATOR: 7: Bad prefix usage
|
| - VALIDATOR: e: Bad prefix usage
|
| - *** <input> IS UNSAFE ***
|
| -@dis:
|
| - 00000000: 65 66 a1 00 00 00 00 mov %ax, %gs:[0x0]
|
| - 00000007: 65 66 a3 00 00 00 00 mov %gs:[0x0], %ax
|
| - 0000000e: 65 f0 03 05 00 00 00 00 invalid %eax, 0x0
|
| -@rdfa_output:
|
| - 0: [0] unrecognized instruction
|
| - 7: [1] unrecognized instruction
|
| - e: [2] unrecognized instruction
|
| - return code: 1
|
| -----------------------------------------------------------------------
|
| -@hex:
|
| - # Access through fs.
|
| - # mov %fs:0, %eax
|
| - 64 a1 00 00 00 00
|
| - # mov %eax, %fs:0
|
| - 64 a3 00 00 00 00
|
| - # mov %fs:0, %ax
|
| - 64 66 a1 00 00 00 00
|
| - # mov %ax, %fs:0
|
| - 64 66 a3 00 00 00 00
|
| -@nval:
|
| - VALIDATOR: 0: Bad prefix usage
|
| - VALIDATOR: 6: Bad prefix usage
|
| - VALIDATOR: c: Bad prefix usage
|
| - VALIDATOR: 13: Bad prefix usage
|
| - *** <input> IS UNSAFE ***
|
| -@dis:
|
| - 00000000: 64 a1 00 00 00 00 mov %eax, %fs:[0x0]
|
| - 00000006: 64 a3 00 00 00 00 mov %fs:[0x0], %eax
|
| - 0000000c: 64 66 a1 00 00 00 00 mov %ax, %fs:[0x0]
|
| - 00000013: 64 66 a3 00 00 00 00 mov %fs:[0x0], %ax
|
| -@rdfa_output:
|
| - 0: [0] unrecognized instruction
|
| - 6: [1] unrecognized instruction
|
| - c: [2] unrecognized instruction
|
| - 13: [3] unrecognized instruction
|
| - return code: 1
|
| -----------------------------------------------------------------------
|
| -@hex:
|
| - # Can we write to gs segment?
|
| - # mov %eax, %gs:0
|
| - 65 a3 00 00 00 00
|
| -@nval:
|
| - *** <input> is safe ***
|
| -@dis:
|
| - 00000000: 65 a3 00 00 00 00 mov %gs:[0x0], %eax
|
| -@rdfa_output:
|
| - 0: [0] unrecognized instruction
|
| - return code: 1
|
| -@validators_disagree:
|
| - gs segment should be read-only, but old validator does not enforce that.
|
| - See http://code.google.com/p/nativeclient/issues/detail?id=2250
|
| -----------------------------------------------------------------------
|
| -@hex:
|
| - # Fixed offsets besides 0 and 4
|
| - # mov %gs:3, %eax
|
| - 65 a1 03 00 00 00
|
| - # mov %gs:8, %eax
|
| - 65 a1 08 00 00 00
|
| -
|
| - # Can we read from arbitrary offset?
|
| - # mov %gs:%eax, %eax
|
| - 65 8B 00
|
| -@nval:
|
| - *** <input> is safe ***
|
| -@dis:
|
| - 00000000: 65 a1 03 00 00 00 mov %eax, %gs:[0x3]
|
| - 00000006: 65 a1 08 00 00 00 mov %eax, %gs:[0x8]
|
| - 0000000c: 65 8b 00 mov %eax, %gs:[%eax]
|
| -@rdfa_output:
|
| - 0: [0] unrecognized instruction
|
| - 6: [1] unrecognized instruction
|
| - c: [2] unrecognized instruction
|
| - return code: 1
|
| -@validators_disagree:
|
| - gs is only supposed to be read at offsets 0 and 4, but old validator does not
|
| - enforce that.
|
| - See http://code.google.com/p/nativeclient/issues/detail?id=2250
|
|
|