| OLD | NEW |
| (Empty) |
| 1 @hex: | |
| 2 # This file does some simple tests to see if we recognize when the REP/REPNE (
F2 F3) | |
| 3 # prefix bytes are allowed. | |
| 4 | |
| 5 # The following is an example of an instruction without the REP/REPNE prefix. | |
| 6 # add %al, %al | |
| 7 00 c0 | |
| 8 | |
| 9 # The following is the same instruction with an illegal REP prefix. | |
| 10 f3 00 c0 | |
| 11 | |
| 12 # The following is the same instruction with an illegal REPNE prefix. | |
| 13 f2 00 c0 | |
| 14 | |
| 15 # The following is an example of a multibyte instruction explicitly requiring | |
| 16 # a REP prefix. | |
| 17 # movss %xmm0, [%rdx] | |
| 18 f3 0f 10 02 | |
| 19 | |
| 20 # The following is an example of a multibyte instruction explicitly requiring | |
| 21 # a REPNE prefix. | |
| 22 # movsd [%rsp+0x10], %xmm2 | |
| 23 f2 0f 11 54 24 10 | |
| 24 | |
| 25 # The following is an example of an instruction that can get a REP prefix. | |
| 26 # insb | |
| 27 6c | |
| 28 | |
| 29 # The same instrucition with a REP prefix. | |
| 30 f3 6c | |
| 31 | |
| 32 # The same instruction with a REPNE prefix. | |
| 33 f2 6c | |
| 34 | |
| 35 # The following is an example of an instruction that can get a REP/REPNE prefi
x. | |
| 36 # cmpsb | |
| 37 a6 | |
| 38 | |
| 39 # The same instruction with a REP prefix. | |
| 40 f3 a6 | |
| 41 | |
| 42 # The same instruction with a REPNE prefix | |
| 43 f2 a6 | |
| 44 @rval: | |
| 45 VALIDATOR: 0000000000000002: f3 00 c0 add
%al, %al | |
| 46 VALIDATOR: ERROR: Use of REP (F3) prefix for instruction not allowed by Native
Client | |
| 47 VALIDATOR: 0000000000000005: f2 00 c0 add
%al, %al | |
| 48 VALIDATOR: ERROR: Use of REPNE (F2) prefix for instruction not allowed by Nati
ve Client | |
| 49 VALIDATOR: 0000000000000008: f3 0f 10 02 movs
s %xmm0, [%rdx] | |
| 50 VALIDATOR: ERROR: Invalid base register in memory offset | |
| 51 VALIDATOR: 0000000000000012: 6c insb | |
| 52 VALIDATOR: ERROR: This instruction has been marked illegal by Native Client | |
| 53 VALIDATOR: 0000000000000012: 6c insb | |
| 54 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 55 VALIDATOR: 0000000000000013: f3 6c insb | |
| 56 VALIDATOR: ERROR: This instruction has been marked illegal by Native Client | |
| 57 VALIDATOR: 0000000000000013: f3 6c insb | |
| 58 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 59 VALIDATOR: 0000000000000015: f2 6c insb | |
| 60 VALIDATOR: ERROR: This instruction has been marked illegal by Native Client | |
| 61 VALIDATOR: 0000000000000015: f2 6c insb | |
| 62 VALIDATOR: ERROR: Use of REPNE (F2) prefix for instruction not allowed by Nati
ve Client | |
| 63 VALIDATOR: 0000000000000015: f2 6c insb | |
| 64 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 65 VALIDATOR: 0000000000000017: a6 cmps
b [%rdi], [%rsi] | |
| 66 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 67 VALIDATOR: 0000000000000017: a6 cmps
b [%rdi], [%rsi] | |
| 68 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 69 VALIDATOR: 0000000000000018: f3 a6 cmps
b [%rdi], [%rsi] | |
| 70 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 71 VALIDATOR: 0000000000000018: f3 a6 cmps
b [%rdi], [%rsi] | |
| 72 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 73 VALIDATOR: 000000000000001a: f2 a6 cmps
b [%rdi], [%rsi] | |
| 74 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 75 VALIDATOR: 000000000000001a: f2 a6 cmps
b [%rdi], [%rsi] | |
| 76 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 77 VALIDATOR: Checking jump targets: 0 to 1c | |
| 78 VALIDATOR: Checking that basic blocks are aligned | |
| 79 *** <input> IS UNSAFE *** | |
| 80 @rvala: | |
| 81 VALIDATOR: 2: Use of REP (F3) prefix for instruction not allowed by Native Cli
ent | |
| 82 VALIDATOR: 5: Use of REPNE (F2) prefix for instruction not allowed by Native C
lient | |
| 83 VALIDATOR: 8: Invalid base register in memory offset | |
| 84 VALIDATOR: 12: This instruction has been marked illegal by Native Client | |
| 85 VALIDATOR: 12: Segment memory reference not allowed | |
| 86 VALIDATOR: 13: This instruction has been marked illegal by Native Client | |
| 87 VALIDATOR: 13: Segment memory reference not allowed | |
| 88 VALIDATOR: 15: This instruction has been marked illegal by Native Client | |
| 89 VALIDATOR: 15: Use of REPNE (F2) prefix for instruction not allowed by Native
Client | |
| 90 VALIDATOR: 15: Segment memory reference not allowed | |
| 91 VALIDATOR: 17: Segment memory reference not allowed | |
| 92 VALIDATOR: 17: Segment memory reference not allowed | |
| 93 VALIDATOR: 18: Segment memory reference not allowed | |
| 94 VALIDATOR: 18: Segment memory reference not allowed | |
| 95 VALIDATOR: 1a: Segment memory reference not allowed | |
| 96 VALIDATOR: 1a: Segment memory reference not allowed | |
| 97 VALIDATOR: Checking jump targets: 0 to 1c | |
| 98 VALIDATOR: Checking that basic blocks are aligned | |
| 99 *** <input> IS UNSAFE *** | |
| 100 @rvald: | |
| 101 VALIDATOR: 0000000000000002: f3 00 c0 add
%al, %al | |
| 102 VALIDATOR: ERROR: Use of REP (F3) prefix for instruction not allowed by Native
Client | |
| 103 VALIDATOR: 0000000000000005: f2 00 c0 add
%al, %al | |
| 104 VALIDATOR: ERROR: Use of REPNE (F2) prefix for instruction not allowed by Nati
ve Client | |
| 105 VALIDATOR: 0000000000000008: f3 0f 10 02 movs
s %xmm0, [%rdx] | |
| 106 VALIDATOR: ERROR: Invalid base register in memory offset | |
| 107 VALIDATOR: 0000000000000012: 6c insb | |
| 108 VALIDATOR: ERROR: This instruction has been marked illegal by Native Client | |
| 109 VALIDATOR: 0000000000000012: 6c insb | |
| 110 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 111 VALIDATOR: 0000000000000013: f3 6c insb | |
| 112 VALIDATOR: ERROR: This instruction has been marked illegal by Native Client | |
| 113 VALIDATOR: 0000000000000013: f3 6c insb | |
| 114 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 115 VALIDATOR: 0000000000000015: f2 6c insb | |
| 116 VALIDATOR: ERROR: This instruction has been marked illegal by Native Client | |
| 117 VALIDATOR: 0000000000000015: f2 6c insb | |
| 118 VALIDATOR: ERROR: Use of REPNE (F2) prefix for instruction not allowed by Nati
ve Client | |
| 119 VALIDATOR: 0000000000000015: f2 6c insb | |
| 120 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 121 VALIDATOR: 0000000000000017: a6 cmps
b [%rdi], [%rsi] | |
| 122 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 123 VALIDATOR: 0000000000000017: a6 cmps
b [%rdi], [%rsi] | |
| 124 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 125 VALIDATOR: 0000000000000018: f3 a6 cmps
b [%rdi], [%rsi] | |
| 126 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 127 VALIDATOR: 0000000000000018: f3 a6 cmps
b [%rdi], [%rsi] | |
| 128 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 129 VALIDATOR: 000000000000001a: f2 a6 cmps
b [%rdi], [%rsi] | |
| 130 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 131 VALIDATOR: 000000000000001a: f2 a6 cmps
b [%rdi], [%rsi] | |
| 132 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 133 VALIDATOR: Checking block alignment and jump targets: 0 to 1c | |
| 134 *** <input> IS UNSAFE *** | |
| 135 @vd-rval: | |
| 136 VALIDATOR: 0000000000000002: f3 00 c0 add
%al, %al | |
| 137 VALIDATOR: ERROR: Use of REP (F3) prefix for instruction not allowed by Native
Client | |
| 138 VALIDATOR: 0000000000000005: f2 00 c0 add
%al, %al | |
| 139 VALIDATOR: ERROR: Use of REPNE (F2) prefix for instruction not allowed by Nati
ve Client | |
| 140 VALIDATOR: 0000000000000008: f3 0f 10 02 [P]
dontcare [%rdx] (u) | |
| 141 VALIDATOR: ERROR: Invalid base register in memory offset | |
| 142 VALIDATOR: 0000000000000012: 6c [P]
dontcare(illegal) | |
| 143 VALIDATOR: ERROR: This instruction has been marked illegal by Native Client | |
| 144 VALIDATOR: 0000000000000013: f3 6c [P]
dontcare(illegal) | |
| 145 VALIDATOR: ERROR: This instruction has been marked illegal by Native Client | |
| 146 VALIDATOR: 0000000000000015: f2 6c [P]
dontcare(illegal) | |
| 147 VALIDATOR: ERROR: This instruction has been marked illegal by Native Client | |
| 148 VALIDATOR: 0000000000000015: f2 6c [P]
dontcare(illegal) | |
| 149 VALIDATOR: ERROR: Use of REPNE (F2) prefix for instruction not allowed by Nati
ve Client | |
| 150 VALIDATOR: 0000000000000017: a6 [P]
dontcare [%rdi] (u), [%rsi] (u) | |
| 151 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 152 VALIDATOR: 0000000000000017: a6 [P]
dontcare [%rdi] (u), [%rsi] (u) | |
| 153 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 154 VALIDATOR: 0000000000000018: f3 a6 [P]
dontcare [%rdi] (u), [%rsi] (u) | |
| 155 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 156 VALIDATOR: 0000000000000018: f3 a6 [P]
dontcare [%rdi] (u), [%rsi] (u) | |
| 157 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 158 VALIDATOR: 000000000000001a: f2 a6 [P]
dontcare [%rdi] (u), [%rsi] (u) | |
| 159 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 160 VALIDATOR: 000000000000001a: f2 a6 [P]
dontcare [%rdi] (u), [%rsi] (u) | |
| 161 VALIDATOR: ERROR: Segment memory reference not allowed | |
| 162 VALIDATOR: Checking jump targets: 0 to 1c | |
| 163 VALIDATOR: Checking that basic blocks are aligned | |
| 164 *** <input> IS UNSAFE *** | |
| 165 @dis: | |
| 166 0000000000000000: 00 c0 add %al, %al | |
| 167 0000000000000002: f3 00 c0 add %al, %al | |
| 168 0000000000000005: f2 00 c0 add %al, %al | |
| 169 0000000000000008: f3 0f 10 02 movss %xmm0, [%
rdx] | |
| 170 000000000000000c: f2 0f 11 54 24 10 movsd [%rsp+0x1
0], %xmm2 | |
| 171 0000000000000012: 6c insb | |
| 172 0000000000000013: f3 6c insb | |
| 173 0000000000000015: f2 6c insb | |
| 174 0000000000000017: a6 cmpsb [%rdi], [
%rsi] | |
| 175 0000000000000018: f3 a6 cmpsb [%rdi], [
%rsi] | |
| 176 000000000000001a: f2 a6 cmpsb [%rdi], [
%rsi] | |
| 177 @vdis: | |
| 178 0000000000000000: 00 c0 add %al, %al | |
| 179 0000000000000002: f3 00 c0 add %al, %al | |
| 180 0000000000000005: f2 00 c0 add %al, %al | |
| 181 0000000000000008: f3 0f 10 02 [P] dontcare [%
rdx] (u) | |
| 182 000000000000000c: f2 0f 11 54 24 10 [P] dontcare [%
rsp+0x10] (s) | |
| 183 0000000000000012: 6c [P] dontcare(il
legal) | |
| 184 0000000000000013: f3 6c [P] dontcare(il
legal) | |
| 185 0000000000000015: f2 6c [P] dontcare(il
legal) | |
| 186 0000000000000017: a6 [P] dontcare [%
rdi] (u), [%rsi] (u) | |
| 187 0000000000000018: f3 a6 [P] dontcare [%
rdi] (u), [%rsi] (u) | |
| 188 000000000000001a: f2 a6 [P] dontcare [%
rdi] (u), [%rsi] (u) | |
| 189 @rdfa_output: | |
| 190 2: [0] unrecognized instruction | |
| 191 5: [1] unrecognized instruction | |
| 192 8: [2] improper memory address - bad base | |
| 193 12: [2] unrecognized instruction | |
| 194 13: [3] unrecognized instruction | |
| 195 15: [4] unrecognized instruction | |
| 196 17: [5] unrecognized instruction | |
| 197 18: [6] unrecognized instruction | |
| 198 1a: [7] unrecognized instruction | |
| 199 return code: 1 | |
| OLD | NEW |