| OLD | NEW |
| (Empty) |
| 1 @hex: | |
| 2 # Show an example of an invalid (implicit) reference to a segment register | |
| 3 # (in this case missing a 32-bit zero extending operation before the LEA): | |
| 4 # | |
| 5 # lea %rdi, [%r15+%rdi*1] | |
| 6 # stosd | |
| 7 49 8d 3c 3f | |
| 8 ab | |
| 9 @val: | |
| 10 VALIDATOR: 0000000000000004: ab stos
d [%rdi] | |
| 11 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 12 VALIDATOR: Checking jump targets: 0 to 5 | |
| 13 VALIDATOR: Checking that basic blocks are aligned | |
| 14 *** <input> IS UNSAFE *** | |
| 15 @rval: | |
| 16 VALIDATOR: 0000000000000004: ab stos
d [%rdi] | |
| 17 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 18 VALIDATOR: Checking jump targets: 0 to 5 | |
| 19 VALIDATOR: Checking that basic blocks are aligned | |
| 20 *** <input> IS UNSAFE *** | |
| 21 @rvald: | |
| 22 VALIDATOR: 0000000000000004: ab stos
d [%rdi] | |
| 23 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 24 VALIDATOR: Checking block alignment and jump targets: 0 to 5 | |
| 25 *** <input> IS UNSAFE *** | |
| 26 @vd-rval: | |
| 27 VALIDATOR: 0000000000000004: ab [P]
dontcare [%rdi] (s), %eax (u) | |
| 28 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 29 VALIDATOR: Checking jump targets: 0 to 5 | |
| 30 VALIDATOR: Checking that basic blocks are aligned | |
| 31 *** <input> IS UNSAFE *** | |
| 32 @dis: | |
| 33 0000000000000000: 49 8d 3c 3f lea %rdi, [%r15
+%rdi*1] | |
| 34 0000000000000004: ab stosd [%rdi] | |
| 35 @vdis: | |
| 36 0000000000000000: 49 8d 3c 3f lea %rdi, [%r15
+%rdi*1] | |
| 37 0000000000000004: ab [P] dontcare [%
rdi] (s), %eax (u) | |
| 38 @rdfa_output: | |
| 39 4: [0] unrecognized instruction | |
| 40 return code: 1 | |
| OLD | NEW |