Upstream version 11.39.266.0
[platform/framework/web/crosswalk.git] / src / native_client / src / trusted / validator_x86 / testdata / 64 / mov-lea-rbp-bad-3.test
1 @hex:
2   # Bad example of using lea solution (instead of add) to update rbp.
3   # That is, we use a value other than one for the scale associated with the
4   # base register r15.
5   #    mov %ebp, %ecx
6   #    lea %rbp, [%rbp+%r15*2]
7   89 cd
8   4a 8d 6c 7d 00
9 @val:
10   VALIDATOR: 0000000000000002: 4a 8d 6c 7d 00                               lea %rbp, [%rbp+%r15*2]
11   VALIDATOR: ERROR: Illegal change to register RBP
12   VALIDATOR: 0000000000000000: 89 cd                                        mov %ebp, %ecx
13   VALIDATOR: ERROR: Illegal assignment to EBP
14   VALIDATOR: Checking jump targets: 0 to 7
15   VALIDATOR: Checking that basic blocks are aligned
16   *** <input> IS UNSAFE ***
17 @rval:
18   VALIDATOR: 0000000000000002: 4a 8d 6c 7d 00                               lea %rbp, [%rbp+%r15*2]
19   VALIDATOR: ERROR: Illegal change to register RBP
20   VALIDATOR: 0000000000000000: 89 cd                                        mov %ebp, %ecx
21   VALIDATOR: ERROR: Illegal assignment to EBP
22   VALIDATOR: Checking jump targets: 0 to 7
23   VALIDATOR: Checking that basic blocks are aligned
24   *** <input> IS UNSAFE ***
25 @rvald:
26   VALIDATOR: 0000000000000002: 4a 8d 6c 7d 00                               lea %rbp, [%rbp+%r15*2]
27   VALIDATOR: ERROR: Illegal change to register RBP
28   VALIDATOR: 0000000000000000: 89 cd                                        mov %ebp, %ecx
29   VALIDATOR: ERROR: Illegal assignment to EBP
30   VALIDATOR: Checking block alignment and jump targets: 0 to 7
31   *** <input> IS UNSAFE ***
32 @vd-rval:
33   VALIDATOR: 0000000000000002: 4a 8d 6c 7d 00                               lea %rbp, [%rbp+%r15*2]
34   VALIDATOR: ERROR: Illegal change to register RBP
35   VALIDATOR: 0000000000000000: 89 cd                                        mov %ebp, %ecx
36   VALIDATOR: ERROR: Illegal assignment to EBP
37   VALIDATOR: Checking jump targets: 0 to 7
38   VALIDATOR: Checking that basic blocks are aligned
39   *** <input> IS UNSAFE ***
40 @dis:
41   0000000000000000: 89 cd                                        mov %ebp, %ecx
42   0000000000000002: 4a 8d 6c 7d 00                               lea %rbp, [%rbp+%r15*2]
43 @vdis:
44   0000000000000000: 89 cd                                        mov %ebp, %ecx
45   0000000000000002: 4a 8d 6c 7d 00                               lea %rbp, [%rbp+%r15*2]
46 @rdfa_output:
47   2: [0] improper %rbp sandboxing
48   2: [0] error - %bpl or %bp is changed
49   return code: 1
50 @validators_disagree:
51   errors reported by old validator but not by rdfa one:
52     0x0 - same error, but it's reported by RDFA differently