| Index: src/trusted/validator_x86/testdata/64/direct-call-16.tf
|
| diff --git a/src/trusted/validator_x86/testdata/64/direct-call-16.tf b/src/trusted/validator_x86/testdata/64/direct-call-16.tf
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e1556196590cd64011ae781f8fc54585c0565819
|
| --- /dev/null
|
| +++ b/src/trusted/validator_x86/testdata/64/direct-call-16.tf
|
| @@ -0,0 +1,32 @@
|
| +BITS: 64
|
| +OUTCOME: invalid
|
| +
|
| +# This file tests how we handle a 16-bit direct call. In particular, it tests
|
| +# whether we actually disallow prefix 66 on the direct call.
|
| +#
|
| +# Pad with nops, so that call is bundle aligned.
|
| +asm: nop; nop; nop; nop; nop; nop; nop; nop
|
| +hex: 90 90 90 90 90 90 90 90
|
| +
|
| +asm: nop; nop; nop; nop; nop; nop; nop; nop
|
| +hex: 90 90 90 90 90 90 90 90
|
| +
|
| +asm: nop; nop; nop; nop; nop; nop; nop; nop
|
| +hex: 90 90 90 90 90 90 90 90
|
| +
|
| +asm: nop; nop; nop
|
| +hex: 90 90 90
|
| +
|
| +
|
| +# Define 16-bit direct call.
|
| +hex: 66 e8 F0 FF
|
| +nc_out: ERROR: Opcode sequence doesn't define a valid x86 instruction
|
| +nc_out: ERROR: Use of DATA16 (66) prefix for instruction not allowed by Native Client
|
| +nc_out: [at +2] ERROR: Opcode sequence doesn't define a valid x86 instruction
|
| +
|
| +
|
| +# Padding in case the parser of the previous instruction recognizes
|
| +# the wrong byte length for the jump constant.
|
| +asm: nop; nop
|
| +hex: 90 90
|
| +
|
|
|