| OLD | NEW |
| (Empty) |
| 1 @hex: | |
| 2 # xchg %esp,%ebp | |
| 3 87 e5 | |
| 4 90 | |
| 5 | |
| 6 # xchg %rsp,%rbp | |
| 7 48 87 e5 | |
| 8 | |
| 9 # lea (%rbp),%esp | |
| 10 # add %r15,%rsp | |
| 11 8d 65 00 | |
| 12 4c 01 fc | |
| 13 @rval: | |
| 14 VALIDATOR: 0000000000000000: 87 e5 xchg
%ebp, %esp | |
| 15 VALIDATOR: ERROR: Illegal assignment to ESP | |
| 16 VALIDATOR: 0000000000000000: 87 e5 xchg
%ebp, %esp | |
| 17 VALIDATOR: ERROR: Illegal assignment to EBP | |
| 18 VALIDATOR: 0000000000000003: 48 87 e5 xchg
%rbp, %rsp | |
| 19 VALIDATOR: ERROR: Illegal change to register RBP | |
| 20 VALIDATOR: 0000000000000003: 48 87 e5 xchg
%rbp, %rsp | |
| 21 VALIDATOR: ERROR: Illegal assignment to RSP | |
| 22 VALIDATOR: Checking jump targets: 0 to c | |
| 23 VALIDATOR: Checking that basic blocks are aligned | |
| 24 *** <input> IS UNSAFE *** | |
| 25 @rvald: | |
| 26 VALIDATOR: 0000000000000000: 87 e5 xchg
%ebp, %esp | |
| 27 VALIDATOR: ERROR: Illegal assignment to ESP | |
| 28 VALIDATOR: 0000000000000000: 87 e5 xchg
%ebp, %esp | |
| 29 VALIDATOR: ERROR: Illegal assignment to EBP | |
| 30 VALIDATOR: 0000000000000003: 48 87 e5 xchg
%rbp, %rsp | |
| 31 VALIDATOR: ERROR: Illegal change to register RBP | |
| 32 VALIDATOR: 0000000000000003: 48 87 e5 xchg
%rbp, %rsp | |
| 33 VALIDATOR: ERROR: Illegal assignment to RSP | |
| 34 VALIDATOR: Checking block alignment and jump targets: 0 to c | |
| 35 *** <input> IS UNSAFE *** | |
| 36 @vd-rval: | |
| 37 VALIDATOR: 0000000000000000: 87 e5 [P]
dontcare %ebp (suz), %esp (suz) | |
| 38 VALIDATOR: ERROR: Illegal assignment to ESP | |
| 39 VALIDATOR: 0000000000000000: 87 e5 [P]
dontcare %ebp (suz), %esp (suz) | |
| 40 VALIDATOR: ERROR: Illegal assignment to EBP | |
| 41 VALIDATOR: 0000000000000003: 48 87 e5 [P]
dontcare %rbp (suz), %rsp (suz) | |
| 42 VALIDATOR: ERROR: Illegal change to register RBP | |
| 43 VALIDATOR: 0000000000000003: 48 87 e5 [P]
dontcare %rbp (suz), %rsp (suz) | |
| 44 VALIDATOR: ERROR: Illegal assignment to RSP | |
| 45 VALIDATOR: Checking jump targets: 0 to c | |
| 46 VALIDATOR: Checking that basic blocks are aligned | |
| 47 *** <input> IS UNSAFE *** | |
| 48 @dis: | |
| 49 0000000000000000: 87 e5 xchg %ebp, %esp | |
| 50 0000000000000002: 90 nop | |
| 51 0000000000000003: 48 87 e5 xchg %rbp, %rsp | |
| 52 0000000000000006: 8d 65 00 lea %esp, [%rbp
] | |
| 53 0000000000000009: 4c 01 fc add %rsp, %r15 | |
| 54 @vdis: | |
| 55 0000000000000000: 87 e5 [P] dontcare %e
bp (suz), %esp (suz) | |
| 56 0000000000000002: 90 [P] dontcare | |
| 57 0000000000000003: 48 87 e5 [P] dontcare %r
bp (suz), %rsp (suz) | |
| 58 0000000000000006: 8d 65 00 lea %esp, [%rbp
] | |
| 59 0000000000000009: 4c 01 fc add %rsp, %r15 | |
| 60 @rdfa_output: | |
| 61 0: [0] improper %rsp sandboxing | |
| 62 2: [0] improper %rbp sandboxing | |
| 63 3: [0] error - %bpl or %bp is changed | |
| 64 3: [0] error - %spl or %sp is changed | |
| 65 return code: 1 | |
| 66 @validators_disagree: | |
| 67 errors reported by rdfa validator but not by old one: | |
| 68 0x2 - error recovery | |
| 69 ---------------------------------------------------------------------- | |
| 70 @hex: | |
| 71 # Wrong order (shoule be (%rbp, %r15) according to ABI) | |
| 72 # lea (%r15,%rbp,1),%rbp | |
| 73 31 e5 | |
| 74 49 8d 2c 2f | |
| 75 @rval: | |
| 76 VALIDATOR: 0000000000000002: 49 8d 2c 2f lea
%rbp, [%r15+%rbp*1] | |
| 77 VALIDATOR: ERROR: Illegal change to register RBP | |
| 78 VALIDATOR: 0000000000000000: 31 e5 xor
%ebp, %esp | |
| 79 VALIDATOR: ERROR: Illegal assignment to EBP | |
| 80 VALIDATOR: Checking jump targets: 0 to 6 | |
| 81 VALIDATOR: Checking that basic blocks are aligned | |
| 82 *** <input> IS UNSAFE *** | |
| 83 @rvald: | |
| 84 VALIDATOR: 0000000000000002: 49 8d 2c 2f lea
%rbp, [%r15+%rbp*1] | |
| 85 VALIDATOR: ERROR: Illegal change to register RBP | |
| 86 VALIDATOR: 0000000000000000: 31 e5 xor
%ebp, %esp | |
| 87 VALIDATOR: ERROR: Illegal assignment to EBP | |
| 88 VALIDATOR: Checking block alignment and jump targets: 0 to 6 | |
| 89 *** <input> IS UNSAFE *** | |
| 90 @vd-rval: | |
| 91 VALIDATOR: 0000000000000002: 49 8d 2c 2f lea
%rbp, [%r15+%rbp*1] | |
| 92 VALIDATOR: ERROR: Illegal change to register RBP | |
| 93 VALIDATOR: 0000000000000000: 31 e5 [P]
dontcare %ebp (suz), %esp (u) | |
| 94 VALIDATOR: ERROR: Illegal assignment to EBP | |
| 95 VALIDATOR: Checking jump targets: 0 to 6 | |
| 96 VALIDATOR: Checking that basic blocks are aligned | |
| 97 *** <input> IS UNSAFE *** | |
| 98 @dis: | |
| 99 0000000000000000: 31 e5 xor %ebp, %esp | |
| 100 0000000000000002: 49 8d 2c 2f lea %rbp, [%r15
+%rbp*1] | |
| 101 @vdis: | |
| 102 0000000000000000: 31 e5 [P] dontcare %e
bp (suz), %esp (u) | |
| 103 0000000000000002: 49 8d 2c 2f lea %rbp, [%r15
+%rbp*1] | |
| 104 @rdfa_output: | |
| 105 2: [0] improper %rbp sandboxing | |
| 106 2: [0] error - %bpl or %bp is changed | |
| 107 return code: 1 | |
| 108 @validators_disagree: | |
| 109 errors reported by old validator but not by rdfa one: | |
| 110 0x0 (rdfa reported only 0x2) | |
| 111 ---------------------------------------------------------------------- | |
| 112 @hex: | |
| 113 # xor %ebp,%esp | |
| 114 # lea (%rsp,%r15,1),%rsp | |
| 115 31 ec | |
| 116 4a 8d 24 3c | |
| 117 | |
| 118 # xor %esp,%ebp | |
| 119 # lea (%rbp,%r15,1),%rbp | |
| 120 31 e5 | |
| 121 4a 8d 6c 3d 00 | |
| 122 | |
| 123 # mov %eax,%eax | |
| 124 # lea (%r15,%rax,1),%rsp | |
| 125 89 c0 | |
| 126 49 8d 24 07 | |
| 127 | |
| 128 # mov %eax,%eax | |
| 129 # lea (%rax,%r15,1),%rsp | |
| 130 89 c0 | |
| 131 4a 8d 24 38 | |
| 132 @rval: | |
| 133 VALIDATOR: 000000000000000f: 49 8d 24 07 lea
%rsp, [%r15+%rax*1] | |
| 134 VALIDATOR: ERROR: Illegal assignment to RSP | |
| 135 VALIDATOR: 0000000000000015: 4a 8d 24 38 lea
%rsp, [%rax+%r15*1] | |
| 136 VALIDATOR: ERROR: Illegal assignment to RSP | |
| 137 VALIDATOR: Checking jump targets: 0 to 19 | |
| 138 VALIDATOR: Checking that basic blocks are aligned | |
| 139 *** <input> IS UNSAFE *** | |
| 140 @rvald: | |
| 141 VALIDATOR: 000000000000000f: 49 8d 24 07 lea
%rsp, [%r15+%rax*1] | |
| 142 VALIDATOR: ERROR: Illegal assignment to RSP | |
| 143 VALIDATOR: 0000000000000015: 4a 8d 24 38 lea
%rsp, [%rax+%r15*1] | |
| 144 VALIDATOR: ERROR: Illegal assignment to RSP | |
| 145 VALIDATOR: Checking block alignment and jump targets: 0 to 19 | |
| 146 *** <input> IS UNSAFE *** | |
| 147 @vd-rval: | |
| 148 VALIDATOR: 000000000000000f: 49 8d 24 07 lea
%rsp, [%r15+%rax*1] | |
| 149 VALIDATOR: ERROR: Illegal assignment to RSP | |
| 150 VALIDATOR: 0000000000000015: 4a 8d 24 38 lea
%rsp, [%rax+%r15*1] | |
| 151 VALIDATOR: ERROR: Illegal assignment to RSP | |
| 152 VALIDATOR: Checking jump targets: 0 to 19 | |
| 153 VALIDATOR: Checking that basic blocks are aligned | |
| 154 *** <input> IS UNSAFE *** | |
| 155 @dis: | |
| 156 0000000000000000: 31 ec xor %esp, %ebp | |
| 157 0000000000000002: 4a 8d 24 3c lea %rsp, [%rsp
+%r15*1] | |
| 158 0000000000000006: 31 e5 xor %ebp, %esp | |
| 159 0000000000000008: 4a 8d 6c 3d 00 lea %rbp, [%rbp
+%r15*1] | |
| 160 000000000000000d: 89 c0 mov %eax, %eax | |
| 161 000000000000000f: 49 8d 24 07 lea %rsp, [%r15
+%rax*1] | |
| 162 0000000000000013: 89 c0 mov %eax, %eax | |
| 163 0000000000000015: 4a 8d 24 38 lea %rsp, [%rax
+%r15*1] | |
| 164 @vdis: | |
| 165 0000000000000000: 31 ec [P] dontcare %e
sp (suz), %ebp (u) | |
| 166 0000000000000002: 4a 8d 24 3c lea %rsp, [%rsp
+%r15*1] | |
| 167 0000000000000006: 31 e5 [P] dontcare %e
bp (suz), %esp (u) | |
| 168 0000000000000008: 4a 8d 6c 3d 00 lea %rbp, [%rbp
+%r15*1] | |
| 169 000000000000000d: 89 c0 mov %eax, %eax | |
| 170 000000000000000f: 49 8d 24 07 lea %rsp, [%r15
+%rax*1] | |
| 171 0000000000000013: 89 c0 mov %eax, %eax | |
| 172 0000000000000015: 4a 8d 24 38 lea %rsp, [%rax
+%r15*1] | |
| 173 @rdfa_output: | |
| 174 f: [0] error - %spl or %sp is changed | |
| 175 15: [0] error - %spl or %sp is changed | |
| 176 return code: 1 | |
| OLD | NEW |