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
6 # lea %rbp, [%rbp+%r15*2]
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 ***
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 ***
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 ***
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 ***
41 0000000000000000: 89 cd mov %ebp, %ecx
42 0000000000000002: 4a 8d 6c 7d 00 lea %rbp, [%rbp+%r15*2]
44 0000000000000000: 89 cd mov %ebp, %ecx
45 0000000000000002: 4a 8d 6c 7d 00 lea %rbp, [%rbp+%r15*2]
47 2: [0] improper %rbp sandboxing
48 2: [0] error - %bpl or %bp is changed
51 errors reported by old validator but not by rdfa one:
52 0x0 - same error, but it's reported by RDFA differently