diff options
17 files changed, 11458 insertions, 0 deletions
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/arm_backend.diff b/meta/recipes-devtools/elfutils/elfutils-0.155/arm_backend.diff new file mode 100644 index 0000000000..46d42fa76b --- /dev/null +++ b/meta/recipes-devtools/elfutils/elfutils-0.155/arm_backend.diff | |||
@@ -0,0 +1,450 @@ | |||
1 | Upstream-Status: Backport | ||
2 | |||
3 | Index: elfutils-0.155/backends/arm_init.c | ||
4 | =================================================================== | ||
5 | --- elfutils-0.155.orig/backends/arm_init.c | ||
6 | +++ elfutils-0.155/backends/arm_init.c | ||
7 | @@ -35,21 +35,32 @@ | ||
8 | #define RELOC_PREFIX R_ARM_ | ||
9 | #include "libebl_CPU.h" | ||
10 | |||
11 | +#include "libebl_arm.h" | ||
12 | + | ||
13 | /* This defines the common reloc hooks based on arm_reloc.def. */ | ||
14 | #include "common-reloc.c" | ||
15 | |||
16 | |||
17 | const char * | ||
18 | arm_init (elf, machine, eh, ehlen) | ||
19 | - Elf *elf __attribute__ ((unused)); | ||
20 | + Elf *elf; | ||
21 | GElf_Half machine __attribute__ ((unused)); | ||
22 | Ebl *eh; | ||
23 | size_t ehlen; | ||
24 | { | ||
25 | + int soft_float = 0; | ||
26 | + | ||
27 | /* Check whether the Elf_BH object has a sufficent size. */ | ||
28 | if (ehlen < sizeof (Ebl)) | ||
29 | return NULL; | ||
30 | |||
31 | + if (elf) { | ||
32 | + GElf_Ehdr ehdr_mem; | ||
33 | + GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem); | ||
34 | + if (ehdr && (ehdr->e_flags & EF_ARM_SOFT_FLOAT)) | ||
35 | + soft_float = 1; | ||
36 | + } | ||
37 | + | ||
38 | /* We handle it. */ | ||
39 | eh->name = "ARM"; | ||
40 | arm_init_reloc (eh); | ||
41 | @@ -61,7 +72,10 @@ arm_init (elf, machine, eh, ehlen) | ||
42 | HOOK (eh, core_note); | ||
43 | HOOK (eh, auxv_info); | ||
44 | HOOK (eh, check_object_attribute); | ||
45 | - HOOK (eh, return_value_location); | ||
46 | + if (soft_float) | ||
47 | + eh->return_value_location = arm_return_value_location_soft; | ||
48 | + else | ||
49 | + eh->return_value_location = arm_return_value_location_hard; | ||
50 | |||
51 | return MODVERSION; | ||
52 | } | ||
53 | Index: elfutils-0.155/backends/arm_regs.c | ||
54 | =================================================================== | ||
55 | --- elfutils-0.155.orig/backends/arm_regs.c | ||
56 | +++ elfutils-0.155/backends/arm_regs.c | ||
57 | @@ -31,6 +31,7 @@ | ||
58 | #endif | ||
59 | |||
60 | #include <string.h> | ||
61 | +#include <stdio.h> | ||
62 | #include <dwarf.h> | ||
63 | |||
64 | #define BACKEND arm_ | ||
65 | @@ -61,7 +62,15 @@ arm_register_info (Ebl *ebl __attribute_ | ||
66 | namelen = 2; | ||
67 | break; | ||
68 | |||
69 | - case 10 ... 12: | ||
70 | + case 10 ... 11: | ||
71 | + name[0] = 'r'; | ||
72 | + name[1] = '1'; | ||
73 | + name[2] = regno % 10 + '0'; | ||
74 | + namelen = 3; | ||
75 | + break; | ||
76 | + | ||
77 | + case 12: | ||
78 | + *type = DW_ATE_unsigned; | ||
79 | name[0] = 'r'; | ||
80 | name[1] = '1'; | ||
81 | name[2] = regno % 10 + '0'; | ||
82 | @@ -76,6 +85,9 @@ arm_register_info (Ebl *ebl __attribute_ | ||
83 | break; | ||
84 | |||
85 | case 16 + 0 ... 16 + 7: | ||
86 | + /* AADWARF says that there are no registers in that range, | ||
87 | + * but gcc maps FPA registers here | ||
88 | + */ | ||
89 | regno += 96 - 16; | ||
90 | /* Fall through. */ | ||
91 | case 96 + 0 ... 96 + 7: | ||
92 | @@ -87,11 +99,139 @@ arm_register_info (Ebl *ebl __attribute_ | ||
93 | namelen = 2; | ||
94 | break; | ||
95 | |||
96 | + case 64 + 0 ... 64 + 9: | ||
97 | + *setname = "VFP"; | ||
98 | + *bits = 32; | ||
99 | + *type = DW_ATE_float; | ||
100 | + name[0] = 's'; | ||
101 | + name[1] = regno - 64 + '0'; | ||
102 | + namelen = 2; | ||
103 | + break; | ||
104 | + | ||
105 | + case 64 + 10 ... 64 + 31: | ||
106 | + *setname = "VFP"; | ||
107 | + *bits = 32; | ||
108 | + *type = DW_ATE_float; | ||
109 | + name[0] = 's'; | ||
110 | + name[1] = (regno - 64) / 10 + '0'; | ||
111 | + name[2] = (regno - 64) % 10 + '0'; | ||
112 | + namelen = 3; | ||
113 | + break; | ||
114 | + | ||
115 | + case 104 + 0 ... 104 + 7: | ||
116 | + /* XXX TODO: | ||
117 | + * This can be either intel wireless MMX general purpose/control | ||
118 | + * registers or xscale accumulator, which have different usage. | ||
119 | + * We only have the intel wireless MMX here now. | ||
120 | + * The name needs to be changed for the xscale accumulator too. */ | ||
121 | + *setname = "MMX"; | ||
122 | + *type = DW_ATE_unsigned; | ||
123 | + *bits = 32; | ||
124 | + memcpy(name, "wcgr", 4); | ||
125 | + name[4] = regno - 104 + '0'; | ||
126 | + namelen = 5; | ||
127 | + break; | ||
128 | + | ||
129 | + case 112 + 0 ... 112 + 9: | ||
130 | + *setname = "MMX"; | ||
131 | + *type = DW_ATE_unsigned; | ||
132 | + *bits = 64; | ||
133 | + name[0] = 'w'; | ||
134 | + name[1] = 'r'; | ||
135 | + name[2] = regno - 112 + '0'; | ||
136 | + namelen = 3; | ||
137 | + break; | ||
138 | + | ||
139 | + case 112 + 10 ... 112 + 15: | ||
140 | + *setname = "MMX"; | ||
141 | + *type = DW_ATE_unsigned; | ||
142 | + *bits = 64; | ||
143 | + name[0] = 'w'; | ||
144 | + name[1] = 'r'; | ||
145 | + name[2] = '1'; | ||
146 | + name[3] = regno - 112 - 10 + '0'; | ||
147 | + namelen = 4; | ||
148 | + break; | ||
149 | + | ||
150 | case 128: | ||
151 | + *setname = "special"; | ||
152 | *type = DW_ATE_unsigned; | ||
153 | return stpcpy (name, "spsr") + 1 - name; | ||
154 | |||
155 | + case 129: | ||
156 | + *setname = "special"; | ||
157 | + *type = DW_ATE_unsigned; | ||
158 | + return stpcpy(name, "spsr_fiq") + 1 - name; | ||
159 | + | ||
160 | + case 130: | ||
161 | + *setname = "special"; | ||
162 | + *type = DW_ATE_unsigned; | ||
163 | + return stpcpy(name, "spsr_irq") + 1 - name; | ||
164 | + | ||
165 | + case 131: | ||
166 | + *setname = "special"; | ||
167 | + *type = DW_ATE_unsigned; | ||
168 | + return stpcpy(name, "spsr_abt") + 1 - name; | ||
169 | + | ||
170 | + case 132: | ||
171 | + *setname = "special"; | ||
172 | + *type = DW_ATE_unsigned; | ||
173 | + return stpcpy(name, "spsr_und") + 1 - name; | ||
174 | + | ||
175 | + case 133: | ||
176 | + *setname = "special"; | ||
177 | + *type = DW_ATE_unsigned; | ||
178 | + return stpcpy(name, "spsr_svc") + 1 - name; | ||
179 | + | ||
180 | + case 144 ... 150: | ||
181 | + *setname = "integer"; | ||
182 | + *type = DW_ATE_signed; | ||
183 | + *bits = 32; | ||
184 | + return sprintf(name, "r%d_usr", regno - 144 + 8) + 1; | ||
185 | + | ||
186 | + case 151 ... 157: | ||
187 | + *setname = "integer"; | ||
188 | + *type = DW_ATE_signed; | ||
189 | + *bits = 32; | ||
190 | + return sprintf(name, "r%d_fiq", regno - 151 + 8) + 1; | ||
191 | + | ||
192 | + case 158 ... 159: | ||
193 | + *setname = "integer"; | ||
194 | + *type = DW_ATE_signed; | ||
195 | + *bits = 32; | ||
196 | + return sprintf(name, "r%d_irq", regno - 158 + 13) + 1; | ||
197 | + | ||
198 | + case 160 ... 161: | ||
199 | + *setname = "integer"; | ||
200 | + *type = DW_ATE_signed; | ||
201 | + *bits = 32; | ||
202 | + return sprintf(name, "r%d_abt", regno - 160 + 13) + 1; | ||
203 | + | ||
204 | + case 162 ... 163: | ||
205 | + *setname = "integer"; | ||
206 | + *type = DW_ATE_signed; | ||
207 | + *bits = 32; | ||
208 | + return sprintf(name, "r%d_und", regno - 162 + 13) + 1; | ||
209 | + | ||
210 | + case 164 ... 165: | ||
211 | + *setname = "integer"; | ||
212 | + *type = DW_ATE_signed; | ||
213 | + *bits = 32; | ||
214 | + return sprintf(name, "r%d_svc", regno - 164 + 13) + 1; | ||
215 | + | ||
216 | + case 192 ... 199: | ||
217 | + *setname = "MMX"; | ||
218 | + *bits = 32; | ||
219 | + *type = DW_ATE_unsigned; | ||
220 | + name[0] = 'w'; | ||
221 | + name[1] = 'c'; | ||
222 | + name[2] = regno - 192 + '0'; | ||
223 | + namelen = 3; | ||
224 | + break; | ||
225 | + | ||
226 | case 256 + 0 ... 256 + 9: | ||
227 | + /* XXX TODO: Neon also uses those registers and can contain | ||
228 | + * both float and integers */ | ||
229 | *setname = "VFP"; | ||
230 | *type = DW_ATE_float; | ||
231 | *bits = 64; | ||
232 | Index: elfutils-0.155/backends/arm_retval.c | ||
233 | =================================================================== | ||
234 | --- elfutils-0.155.orig/backends/arm_retval.c | ||
235 | +++ elfutils-0.155/backends/arm_retval.c | ||
236 | @@ -48,6 +48,13 @@ static const Dwarf_Op loc_intreg[] = | ||
237 | #define nloc_intreg 1 | ||
238 | #define nloc_intregs(n) (2 * (n)) | ||
239 | |||
240 | +/* f1 */ /* XXX TODO: f0 can also have number 96 if program was compiled with -mabi=aapcs */ | ||
241 | +static const Dwarf_Op loc_fpreg[] = | ||
242 | + { | ||
243 | + { .atom = DW_OP_reg16 }, | ||
244 | + }; | ||
245 | +#define nloc_fpreg 1 | ||
246 | + | ||
247 | /* The return value is a structure and is actually stored in stack space | ||
248 | passed in a hidden argument by the caller. But, the compiler | ||
249 | helpfully returns the address of that space in r0. */ | ||
250 | @@ -58,8 +65,9 @@ static const Dwarf_Op loc_aggregate[] = | ||
251 | #define nloc_aggregate 1 | ||
252 | |||
253 | |||
254 | -int | ||
255 | -arm_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp) | ||
256 | +static int | ||
257 | +arm_return_value_location_ (Dwarf_Die *functypedie, const Dwarf_Op **locp, | ||
258 | + int soft_float) | ||
259 | { | ||
260 | /* Start with the function's type, and get the DW_AT_type attribute, | ||
261 | which is the type of the return value. */ | ||
262 | @@ -112,14 +120,31 @@ arm_return_value_location (Dwarf_Die *fu | ||
263 | else | ||
264 | return -1; | ||
265 | } | ||
266 | + if (tag == DW_TAG_base_type) | ||
267 | + { | ||
268 | + Dwarf_Word encoding; | ||
269 | + if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding, | ||
270 | + &attr_mem), &encoding) != 0) | ||
271 | + return -1; | ||
272 | + | ||
273 | + if ((encoding == DW_ATE_float) && !soft_float) | ||
274 | + { | ||
275 | + *locp = loc_fpreg; | ||
276 | + if (size <= 8) | ||
277 | + return nloc_fpreg; | ||
278 | + goto aggregate; | ||
279 | + } | ||
280 | + } | ||
281 | if (size <= 16) | ||
282 | { | ||
283 | intreg: | ||
284 | *locp = loc_intreg; | ||
285 | return size <= 4 ? nloc_intreg : nloc_intregs ((size + 3) / 4); | ||
286 | } | ||
287 | + /* fall through. */ | ||
288 | |||
289 | aggregate: | ||
290 | + /* XXX TODO sometimes aggregates are returned in r0 (-mabi=aapcs) */ | ||
291 | *locp = loc_aggregate; | ||
292 | return nloc_aggregate; | ||
293 | |||
294 | @@ -138,3 +163,18 @@ arm_return_value_location (Dwarf_Die *fu | ||
295 | DWARF and might be valid. */ | ||
296 | return -2; | ||
297 | } | ||
298 | + | ||
299 | +/* return location for -mabi=apcs-gnu -msoft-float */ | ||
300 | +int | ||
301 | +arm_return_value_location_soft (Dwarf_Die *functypedie, const Dwarf_Op **locp) | ||
302 | +{ | ||
303 | + return arm_return_value_location_ (functypedie, locp, 1); | ||
304 | +} | ||
305 | + | ||
306 | +/* return location for -mabi=apcs-gnu -mhard-float (current default) */ | ||
307 | +int | ||
308 | +arm_return_value_location_hard (Dwarf_Die *functypedie, const Dwarf_Op **locp) | ||
309 | +{ | ||
310 | + return arm_return_value_location_ (functypedie, locp, 0); | ||
311 | +} | ||
312 | + | ||
313 | Index: elfutils-0.155/libelf/elf.h | ||
314 | =================================================================== | ||
315 | --- elfutils-0.155.orig/libelf/elf.h | ||
316 | +++ elfutils-0.155/libelf/elf.h | ||
317 | @@ -2281,6 +2281,9 @@ typedef Elf32_Addr Elf32_Conflict; | ||
318 | #define EF_ARM_EABI_VER4 0x04000000 | ||
319 | #define EF_ARM_EABI_VER5 0x05000000 | ||
320 | |||
321 | +/* EI_OSABI values */ | ||
322 | +#define ELFOSABI_ARM_AEABI 64 /* Contains symbol versioning. */ | ||
323 | + | ||
324 | /* Additional symbol types for Thumb. */ | ||
325 | #define STT_ARM_TFUNC STT_LOPROC /* A Thumb function. */ | ||
326 | #define STT_ARM_16BIT STT_HIPROC /* A Thumb label. */ | ||
327 | @@ -2298,12 +2301,19 @@ typedef Elf32_Addr Elf32_Conflict; | ||
328 | |||
329 | /* Processor specific values for the Phdr p_type field. */ | ||
330 | #define PT_ARM_EXIDX (PT_LOPROC + 1) /* ARM unwind segment. */ | ||
331 | +#define PT_ARM_UNWIND PT_ARM_EXIDX | ||
332 | |||
333 | /* Processor specific values for the Shdr sh_type field. */ | ||
334 | #define SHT_ARM_EXIDX (SHT_LOPROC + 1) /* ARM unwind section. */ | ||
335 | #define SHT_ARM_PREEMPTMAP (SHT_LOPROC + 2) /* Preemption details. */ | ||
336 | #define SHT_ARM_ATTRIBUTES (SHT_LOPROC + 3) /* ARM attributes section. */ | ||
337 | |||
338 | +/* Processor specific values for the Dyn d_tag field. */ | ||
339 | +#define DT_ARM_RESERVED1 (DT_LOPROC + 0) | ||
340 | +#define DT_ARM_SYMTABSZ (DT_LOPROC + 1) | ||
341 | +#define DT_ARM_PREEMTMAB (DT_LOPROC + 2) | ||
342 | +#define DT_ARM_RESERVED2 (DT_LOPROC + 3) | ||
343 | +#define DT_ARM_NUM 4 | ||
344 | |||
345 | /* ARM relocs. */ | ||
346 | |||
347 | @@ -2336,12 +2346,75 @@ typedef Elf32_Addr Elf32_Conflict; | ||
348 | #define R_ARM_GOTPC 25 /* 32 bit PC relative offset to GOT */ | ||
349 | #define R_ARM_GOT32 26 /* 32 bit GOT entry */ | ||
350 | #define R_ARM_PLT32 27 /* 32 bit PLT address */ | ||
351 | +#define R_ARM_CALL 28 | ||
352 | +#define R_ARM_JUMP24 29 | ||
353 | +#define R_ARM_THM_JUMP24 30 | ||
354 | +#define R_ARM_BASE_ABS 31 | ||
355 | #define R_ARM_ALU_PCREL_7_0 32 | ||
356 | #define R_ARM_ALU_PCREL_15_8 33 | ||
357 | #define R_ARM_ALU_PCREL_23_15 34 | ||
358 | #define R_ARM_LDR_SBREL_11_0 35 | ||
359 | #define R_ARM_ALU_SBREL_19_12 36 | ||
360 | #define R_ARM_ALU_SBREL_27_20 37 | ||
361 | +#define R_ARM_TARGET1 38 | ||
362 | +#define R_ARM_SBREL31 39 | ||
363 | +#define R_ARM_V4BX 40 | ||
364 | +#define R_ARM_TARGET2 41 | ||
365 | +#define R_ARM_PREL31 42 | ||
366 | +#define R_ARM_MOVW_ABS_NC 43 | ||
367 | +#define R_ARM_MOVT_ABS 44 | ||
368 | +#define R_ARM_MOVW_PREL_NC 45 | ||
369 | +#define R_ARM_MOVT_PREL 46 | ||
370 | +#define R_ARM_THM_MOVW_ABS_NC 47 | ||
371 | +#define R_ARM_THM_MOVT_ABS 48 | ||
372 | +#define R_ARM_THM_MOVW_PREL_NC 49 | ||
373 | +#define R_ARM_THM_MOVT_PREL 50 | ||
374 | +#define R_ARM_THM_JUMP19 51 | ||
375 | +#define R_ARM_THM_JUMP6 52 | ||
376 | +#define R_ARM_THM_ALU_PREL_11_0 53 | ||
377 | +#define R_ARM_THM_PC12 54 | ||
378 | +#define R_ARM_ABS32_NO 55 | ||
379 | +#define R_ARM_REL32_NO 56 | ||
380 | +#define R_ARM_ALU_PC_G0_NC 57 | ||
381 | +#define R_ARM_ALU_PC_G0 58 | ||
382 | +#define R_ARM_ALU_PC_G1_NC 59 | ||
383 | +#define R_ARM_ALU_PC_G1 60 | ||
384 | +#define R_ARM_ALU_PC_G2 61 | ||
385 | +#define R_ARM_LDR_PC_G1 62 | ||
386 | +#define R_ARM_LDR_PC_G2 63 | ||
387 | +#define R_ARM_LDRS_PC_G0 64 | ||
388 | +#define R_ARM_LDRS_PC_G1 65 | ||
389 | +#define R_ARM_LDRS_PC_G2 66 | ||
390 | +#define R_ARM_LDC_PC_G0 67 | ||
391 | +#define R_ARM_LDC_PC_G1 68 | ||
392 | +#define R_ARM_LDC_PC_G2 69 | ||
393 | +#define R_ARM_ALU_SB_G0_NC 70 | ||
394 | +#define R_ARM_ALU_SB_G0 71 | ||
395 | +#define R_ARM_ALU_SB_G1_NC 72 | ||
396 | +#define R_ARM_ALU_SB_G1 73 | ||
397 | +#define R_ARM_ALU_SB_G2 74 | ||
398 | +#define R_ARM_LDR_SB_G0 75 | ||
399 | +#define R_ARM_LDR_SB_G1 76 | ||
400 | +#define R_ARM_LDR_SB_G2 77 | ||
401 | +#define R_ARM_LDRS_SB_G0 78 | ||
402 | +#define R_ARM_LDRS_SB_G1 79 | ||
403 | +#define R_ARM_LDRS_SB_G2 80 | ||
404 | +#define R_ARM_LDC_G0 81 | ||
405 | +#define R_ARM_LDC_G1 82 | ||
406 | +#define R_ARM_LDC_G2 83 | ||
407 | +#define R_ARM_MOVW_BREL_NC 84 | ||
408 | +#define R_ARM_MOVT_BREL 85 | ||
409 | +#define R_ARM_MOVW_BREL 86 | ||
410 | +#define R_ARM_THM_MOVW_BREL_NC 87 | ||
411 | +#define R_ARM_THM_MOVT_BREL 88 | ||
412 | +#define R_ARM_THM_MOVW_BREL 89 | ||
413 | +/* 90-93 unallocated */ | ||
414 | +#define R_ARM_PLT32_ABS 94 | ||
415 | +#define R_ARM_GOT_ABS 95 | ||
416 | +#define R_ARM_GOT_PREL 96 | ||
417 | +#define R_ARM_GOT_BREL12 97 | ||
418 | +#define R_ARM_GOTOFF12 98 | ||
419 | +#define R_ARM_GOTRELAX 99 | ||
420 | #define R_ARM_TLS_GOTDESC 90 | ||
421 | #define R_ARM_TLS_CALL 91 | ||
422 | #define R_ARM_TLS_DESCSEQ 92 | ||
423 | @@ -2360,6 +2433,13 @@ typedef Elf32_Addr Elf32_Conflict; | ||
424 | static TLS block offset */ | ||
425 | #define R_ARM_TLS_LE32 108 /* 32 bit offset relative to static | ||
426 | TLS block */ | ||
427 | +#define R_ARM_TLS_LDO12 109 | ||
428 | +#define R_ARM_TLS_LE12 110 | ||
429 | +#define R_ARM_TLS_IE12GP 111 | ||
430 | +/* 112 - 127 private range */ | ||
431 | +#define R_ARM_ME_TOO 128|/* obsolete */ | ||
432 | + | ||
433 | + | ||
434 | #define R_ARM_THM_TLS_DESCSEQ 129 | ||
435 | #define R_ARM_IRELATIVE 160 | ||
436 | #define R_ARM_RXPC25 249 | ||
437 | Index: elfutils-0.155/backends/libebl_arm.h | ||
438 | =================================================================== | ||
439 | --- /dev/null | ||
440 | +++ elfutils-0.155/backends/libebl_arm.h | ||
441 | @@ -0,0 +1,9 @@ | ||
442 | +#ifndef _LIBEBL_ARM_H | ||
443 | +#define _LIBEBL_ARM_H 1 | ||
444 | + | ||
445 | +#include <libdw.h> | ||
446 | + | ||
447 | +extern int arm_return_value_location_soft(Dwarf_Die *, const Dwarf_Op **locp); | ||
448 | +extern int arm_return_value_location_hard(Dwarf_Die *, const Dwarf_Op **locp); | ||
449 | + | ||
450 | +#endif | ||
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/do-autoreconf.diff b/meta/recipes-devtools/elfutils/elfutils-0.155/do-autoreconf.diff new file mode 100644 index 0000000000..c601f40e41 --- /dev/null +++ b/meta/recipes-devtools/elfutils/elfutils-0.155/do-autoreconf.diff | |||
@@ -0,0 +1,215 @@ | |||
1 | Upstream-Status: Backport | ||
2 | |||
3 | Generated by copying the whole dir, running `sh debian/autogen.sh` and diffing. | ||
4 | |||
5 | Index: elfutils-0.155/backends/Makefile.in | ||
6 | =================================================================== | ||
7 | --- elfutils-0.155.orig/backends/Makefile.in | ||
8 | +++ elfutils-0.155/backends/Makefile.in | ||
9 | @@ -78,39 +78,54 @@ libebl_ia64_pic_a_LIBADD = | ||
10 | am__objects_4 = ia64_init.$(OBJEXT) ia64_symbol.$(OBJEXT) \ | ||
11 | ia64_regs.$(OBJEXT) ia64_retval.$(OBJEXT) | ||
12 | libebl_ia64_pic_a_OBJECTS = $(am_libebl_ia64_pic_a_OBJECTS) | ||
13 | +libebl_m68k_pic_a_AR = $(AR) $(ARFLAGS) | ||
14 | +libebl_m68k_pic_a_LIBADD = | ||
15 | +am__objects_5 = m68k_init.$(OBJEXT) m68k_symbol.$(OBJEXT) \ | ||
16 | + m68k_regs.$(OBJEXT) | ||
17 | +libebl_m68k_pic_a_OBJECTS = $(am_libebl_m68k_pic_a_OBJECTS) | ||
18 | +libebl_mips_pic_a_AR = $(AR) $(ARFLAGS) | ||
19 | +libebl_mips_pic_a_LIBADD = | ||
20 | +am__objects_6 = mips_init.$(OBJEXT) mips_symbol.$(OBJEXT) \ | ||
21 | + mips_regs.$(OBJEXT) mips_retval.$(OBJEXT) | ||
22 | +libebl_mips_pic_a_OBJECTS = $(am_libebl_mips_pic_a_OBJECTS) | ||
23 | +libebl_parisc_pic_a_AR = $(AR) $(ARFLAGS) | ||
24 | +libebl_parisc_pic_a_LIBADD = | ||
25 | +am__objects_7 = parisc_init.$(OBJEXT) parisc_symbol.$(OBJEXT) \ | ||
26 | + parisc_regs.$(OBJEXT) parisc_retval.$(OBJEXT) | ||
27 | +libebl_parisc_pic_a_OBJECTS = $(am_libebl_parisc_pic_a_OBJECTS) | ||
28 | libebl_ppc64_pic_a_AR = $(AR) $(ARFLAGS) | ||
29 | libebl_ppc64_pic_a_LIBADD = | ||
30 | -am__objects_5 = ppc64_init.$(OBJEXT) ppc64_symbol.$(OBJEXT) \ | ||
31 | +am__objects_8 = ppc64_init.$(OBJEXT) ppc64_symbol.$(OBJEXT) \ | ||
32 | ppc64_retval.$(OBJEXT) ppc64_corenote.$(OBJEXT) \ | ||
33 | ppc_regs.$(OBJEXT) ppc_auxv.$(OBJEXT) ppc_attrs.$(OBJEXT) \ | ||
34 | ppc_syscall.$(OBJEXT) | ||
35 | libebl_ppc64_pic_a_OBJECTS = $(am_libebl_ppc64_pic_a_OBJECTS) | ||
36 | libebl_ppc_pic_a_AR = $(AR) $(ARFLAGS) | ||
37 | libebl_ppc_pic_a_LIBADD = | ||
38 | -am__objects_6 = ppc_init.$(OBJEXT) ppc_symbol.$(OBJEXT) \ | ||
39 | +am__objects_9 = ppc_init.$(OBJEXT) ppc_symbol.$(OBJEXT) \ | ||
40 | ppc_retval.$(OBJEXT) ppc_regs.$(OBJEXT) ppc_corenote.$(OBJEXT) \ | ||
41 | ppc_auxv.$(OBJEXT) ppc_attrs.$(OBJEXT) ppc_syscall.$(OBJEXT) | ||
42 | libebl_ppc_pic_a_OBJECTS = $(am_libebl_ppc_pic_a_OBJECTS) | ||
43 | libebl_s390_pic_a_AR = $(AR) $(ARFLAGS) | ||
44 | libebl_s390_pic_a_LIBADD = | ||
45 | -am__objects_7 = s390_init.$(OBJEXT) s390_symbol.$(OBJEXT) \ | ||
46 | +am__objects_10 = s390_init.$(OBJEXT) s390_symbol.$(OBJEXT) \ | ||
47 | s390_regs.$(OBJEXT) s390_retval.$(OBJEXT) | ||
48 | libebl_s390_pic_a_OBJECTS = $(am_libebl_s390_pic_a_OBJECTS) | ||
49 | libebl_sh_pic_a_AR = $(AR) $(ARFLAGS) | ||
50 | libebl_sh_pic_a_LIBADD = | ||
51 | -am__objects_8 = sh_init.$(OBJEXT) sh_symbol.$(OBJEXT) \ | ||
52 | +am__objects_11 = sh_init.$(OBJEXT) sh_symbol.$(OBJEXT) \ | ||
53 | sh_corenote.$(OBJEXT) sh_regs.$(OBJEXT) sh_retval.$(OBJEXT) | ||
54 | libebl_sh_pic_a_OBJECTS = $(am_libebl_sh_pic_a_OBJECTS) | ||
55 | libebl_sparc_pic_a_AR = $(AR) $(ARFLAGS) | ||
56 | libebl_sparc_pic_a_LIBADD = | ||
57 | -am__objects_9 = sparc_init.$(OBJEXT) sparc_symbol.$(OBJEXT) \ | ||
58 | +am__objects_12 = sparc_init.$(OBJEXT) sparc_symbol.$(OBJEXT) \ | ||
59 | sparc_regs.$(OBJEXT) sparc_retval.$(OBJEXT) \ | ||
60 | sparc_corenote.$(OBJEXT) sparc64_corenote.$(OBJEXT) \ | ||
61 | sparc_auxv.$(OBJEXT) | ||
62 | libebl_sparc_pic_a_OBJECTS = $(am_libebl_sparc_pic_a_OBJECTS) | ||
63 | libebl_tilegx_pic_a_AR = $(AR) $(ARFLAGS) | ||
64 | libebl_tilegx_pic_a_LIBADD = | ||
65 | -am__objects_10 = tilegx_init.$(OBJEXT) tilegx_symbol.$(OBJEXT) \ | ||
66 | +am__objects_13 = x86_64_init.$(OBJEXT) x86_64_symbol.$(OBJEXT) \ | ||
67 | tilegx_regs.$(OBJEXT) tilegx_retval.$(OBJEXT) \ | ||
68 | tilegx_corenote.$(OBJEXT) | ||
69 | libebl_tilegx_pic_a_OBJECTS = $(am_libebl_tilegx_pic_a_OBJECTS) | ||
70 | @@ -131,16 +146,18 @@ CCLD = $(CC) | ||
71 | LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ | ||
72 | SOURCES = $(libebl_alpha_pic_a_SOURCES) $(libebl_arm_pic_a_SOURCES) \ | ||
73 | $(libebl_i386_pic_a_SOURCES) $(libebl_ia64_pic_a_SOURCES) \ | ||
74 | - $(libebl_ppc64_pic_a_SOURCES) $(libebl_ppc_pic_a_SOURCES) \ | ||
75 | - $(libebl_s390_pic_a_SOURCES) $(libebl_sh_pic_a_SOURCES) \ | ||
76 | - $(libebl_sparc_pic_a_SOURCES) $(libebl_tilegx_pic_a_SOURCES) \ | ||
77 | + $(libebl_m68k_pic_a_SOURCES) $(libebl_mips_pic_a_SOURCES) \ | ||
78 | + $(libebl_parisc_pic_a_SOURCES) $(libebl_ppc64_pic_a_SOURCES) \ | ||
79 | + $(libebl_ppc_pic_a_SOURCES) $(libebl_s390_pic_a_SOURCES) \ | ||
80 | + $(libebl_sh_pic_a_SOURCES) $(libebl_sparc_pic_a_SOURCES) \ | ||
81 | $(libebl_x86_64_pic_a_SOURCES) | ||
82 | DIST_SOURCES = $(libebl_alpha_pic_a_SOURCES) \ | ||
83 | $(libebl_arm_pic_a_SOURCES) $(libebl_i386_pic_a_SOURCES) \ | ||
84 | - $(libebl_ia64_pic_a_SOURCES) $(libebl_ppc64_pic_a_SOURCES) \ | ||
85 | - $(libebl_ppc_pic_a_SOURCES) $(libebl_s390_pic_a_SOURCES) \ | ||
86 | - $(libebl_sh_pic_a_SOURCES) $(libebl_sparc_pic_a_SOURCES) \ | ||
87 | - $(libebl_tilegx_pic_a_SOURCES) $(libebl_x86_64_pic_a_SOURCES) | ||
88 | + $(libebl_ia64_pic_a_SOURCES) $(libebl_m68k_pic_a_SOURCES) \ | ||
89 | + $(libebl_mips_pic_a_SOURCES) $(libebl_parisc_pic_a_SOURCES) \ | ||
90 | + $(libebl_ppc64_pic_a_SOURCES) $(libebl_ppc_pic_a_SOURCES) \ | ||
91 | + $(libebl_s390_pic_a_SOURCES) $(libebl_sh_pic_a_SOURCES) \ | ||
92 | + $(libebl_sparc_pic_a_SOURCES) $(libebl_x86_64_pic_a_SOURCES) | ||
93 | DATA = $(noinst_DATA) | ||
94 | HEADERS = $(noinst_HEADERS) | ||
95 | ETAGS = etags | ||
96 | @@ -277,11 +294,12 @@ COMPILE.os = $(filter-out -fprofile-arcs | ||
97 | CLEANFILES = *.gcno *.gcda $(foreach m,$(modules), libebl_$(m).map \ | ||
98 | libebl_$(m).so $(am_libebl_$(m)_pic_a_OBJECTS)) | ||
99 | textrel_check = if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi | ||
100 | -modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 tilegx | ||
101 | +modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 tilegx parisc mips m68k | ||
102 | libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \ | ||
103 | libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \ | ||
104 | libebl_sparc_pic.a libebl_ppc_pic.a libebl_ppc64_pic.a \ | ||
105 | - libebl_s390_pic.a libebl_tilegx_pic.a | ||
106 | + libebl_s390_pic.a libebl_parisc_pic.a libebl_mips_pic.a \ | ||
107 | + libebl_tilegx_pic.a libebl_m68k_pic.a | ||
108 | |||
109 | noinst_LIBRARIES = $(libebl_pic) | ||
110 | noinst_DATA = $(libebl_pic:_pic.a=.so) | ||
111 | @@ -298,46 +316,60 @@ am_libebl_i386_pic_a_OBJECTS = $(i386_SR | ||
112 | sh_SRCS = sh_init.c sh_symbol.c sh_corenote.c sh_regs.c sh_retval.c | ||
113 | libebl_sh_pic_a_SOURCES = $(sh_SRCS) | ||
114 | am_libebl_sh_pic_a_OBJECTS = $(sh_SRCS:.c=.os) | ||
115 | + | ||
116 | x86_64_SRCS = x86_64_init.c x86_64_symbol.c x86_64_corenote.c x86_64_cfi.c \ | ||
117 | x86_64_retval.c x86_64_regs.c i386_auxv.c x86_64_syscall.c | ||
118 | - | ||
119 | cpu_x86_64 = ../libcpu/libcpu_x86_64.a | ||
120 | libebl_x86_64_pic_a_SOURCES = $(x86_64_SRCS) | ||
121 | am_libebl_x86_64_pic_a_OBJECTS = $(x86_64_SRCS:.c=.os) | ||
122 | + | ||
123 | ia64_SRCS = ia64_init.c ia64_symbol.c ia64_regs.c ia64_retval.c | ||
124 | libebl_ia64_pic_a_SOURCES = $(ia64_SRCS) | ||
125 | am_libebl_ia64_pic_a_OBJECTS = $(ia64_SRCS:.c=.os) | ||
126 | + | ||
127 | alpha_SRCS = alpha_init.c alpha_symbol.c alpha_retval.c alpha_regs.c \ | ||
128 | alpha_corenote.c alpha_auxv.c | ||
129 | - | ||
130 | libebl_alpha_pic_a_SOURCES = $(alpha_SRCS) | ||
131 | am_libebl_alpha_pic_a_OBJECTS = $(alpha_SRCS:.c=.os) | ||
132 | + | ||
133 | arm_SRCS = arm_init.c arm_symbol.c arm_regs.c arm_corenote.c \ | ||
134 | arm_auxv.c arm_attrs.c arm_retval.c | ||
135 | - | ||
136 | libebl_arm_pic_a_SOURCES = $(arm_SRCS) | ||
137 | am_libebl_arm_pic_a_OBJECTS = $(arm_SRCS:.c=.os) | ||
138 | + | ||
139 | sparc_SRCS = sparc_init.c sparc_symbol.c sparc_regs.c sparc_retval.c \ | ||
140 | sparc_corenote.c sparc64_corenote.c sparc_auxv.c | ||
141 | - | ||
142 | libebl_sparc_pic_a_SOURCES = $(sparc_SRCS) | ||
143 | am_libebl_sparc_pic_a_OBJECTS = $(sparc_SRCS:.c=.os) | ||
144 | + | ||
145 | ppc_SRCS = ppc_init.c ppc_symbol.c ppc_retval.c ppc_regs.c \ | ||
146 | ppc_corenote.c ppc_auxv.c ppc_attrs.c ppc_syscall.c | ||
147 | - | ||
148 | libebl_ppc_pic_a_SOURCES = $(ppc_SRCS) | ||
149 | am_libebl_ppc_pic_a_OBJECTS = $(ppc_SRCS:.c=.os) | ||
150 | + | ||
151 | ppc64_SRCS = ppc64_init.c ppc64_symbol.c ppc64_retval.c \ | ||
152 | ppc64_corenote.c ppc_regs.c ppc_auxv.c ppc_attrs.c ppc_syscall.c | ||
153 | - | ||
154 | libebl_ppc64_pic_a_SOURCES = $(ppc64_SRCS) | ||
155 | am_libebl_ppc64_pic_a_OBJECTS = $(ppc64_SRCS:.c=.os) | ||
156 | + | ||
157 | s390_SRCS = s390_init.c s390_symbol.c s390_regs.c s390_retval.c | ||
158 | libebl_s390_pic_a_SOURCES = $(s390_SRCS) | ||
159 | am_libebl_s390_pic_a_OBJECTS = $(s390_SRCS:.c=.os) | ||
160 | + | ||
161 | +parisc_SRCS = parisc_init.c parisc_symbol.c parisc_regs.c parisc_retval.c | ||
162 | +libebl_parisc_pic_a_SOURCES = $(parisc_SRCS) | ||
163 | +am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os) | ||
164 | + | ||
165 | +mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c | ||
166 | +libebl_mips_pic_a_SOURCES = $(mips_SRCS) | ||
167 | +am_libebl_mips_pic_a_OBJECTS = $(mips_SRCS:.c=.os) | ||
168 | + | ||
169 | +m68k_SRCS = m68k_init.c m68k_symbol.c m68k_regs.c | ||
170 | +libebl_m68k_pic_a_SOURCES = $(m68k_SRCS) | ||
171 | +am_libebl_m68k_pic_a_OBJECTS = $(m68k_SRCS:.c=.os) | ||
172 | + | ||
173 | tilegx_SRCS = tilegx_init.c tilegx_symbol.c tilegx_regs.c \ | ||
174 | tilegx_retval.c tilegx_corenote.c | ||
175 | - | ||
176 | libebl_tilegx_pic_a_SOURCES = $(tilegx_SRCS) | ||
177 | am_libebl_tilegx_pic_a_OBJECTS = $(tilegx_SRCS:.c=.os) | ||
178 | noinst_HEADERS = libebl_CPU.h common-reloc.c linux-core-note.c x86_corenote.c | ||
179 | @@ -396,6 +428,18 @@ libebl_ia64_pic.a: $(libebl_ia64_pic_a_O | ||
180 | -rm -f libebl_ia64_pic.a | ||
181 | $(libebl_ia64_pic_a_AR) libebl_ia64_pic.a $(libebl_ia64_pic_a_OBJECTS) $(libebl_ia64_pic_a_LIBADD) | ||
182 | $(RANLIB) libebl_ia64_pic.a | ||
183 | +libebl_m68k_pic.a: $(libebl_m68k_pic_a_OBJECTS) $(libebl_m68k_pic_a_DEPENDENCIES) | ||
184 | + -rm -f libebl_m68k_pic.a | ||
185 | + $(libebl_m68k_pic_a_AR) libebl_m68k_pic.a $(libebl_m68k_pic_a_OBJECTS) $(libebl_m68k_pic_a_LIBADD) | ||
186 | + $(RANLIB) libebl_m68k_pic.a | ||
187 | +libebl_mips_pic.a: $(libebl_mips_pic_a_OBJECTS) $(libebl_mips_pic_a_DEPENDENCIES) | ||
188 | + -rm -f libebl_mips_pic.a | ||
189 | + $(libebl_mips_pic_a_AR) libebl_mips_pic.a $(libebl_mips_pic_a_OBJECTS) $(libebl_mips_pic_a_LIBADD) | ||
190 | + $(RANLIB) libebl_mips_pic.a | ||
191 | +libebl_parisc_pic.a: $(libebl_parisc_pic_a_OBJECTS) $(libebl_parisc_pic_a_DEPENDENCIES) | ||
192 | + -rm -f libebl_parisc_pic.a | ||
193 | + $(libebl_parisc_pic_a_AR) libebl_parisc_pic.a $(libebl_parisc_pic_a_OBJECTS) $(libebl_parisc_pic_a_LIBADD) | ||
194 | + $(RANLIB) libebl_parisc_pic.a | ||
195 | libebl_ppc64_pic.a: $(libebl_ppc64_pic_a_OBJECTS) $(libebl_ppc64_pic_a_DEPENDENCIES) $(EXTRA_libebl_ppc64_pic_a_DEPENDENCIES) | ||
196 | -rm -f libebl_ppc64_pic.a | ||
197 | $(libebl_ppc64_pic_a_AR) libebl_ppc64_pic.a $(libebl_ppc64_pic_a_OBJECTS) $(libebl_ppc64_pic_a_LIBADD) | ||
198 | @@ -456,6 +500,17 @@ distclean-compile: | ||
199 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ia64_regs.Po@am__quote@ | ||
200 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ia64_retval.Po@am__quote@ | ||
201 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ia64_symbol.Po@am__quote@ | ||
202 | +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/m68k_init.Po@am__quote@ | ||
203 | +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/m68k_regs.Po@am__quote@ | ||
204 | +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/m68k_symbol.Po@am__quote@ | ||
205 | +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mips_init.Po@am__quote@ | ||
206 | +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mips_regs.Po@am__quote@ | ||
207 | +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mips_retval.Po@am__quote@ | ||
208 | +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mips_symbol.Po@am__quote@ | ||
209 | +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parisc_init.Po@am__quote@ | ||
210 | +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parisc_regs.Po@am__quote@ | ||
211 | +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parisc_retval.Po@am__quote@ | ||
212 | +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parisc_symbol.Po@am__quote@ | ||
213 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppc64_corenote.Po@am__quote@ | ||
214 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppc64_init.Po@am__quote@ | ||
215 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppc64_retval.Po@am__quote@ | ||
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/dso-link-change.patch b/meta/recipes-devtools/elfutils/elfutils-0.155/dso-link-change.patch new file mode 100644 index 0000000000..f375a8ad64 --- /dev/null +++ b/meta/recipes-devtools/elfutils/elfutils-0.155/dso-link-change.patch | |||
@@ -0,0 +1,32 @@ | |||
1 | Upstream-Status: Pending | ||
2 | |||
3 | # This patch makes the link to the dependencies of libdw explicit, as recent | ||
4 | # ld no longer implicitly links them. See | ||
5 | # http://lists.fedoraproject.org/pipermail/devel/2010-March/133601.html as | ||
6 | # a similar example of the error message you can encounter without this patch, | ||
7 | # and https://fedoraproject.org/wiki/UnderstandingDSOLinkChange and | ||
8 | # https://fedoraproject.org/wiki/Features/ChangeInImplicitDSOLinking for more | ||
9 | # details. | ||
10 | |||
11 | --- elfutils-0.155.orig/src/Makefile.am | ||
12 | +++ elfutils-0.155/src/Makefile.am | ||
13 | @@ -86,7 +86,7 @@ libdw = ../libdw/libdw.a $(zip_LIBS) $(l | ||
14 | libelf = ../libelf/libelf.a | ||
15 | else | ||
16 | libasm = ../libasm/libasm.so | ||
17 | -libdw = ../libdw/libdw.so | ||
18 | +libdw = ../libdw/libdw.so $(zip_LIBS) $(libelf) $(libebl) -ldl | ||
19 | libelf = ../libelf/libelf.so | ||
20 | endif | ||
21 | libebl = ../libebl/libebl.a | ||
22 | --- elfutils-0.155.orig/tests/Makefile.am | ||
23 | +++ elfutils-0.155/tests/Makefile.am | ||
24 | @@ -172,7 +172,7 @@ libdw = ../libdw/libdw.a $(zip_LIBS) $(l | ||
25 | libelf = ../libelf/libelf.a | ||
26 | libasm = ../libasm/libasm.a | ||
27 | else | ||
28 | -libdw = ../libdw/libdw.so | ||
29 | +libdw = ../libdw/libdw.so $(zip_LIBS) $(libelf) $(libebl) -ldl | ||
30 | libelf = ../libelf/libelf.so | ||
31 | libasm = ../libasm/libasm.so | ||
32 | endif | ||
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/elf_additions.diff b/meta/recipes-devtools/elfutils/elfutils-0.155/elf_additions.diff new file mode 100644 index 0000000000..7c7f8a1bc0 --- /dev/null +++ b/meta/recipes-devtools/elfutils/elfutils-0.155/elf_additions.diff | |||
@@ -0,0 +1,61 @@ | |||
1 | Upstream-Status: Backport | ||
2 | |||
3 | Index: elfutils-0.155/libelf/elf.h | ||
4 | =================================================================== | ||
5 | --- elfutils-0.155.orig/libelf/elf.h | ||
6 | +++ elfutils-0.155/libelf/elf.h | ||
7 | @@ -149,8 +149,13 @@ typedef struct | ||
8 | #define ELFOSABI_TRU64 10 /* Compaq TRU64 UNIX. */ | ||
9 | #define ELFOSABI_MODESTO 11 /* Novell Modesto. */ | ||
10 | #define ELFOSABI_OPENBSD 12 /* OpenBSD. */ | ||
11 | +#define ELFOSABI_OPENVMS 13 /* OpenVMS */ | ||
12 | +#define ELFOSABI_NSK 14 /* Hewlett-Packard Non-Stop Kernel */ | ||
13 | +#define ELFOSABI_AROS 15 /* Amiga Research OS */ | ||
14 | +/* 64-255 Architecture-specific value range */ | ||
15 | #define ELFOSABI_ARM_AEABI 64 /* ARM EABI */ | ||
16 | #define ELFOSABI_ARM 97 /* ARM */ | ||
17 | +/* This is deprecated? It's not in the latest version anymore. */ | ||
18 | #define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */ | ||
19 | |||
20 | #define EI_ABIVERSION 8 /* ABI version */ | ||
21 | @@ -205,7 +210,7 @@ typedef struct | ||
22 | #define EM_H8_300H 47 /* Hitachi H8/300H */ | ||
23 | #define EM_H8S 48 /* Hitachi H8S */ | ||
24 | #define EM_H8_500 49 /* Hitachi H8/500 */ | ||
25 | -#define EM_IA_64 50 /* Intel Merced */ | ||
26 | +#define EM_IA_64 50 /* Intel IA64 */ | ||
27 | #define EM_MIPS_X 51 /* Stanford MIPS-X */ | ||
28 | #define EM_COLDFIRE 52 /* Motorola Coldfire */ | ||
29 | #define EM_68HC12 53 /* Motorola M68HC12 */ | ||
30 | @@ -219,7 +224,8 @@ typedef struct | ||
31 | #define EM_TINYJ 61 /* Advanced Logic Corp. Tinyj emb.fam*/ | ||
32 | #define EM_X86_64 62 /* AMD x86-64 architecture */ | ||
33 | #define EM_PDSP 63 /* Sony DSP Processor */ | ||
34 | - | ||
35 | +#define EM_PDP10 64 /* Digital Equipment Corp. PDP-10 */ | ||
36 | +#define EM_PDP11 65 /* Digital Equipment Corp. PDP-11 */ | ||
37 | #define EM_FX66 66 /* Siemens FX66 microcontroller */ | ||
38 | #define EM_ST9PLUS 67 /* STMicroelectronics ST9+ 8/16 mc */ | ||
39 | #define EM_ST7 68 /* STmicroelectronics ST7 8 bit mc */ | ||
40 | @@ -249,6 +255,21 @@ typedef struct | ||
41 | #define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */ | ||
42 | #define EM_ARC_A5 93 /* ARC Cores Tangent-A5 */ | ||
43 | #define EM_XTENSA 94 /* Tensilica Xtensa Architecture */ | ||
44 | +#define EM_VIDEOCORE 95 /* Alphamosaic VideoCore processor */ | ||
45 | +#define EM_TMM_GPP 96 /* Thompson Multimedia General Purpose Processor */ | ||
46 | +#define EM_NS32K 97 /* National Semiconductor 32000 series */ | ||
47 | +#define EM_TPC 98 /* Tenor Network TPC processor */ | ||
48 | +#define EM_SNP1K 99 /* Trebia SNP 1000 processor */ | ||
49 | +#define EM_ST200 100 /* STMicroelectronics (www.st.com) ST200 microcontroller */ | ||
50 | +#define EM_IP2K 101 /* Ubicom IP2XXX microcontroller family */ | ||
51 | +#define EM_MAX 102 /* MAX Processor */ | ||
52 | +#define EM_CR 103 /* National Semiconductor CompactRISC */ | ||
53 | +#define EM_F2MC16 104 /* Fujitsu F2MC16 */ | ||
54 | +#define EM_MSP430 105 /* TI msp430 micro controller */ | ||
55 | +#define EM_BLACKFIN 106 /* Analog Devices Blackfin (DSP) processor */ | ||
56 | +#define EM_SE_C33 107 /* S1C33 Family of Seiko Epson processors */ | ||
57 | +#define EM_SEP 108 /* Sharp embedded microprocessor */ | ||
58 | +#define EM_ARCA 109 /* Arca RISC Microprocessor */ | ||
59 | #define EM_TILEPRO 188 /* Tilera TILEPro */ | ||
60 | #define EM_TILEGX 191 /* Tilera TILE-Gx */ | ||
61 | #define EM_NUM 192 | ||
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/elfutils-ar-c-fix-num-passed-to-memset.patch b/meta/recipes-devtools/elfutils/elfutils-0.155/elfutils-ar-c-fix-num-passed-to-memset.patch new file mode 100644 index 0000000000..dd4f06bcd4 --- /dev/null +++ b/meta/recipes-devtools/elfutils/elfutils-0.155/elfutils-ar-c-fix-num-passed-to-memset.patch | |||
@@ -0,0 +1,23 @@ | |||
1 | Upstream-Status: Backport | ||
2 | |||
3 | ar.c (do_oper_delete): Fix num passed to memset | ||
4 | native build failed as following on Fedora18+: | ||
5 | ar.c: In function 'do_oper_delete': | ||
6 | ar.c:918:31: error: argument to 'sizeof' in 'memset' call is the same expression as the destination; did you mean to dereference it? [-Werror=sizeof-pointer-memaccess] | ||
7 | memset (found, '\0', sizeof (found)); | ||
8 | ^ | ||
9 | The original commit is http://git.fedorahosted.org/cgit/elfutils.git/commit/src/ar.c?id=1a4d0668d18bf1090c5c08cdb5cb3ba2b8eb5410 | ||
10 | |||
11 | Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com> | ||
12 | |||
13 | --- elfutils-0.155/src/ar.c.org 2013-03-12 21:12:17.928281375 -0500 | ||
14 | +++ elfutils-0.155/src/ar.c 2013-03-12 21:15:30.053285271 -0500 | ||
15 | @@ -915,7 +915,7 @@ | ||
16 | long int instance) | ||
17 | { | ||
18 | bool *found = alloca (sizeof (bool) * argc); | ||
19 | - memset (found, '\0', sizeof (found)); | ||
20 | + memset (found, '\0', sizeof (bool) * argc); | ||
21 | |||
22 | /* List of the files we keep. */ | ||
23 | struct armem *to_copy = NULL; | ||
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/elfutils-robustify.patch b/meta/recipes-devtools/elfutils/elfutils-0.155/elfutils-robustify.patch new file mode 100644 index 0000000000..9eee98412d --- /dev/null +++ b/meta/recipes-devtools/elfutils/elfutils-0.155/elfutils-robustify.patch | |||
@@ -0,0 +1,1756 @@ | |||
1 | --- elfutils/libdwfl/ChangeLog | ||
2 | +++ elfutils/libdwfl/ChangeLog | ||
3 | @@ -52,6 +52,11 @@ | ||
4 | * dwfl_module_getdwarf.c (open_elf): Clear errno before CBFAIL. | ||
5 | Reported by Kurt Roeckx <kurt@roeckx.be>. | ||
6 | |||
7 | +2011-03-23 Petr Machata <pmachata@redhat.com> | ||
8 | + | ||
9 | + * relocate.c (relocate_section): Use gelf_fsize instead of relying | ||
10 | + on shdr->sh_entsize. | ||
11 | + | ||
12 | 2011-02-11 Roland McGrath <roland@redhat.com> | ||
13 | |||
14 | * linux-kernel-modules.c (try_kernel_name): Try .gz, .bz2, .xz | ||
15 | --- elfutils/libdwfl/relocate.c | ||
16 | +++ elfutils/libdwfl/relocate.c | ||
17 | @@ -1,5 +1,5 @@ | ||
18 | /* Relocate debug information. | ||
19 | - Copyright (C) 2005-2010 Red Hat, Inc. | ||
20 | + Copyright (C) 2005-2011 Red Hat, Inc. | ||
21 | This file is part of elfutils. | ||
22 | |||
23 | This file is free software; you can redistribute it and/or modify | ||
24 | @@ -457,7 +457,10 @@ relocate_section (Dwfl_Module *mod, Elf | ||
25 | } | ||
26 | } | ||
27 | |||
28 | - size_t nrels = shdr->sh_size / shdr->sh_entsize; | ||
29 | + size_t sh_entsize | ||
30 | + = gelf_fsize (relocated, shdr->sh_type == SHT_REL ? ELF_T_REL : ELF_T_RELA, | ||
31 | + 1, EV_CURRENT); | ||
32 | + size_t nrels = shdr->sh_size / sh_entsize; | ||
33 | size_t complete = 0; | ||
34 | if (shdr->sh_type == SHT_REL) | ||
35 | for (size_t relidx = 0; !result && relidx < nrels; ++relidx) | ||
36 | @@ -559,7 +562,7 @@ relocate_section (Dwfl_Module *mod, Elf | ||
37 | nrels = next; | ||
38 | } | ||
39 | |||
40 | - shdr->sh_size = reldata->d_size = nrels * shdr->sh_entsize; | ||
41 | + shdr->sh_size = reldata->d_size = nrels * sh_entsize; | ||
42 | gelf_update_shdr (scn, shdr); | ||
43 | } | ||
44 | |||
45 | --- elfutils/libelf/ChangeLog | ||
46 | +++ elfutils/libelf/ChangeLog | ||
47 | @@ -703,10 +703,53 @@ | ||
48 | If section content hasn't been read yet, do it before looking for the | ||
49 | block size. If no section data present, infer size of section header. | ||
50 | |||
51 | +2005-05-14 Jakub Jelinek <jakub@redhat.com> | ||
52 | + | ||
53 | + * libelfP.h (INVALID_NDX): Define. | ||
54 | + * gelf_getdyn.c (gelf_getdyn): Use it. Remove ndx < 0 test if any. | ||
55 | + * gelf_getlib.c (gelf_getlib): Likewise. | ||
56 | + * gelf_getmove.c (gelf_getmove): Likewise. | ||
57 | + * gelf_getrel.c (gelf_getrel): Likewise. | ||
58 | + * gelf_getrela.c (gelf_getrela): Likewise. | ||
59 | + * gelf_getsym.c (gelf_getsym): Likewise. | ||
60 | + * gelf_getsyminfo.c (gelf_getsyminfo): Likewise. | ||
61 | + * gelf_getsymshndx.c (gelf_getsymshndx): Likewise. | ||
62 | + * gelf_getversym.c (gelf_getversym): Likewise. | ||
63 | + * gelf_update_dyn.c (gelf_update_dyn): Likewise. | ||
64 | + * gelf_update_lib.c (gelf_update_lib): Likewise. | ||
65 | + * gelf_update_move.c (gelf_update_move): Likewise. | ||
66 | + * gelf_update_rel.c (gelf_update_rel): Likewise. | ||
67 | + * gelf_update_rela.c (gelf_update_rela): Likewise. | ||
68 | + * gelf_update_sym.c (gelf_update_sym): Likewise. | ||
69 | + * gelf_update_syminfo.c (gelf_update_syminfo): Likewise. | ||
70 | + * gelf_update_symshndx.c (gelf_update_symshndx): Likewise. | ||
71 | + * gelf_update_versym.c (gelf_update_versym): Likewise. | ||
72 | + * elf_newscn.c (elf_newscn): Check for overflow. | ||
73 | + * elf32_updatefile.c (__elfw2(LIBELFBITS,updatemmap)): Likewise. | ||
74 | + (__elfw2(LIBELFBITS,updatefile)): Likewise. | ||
75 | + * elf_begin.c (file_read_elf): Likewise. | ||
76 | + * elf32_newphdr.c (elfw2(LIBELFBITS,newphdr)): Likewise. | ||
77 | + * elf_getarsym.c (elf_getarsym): Likewise. | ||
78 | + * elf32_getshdr.c (elfw2(LIBELFBITS,getshdr)): Likewise. | ||
79 | 2005-05-11 Ulrich Drepper <drepper@redhat.com> | ||
80 | |||
81 | * elf.h: Update again. | ||
82 | |||
83 | +2005-05-17 Jakub Jelinek <jakub@redhat.com> | ||
84 | + | ||
85 | + * elf32_getphdr.c (elfw2(LIBELFBITS,getphdr)): Check if program header | ||
86 | + table fits into object's bounds. | ||
87 | + * elf_getshstrndx.c (elf_getshstrndx): Add elf->start_offset to | ||
88 | + elf->map_address. Check if first section header fits into object's | ||
89 | + bounds. | ||
90 | + * elf32_getshdr.c (elfw2(LIBELFBITS,getshdr)): | ||
91 | + Check if section header table fits into object's bounds. | ||
92 | + * elf_begin.c (get_shnum): Ensure section headers fits into | ||
93 | + object's bounds. | ||
94 | + (file_read_elf): Make sure scncnt is small enough to allocate both | ||
95 | + ElfXX_Shdr and Elf_Scn array. Make sure section and program header | ||
96 | + tables fit into object's bounds. Avoid memory leak on failure. | ||
97 | + | ||
98 | 2005-05-09 Ulrich Drepper <drepper@redhat.com> | ||
99 | |||
100 | * elf.h: Update from glibc. | ||
101 | --- elfutils/libelf/elf32_getphdr.c | ||
102 | +++ elfutils/libelf/elf32_getphdr.c | ||
103 | @@ -93,6 +93,16 @@ __elfw2(LIBELFBITS,getphdr_wrlock) (elf) | ||
104 | |||
105 | if (elf->map_address != NULL) | ||
106 | { | ||
107 | + /* First see whether the information in the ELF header is | ||
108 | + valid and it does not ask for too much. */ | ||
109 | + if (unlikely (ehdr->e_phoff >= elf->maximum_size) | ||
110 | + || unlikely (elf->maximum_size - ehdr->e_phoff < size)) | ||
111 | + { | ||
112 | + /* Something is wrong. */ | ||
113 | + __libelf_seterrno (ELF_E_INVALID_PHDR); | ||
114 | + goto out; | ||
115 | + } | ||
116 | + | ||
117 | /* All the data is already mapped. Use it. */ | ||
118 | void *file_phdr = ((char *) elf->map_address | ||
119 | + elf->start_offset + ehdr->e_phoff); | ||
120 | --- elfutils/libelf/elf32_getshdr.c | ||
121 | +++ elfutils/libelf/elf32_getshdr.c | ||
122 | @@ -60,7 +60,8 @@ load_shdr_wrlock (Elf_Scn *scn) | ||
123 | goto out; | ||
124 | |||
125 | size_t shnum; | ||
126 | - if (__elf_getshdrnum_rdlock (elf, &shnum) != 0) | ||
127 | + if (__elf_getshdrnum_rdlock (elf, &shnum) != 0 | ||
128 | + || shnum > SIZE_MAX / sizeof (ElfW2(LIBELFBITS,Shdr))) | ||
129 | goto out; | ||
130 | size_t size = shnum * sizeof (ElfW2(LIBELFBITS,Shdr)); | ||
131 | |||
132 | @@ -77,6 +78,16 @@ load_shdr_wrlock (Elf_Scn *scn) | ||
133 | |||
134 | if (elf->map_address != NULL) | ||
135 | { | ||
136 | + /* First see whether the information in the ELF header is | ||
137 | + valid and it does not ask for too much. */ | ||
138 | + if (unlikely (ehdr->e_shoff >= elf->maximum_size) | ||
139 | + || unlikely (elf->maximum_size - ehdr->e_shoff < size)) | ||
140 | + { | ||
141 | + /* Something is wrong. */ | ||
142 | + __libelf_seterrno (ELF_E_INVALID_SECTION_HEADER); | ||
143 | + goto free_and_out; | ||
144 | + } | ||
145 | + | ||
146 | ElfW2(LIBELFBITS,Shdr) *notcvt; | ||
147 | |||
148 | /* All the data is already mapped. If we could use it | ||
149 | --- elfutils/libelf/elf32_newphdr.c | ||
150 | +++ elfutils/libelf/elf32_newphdr.c | ||
151 | @@ -114,6 +114,12 @@ elfw2(LIBELFBITS,newphdr) (elf, count) | ||
152 | || count == PN_XNUM | ||
153 | || elf->state.ELFW(elf,LIBELFBITS).phdr == NULL) | ||
154 | { | ||
155 | + if (unlikely (count > SIZE_MAX / sizeof (ElfW2(LIBELFBITS,Phdr)))) | ||
156 | + { | ||
157 | + result = NULL; | ||
158 | + goto out; | ||
159 | + } | ||
160 | + | ||
161 | /* Allocate a new program header with the appropriate number of | ||
162 | elements. */ | ||
163 | result = (ElfW2(LIBELFBITS,Phdr) *) | ||
164 | --- elfutils/libelf/elf32_updatefile.c | ||
165 | +++ elfutils/libelf/elf32_updatefile.c | ||
166 | @@ -202,6 +202,9 @@ __elfw2(LIBELFBITS,updatemmap) (Elf *elf | ||
167 | /* Write all the sections. Well, only those which are modified. */ | ||
168 | if (shnum > 0) | ||
169 | { | ||
170 | + if (unlikely (shnum > SIZE_MAX / sizeof (Elf_Scn *))) | ||
171 | + return 1; | ||
172 | + | ||
173 | Elf_ScnList *list = &elf->state.ELFW(elf,LIBELFBITS).scns; | ||
174 | Elf_Scn **scns = (Elf_Scn **) alloca (shnum * sizeof (Elf_Scn *)); | ||
175 | char *const shdr_start = ((char *) elf->map_address + elf->start_offset | ||
176 | @@ -624,6 +627,10 @@ __elfw2(LIBELFBITS,updatefile) (Elf *elf | ||
177 | /* Write all the sections. Well, only those which are modified. */ | ||
178 | if (shnum > 0) | ||
179 | { | ||
180 | + if (unlikely (shnum > SIZE_MAX / (sizeof (Elf_Scn *) | ||
181 | + + sizeof (ElfW2(LIBELFBITS,Shdr))))) | ||
182 | + return 1; | ||
183 | + | ||
184 | off_t shdr_offset = elf->start_offset + ehdr->e_shoff; | ||
185 | #if EV_NUM != 2 | ||
186 | xfct_t shdr_fctp = __elf_xfctstom[__libelf_version - 1][EV_CURRENT - 1][ELFW(ELFCLASS, LIBELFBITS) - 1][ELF_T_SHDR]; | ||
187 | --- elfutils/libelf/elf_begin.c | ||
188 | +++ elfutils/libelf/elf_begin.c | ||
189 | @@ -144,7 +144,8 @@ get_shnum (void *map_address, unsigned c | ||
190 | |||
191 | if (unlikely (result == 0) && ehdr.e32->e_shoff != 0) | ||
192 | { | ||
193 | - if (ehdr.e32->e_shoff + sizeof (Elf32_Shdr) > maxsize) | ||
194 | + if (unlikely (ehdr.e32->e_shoff >= maxsize) | ||
195 | + || unlikely (maxsize - ehdr.e32->e_shoff < sizeof (Elf32_Shdr))) | ||
196 | /* Cannot read the first section header. */ | ||
197 | return 0; | ||
198 | |||
199 | @@ -192,7 +193,8 @@ get_shnum (void *map_address, unsigned c | ||
200 | |||
201 | if (unlikely (result == 0) && ehdr.e64->e_shoff != 0) | ||
202 | { | ||
203 | - if (ehdr.e64->e_shoff + sizeof (Elf64_Shdr) > maxsize) | ||
204 | + if (unlikely (ehdr.e64->e_shoff >= maxsize) | ||
205 | + || unlikely (ehdr.e64->e_shoff + sizeof (Elf64_Shdr) > maxsize)) | ||
206 | /* Cannot read the first section header. */ | ||
207 | return 0; | ||
208 | |||
209 | @@ -264,6 +266,15 @@ file_read_elf (int fildes, void *map_add | ||
210 | /* Could not determine the number of sections. */ | ||
211 | return NULL; | ||
212 | |||
213 | + /* Check for too many sections. */ | ||
214 | + if (e_ident[EI_CLASS] == ELFCLASS32) | ||
215 | + { | ||
216 | + if (scncnt > SIZE_MAX / (sizeof (Elf_Scn) + sizeof (Elf32_Shdr))) | ||
217 | + return NULL; | ||
218 | + } | ||
219 | + else if (scncnt > SIZE_MAX / (sizeof (Elf_Scn) + sizeof (Elf64_Shdr))) | ||
220 | + return NULL; | ||
221 | + | ||
222 | /* We can now allocate the memory. Even if there are no section headers, | ||
223 | we allocate space for a zeroth section in case we need it later. */ | ||
224 | const size_t scnmax = (scncnt ?: (cmd == ELF_C_RDWR || cmd == ELF_C_RDWR_MMAP) | ||
225 | @@ -303,6 +314,16 @@ file_read_elf (int fildes, void *map_add | ||
226 | { | ||
227 | /* We can use the mmapped memory. */ | ||
228 | elf->state.elf32.ehdr = ehdr; | ||
229 | + | ||
230 | + if (unlikely (ehdr->e_shoff >= maxsize) | ||
231 | + || unlikely (maxsize - ehdr->e_shoff | ||
232 | + < scncnt * sizeof (Elf32_Shdr))) | ||
233 | + { | ||
234 | + free_and_out: | ||
235 | + free (elf); | ||
236 | + __libelf_seterrno (ELF_E_INVALID_FILE); | ||
237 | + return NULL; | ||
238 | + } | ||
239 | elf->state.elf32.shdr | ||
240 | = (Elf32_Shdr *) ((char *) ehdr + ehdr->e_shoff); | ||
241 | |||
242 | @@ -389,6 +410,11 @@ file_read_elf (int fildes, void *map_add | ||
243 | { | ||
244 | /* We can use the mmapped memory. */ | ||
245 | elf->state.elf64.ehdr = ehdr; | ||
246 | + | ||
247 | + if (unlikely (ehdr->e_shoff >= maxsize) | ||
248 | + || unlikely (ehdr->e_shoff | ||
249 | + + scncnt * sizeof (Elf32_Shdr) > maxsize)) | ||
250 | + goto free_and_out; | ||
251 | elf->state.elf64.shdr | ||
252 | = (Elf64_Shdr *) ((char *) ehdr + ehdr->e_shoff); | ||
253 | |||
254 | --- elfutils/libelf/elf_getarsym.c | ||
255 | +++ elfutils/libelf/elf_getarsym.c | ||
256 | @@ -181,6 +181,9 @@ elf_getarsym (elf, ptr) | ||
257 | size_t index_size = atol (tmpbuf); | ||
258 | |||
259 | if (SARMAG + sizeof (struct ar_hdr) + index_size > elf->maximum_size | ||
260 | +#if SIZE_MAX <= 4294967295U | ||
261 | + || n >= SIZE_MAX / sizeof (Elf_Arsym) | ||
262 | +#endif | ||
263 | || n * w > index_size) | ||
264 | { | ||
265 | /* This index table cannot be right since it does not fit into | ||
266 | --- elfutils/libelf/elf_getshdrstrndx.c | ||
267 | +++ elfutils/libelf/elf_getshdrstrndx.c | ||
268 | @@ -104,10 +104,25 @@ elf_getshdrstrndx (elf, dst) | ||
269 | if (elf->map_address != NULL | ||
270 | && elf->state.elf32.ehdr->e_ident[EI_DATA] == MY_ELFDATA | ||
271 | && (ALLOW_UNALIGNED | ||
272 | - || (((size_t) ((char *) elf->map_address + offset)) | ||
273 | + || (((size_t) ((char *) elf->map_address | ||
274 | + + elf->start_offset + offset)) | ||
275 | & (__alignof__ (Elf32_Shdr) - 1)) == 0)) | ||
276 | - /* We can directly access the memory. */ | ||
277 | - num = ((Elf32_Shdr *) (elf->map_address + offset))->sh_link; | ||
278 | + { | ||
279 | + /* First see whether the information in the ELF header is | ||
280 | + valid and it does not ask for too much. */ | ||
281 | + if (unlikely (elf->maximum_size - offset | ||
282 | + < sizeof (Elf32_Shdr))) | ||
283 | + { | ||
284 | + /* Something is wrong. */ | ||
285 | + __libelf_seterrno (ELF_E_INVALID_SECTION_HEADER); | ||
286 | + result = -1; | ||
287 | + goto out; | ||
288 | + } | ||
289 | + | ||
290 | + /* We can directly access the memory. */ | ||
291 | + num = ((Elf32_Shdr *) (elf->map_address + elf->start_offset | ||
292 | + + offset))->sh_link; | ||
293 | + } | ||
294 | else | ||
295 | { | ||
296 | /* We avoid reading in all the section headers. Just read | ||
297 | @@ -142,10 +157,25 @@ elf_getshdrstrndx (elf, dst) | ||
298 | if (elf->map_address != NULL | ||
299 | && elf->state.elf64.ehdr->e_ident[EI_DATA] == MY_ELFDATA | ||
300 | && (ALLOW_UNALIGNED | ||
301 | - || (((size_t) ((char *) elf->map_address + offset)) | ||
302 | + || (((size_t) ((char *) elf->map_address | ||
303 | + + elf->start_offset + offset)) | ||
304 | & (__alignof__ (Elf64_Shdr) - 1)) == 0)) | ||
305 | - /* We can directly access the memory. */ | ||
306 | - num = ((Elf64_Shdr *) (elf->map_address + offset))->sh_link; | ||
307 | + { | ||
308 | + /* First see whether the information in the ELF header is | ||
309 | + valid and it does not ask for too much. */ | ||
310 | + if (unlikely (elf->maximum_size - offset | ||
311 | + < sizeof (Elf64_Shdr))) | ||
312 | + { | ||
313 | + /* Something is wrong. */ | ||
314 | + __libelf_seterrno (ELF_E_INVALID_SECTION_HEADER); | ||
315 | + result = -1; | ||
316 | + goto out; | ||
317 | + } | ||
318 | + | ||
319 | + /* We can directly access the memory. */ | ||
320 | + num = ((Elf64_Shdr *) (elf->map_address + elf->start_offset | ||
321 | + + offset))->sh_link; | ||
322 | + } | ||
323 | else | ||
324 | { | ||
325 | /* We avoid reading in all the section headers. Just read | ||
326 | --- elfutils/libelf/elf_newscn.c | ||
327 | +++ elfutils/libelf/elf_newscn.c | ||
328 | @@ -83,10 +83,18 @@ elf_newscn (elf) | ||
329 | else | ||
330 | { | ||
331 | /* We must allocate a new element. */ | ||
332 | - Elf_ScnList *newp; | ||
333 | + Elf_ScnList *newp = NULL; | ||
334 | |||
335 | assert (elf->state.elf.scnincr > 0); | ||
336 | |||
337 | + if ( | ||
338 | +#if SIZE_MAX <= 4294967295U | ||
339 | + likely (elf->state.elf.scnincr | ||
340 | + < SIZE_MAX / 2 / sizeof (Elf_Scn) - sizeof (Elf_ScnList)) | ||
341 | +#else | ||
342 | + 1 | ||
343 | +#endif | ||
344 | + ) | ||
345 | newp = (Elf_ScnList *) calloc (sizeof (Elf_ScnList) | ||
346 | + ((elf->state.elf.scnincr *= 2) | ||
347 | * sizeof (Elf_Scn)), 1); | ||
348 | --- elfutils/libelf/gelf_getdyn.c | ||
349 | +++ elfutils/libelf/gelf_getdyn.c | ||
350 | @@ -1,5 +1,5 @@ | ||
351 | /* Get information from dynamic table at the given index. | ||
352 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
353 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
354 | This file is part of elfutils. | ||
355 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
356 | |||
357 | @@ -72,7 +72,7 @@ gelf_getdyn (data, ndx, dst) | ||
358 | table entries has to be adopted. The user better has provided | ||
359 | a buffer where we can store the information. While copying the | ||
360 | data we are converting the format. */ | ||
361 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Dyn) > data_scn->d.d_size)) | ||
362 | + if (INVALID_NDX (ndx, Elf32_Dyn, &data_scn->d)) | ||
363 | { | ||
364 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
365 | goto out; | ||
366 | @@ -93,7 +93,7 @@ gelf_getdyn (data, ndx, dst) | ||
367 | |||
368 | /* The data is already in the correct form. Just make sure the | ||
369 | index is OK. */ | ||
370 | - if (unlikely ((ndx + 1) * sizeof (GElf_Dyn) > data_scn->d.d_size)) | ||
371 | + if (INVALID_NDX (ndx, GElf_Dyn, &data_scn->d)) | ||
372 | { | ||
373 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
374 | goto out; | ||
375 | --- elfutils/libelf/gelf_getlib.c | ||
376 | +++ elfutils/libelf/gelf_getlib.c | ||
377 | @@ -1,5 +1,5 @@ | ||
378 | /* Get library from table at the given index. | ||
379 | - Copyright (C) 2004 Red Hat, Inc. | ||
380 | + Copyright (C) 2004-2009 Red Hat, Inc. | ||
381 | This file is part of elfutils. | ||
382 | Written by Ulrich Drepper <drepper@redhat.com>, 2004. | ||
383 | |||
384 | @@ -65,7 +65,7 @@ gelf_getlib (data, ndx, dst) | ||
385 | /* The data is already in the correct form. Just make sure the | ||
386 | index is OK. */ | ||
387 | GElf_Lib *result = NULL; | ||
388 | - if (unlikely ((ndx + 1) * sizeof (GElf_Lib) > data->d_size)) | ||
389 | + if (INVALID_NDX (ndx, GElf_Lib, data)) | ||
390 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
391 | else | ||
392 | { | ||
393 | --- elfutils/libelf/gelf_getmove.c | ||
394 | +++ elfutils/libelf/gelf_getmove.c | ||
395 | @@ -1,5 +1,5 @@ | ||
396 | /* Get move structure at the given index. | ||
397 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
398 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
399 | This file is part of elfutils. | ||
400 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
401 | |||
402 | @@ -62,7 +62,7 @@ gelf_getmove (data, ndx, dst) | ||
403 | |||
404 | /* The data is already in the correct form. Just make sure the | ||
405 | index is OK. */ | ||
406 | - if (unlikely ((ndx + 1) * sizeof (GElf_Move) > data->d_size)) | ||
407 | + if (INVALID_NDX (ndx, GElf_Move, data)) | ||
408 | { | ||
409 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
410 | goto out; | ||
411 | --- elfutils/libelf/gelf_getrela.c | ||
412 | +++ elfutils/libelf/gelf_getrela.c | ||
413 | @@ -1,5 +1,5 @@ | ||
414 | /* Get RELA relocation information at given index. | ||
415 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
416 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
417 | This file is part of elfutils. | ||
418 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
419 | |||
420 | @@ -50,12 +50,6 @@ gelf_getrela (data, ndx, dst) | ||
421 | if (data_scn == NULL) | ||
422 | return NULL; | ||
423 | |||
424 | - if (unlikely (ndx < 0)) | ||
425 | - { | ||
426 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
427 | - return NULL; | ||
428 | - } | ||
429 | - | ||
430 | if (unlikely (data_scn->d.d_type != ELF_T_RELA)) | ||
431 | { | ||
432 | __libelf_seterrno (ELF_E_INVALID_HANDLE); | ||
433 | @@ -72,7 +66,7 @@ gelf_getrela (data, ndx, dst) | ||
434 | if (scn->elf->class == ELFCLASS32) | ||
435 | { | ||
436 | /* We have to convert the data. */ | ||
437 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Rela) > data_scn->d.d_size)) | ||
438 | + if (INVALID_NDX (ndx, Elf32_Rela, &data_scn->d)) | ||
439 | { | ||
440 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
441 | result = NULL; | ||
442 | @@ -93,7 +87,7 @@ gelf_getrela (data, ndx, dst) | ||
443 | { | ||
444 | /* Simply copy the data after we made sure we are actually getting | ||
445 | correct data. */ | ||
446 | - if (unlikely ((ndx + 1) * sizeof (Elf64_Rela) > data_scn->d.d_size)) | ||
447 | + if (INVALID_NDX (ndx, Elf64_Rela, &data_scn->d)) | ||
448 | { | ||
449 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
450 | result = NULL; | ||
451 | --- elfutils/libelf/gelf_getrel.c | ||
452 | +++ elfutils/libelf/gelf_getrel.c | ||
453 | @@ -1,5 +1,5 @@ | ||
454 | /* Get REL relocation information at given index. | ||
455 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
456 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
457 | This file is part of elfutils. | ||
458 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
459 | |||
460 | @@ -50,12 +50,6 @@ gelf_getrel (data, ndx, dst) | ||
461 | if (data_scn == NULL) | ||
462 | return NULL; | ||
463 | |||
464 | - if (unlikely (ndx < 0)) | ||
465 | - { | ||
466 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
467 | - return NULL; | ||
468 | - } | ||
469 | - | ||
470 | if (unlikely (data_scn->d.d_type != ELF_T_REL)) | ||
471 | { | ||
472 | __libelf_seterrno (ELF_E_INVALID_HANDLE); | ||
473 | @@ -72,7 +66,7 @@ gelf_getrel (data, ndx, dst) | ||
474 | if (scn->elf->class == ELFCLASS32) | ||
475 | { | ||
476 | /* We have to convert the data. */ | ||
477 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Rel) > data_scn->d.d_size)) | ||
478 | + if (INVALID_NDX (ndx, Elf32_Rel, &data_scn->d)) | ||
479 | { | ||
480 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
481 | result = NULL; | ||
482 | @@ -92,7 +86,7 @@ gelf_getrel (data, ndx, dst) | ||
483 | { | ||
484 | /* Simply copy the data after we made sure we are actually getting | ||
485 | correct data. */ | ||
486 | - if (unlikely ((ndx + 1) * sizeof (Elf64_Rel) > data_scn->d.d_size)) | ||
487 | + if (INVALID_NDX (ndx, Elf64_Rel, &data_scn->d)) | ||
488 | { | ||
489 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
490 | result = NULL; | ||
491 | --- elfutils/libelf/gelf_getsym.c | ||
492 | +++ elfutils/libelf/gelf_getsym.c | ||
493 | @@ -1,5 +1,5 @@ | ||
494 | /* Get symbol information from symbol table at the given index. | ||
495 | - Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc. | ||
496 | + Copyright (C) 1999-2009 Red Hat, Inc. | ||
497 | This file is part of elfutils. | ||
498 | Written by Ulrich Drepper <drepper@redhat.com>, 1999. | ||
499 | |||
500 | @@ -69,7 +69,7 @@ gelf_getsym (data, ndx, dst) | ||
501 | table entries has to be adopted. The user better has provided | ||
502 | a buffer where we can store the information. While copying the | ||
503 | data we are converting the format. */ | ||
504 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > data->d_size)) | ||
505 | + if (INVALID_NDX (ndx, Elf32_Sym, data)) | ||
506 | { | ||
507 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
508 | goto out; | ||
509 | @@ -98,7 +98,7 @@ gelf_getsym (data, ndx, dst) | ||
510 | |||
511 | /* The data is already in the correct form. Just make sure the | ||
512 | index is OK. */ | ||
513 | - if (unlikely ((ndx + 1) * sizeof (GElf_Sym) > data->d_size)) | ||
514 | + if (INVALID_NDX (ndx, GElf_Sym, data)) | ||
515 | { | ||
516 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
517 | goto out; | ||
518 | --- elfutils/libelf/gelf_getsyminfo.c | ||
519 | +++ elfutils/libelf/gelf_getsyminfo.c | ||
520 | @@ -1,5 +1,5 @@ | ||
521 | /* Get additional symbol information from symbol table at the given index. | ||
522 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
523 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
524 | This file is part of elfutils. | ||
525 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
526 | |||
527 | @@ -63,7 +63,7 @@ gelf_getsyminfo (data, ndx, dst) | ||
528 | |||
529 | /* The data is already in the correct form. Just make sure the | ||
530 | index is OK. */ | ||
531 | - if (unlikely ((ndx + 1) * sizeof (GElf_Syminfo) > data->d_size)) | ||
532 | + if (INVALID_NDX (ndx, GElf_Syminfo, data)) | ||
533 | { | ||
534 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
535 | goto out; | ||
536 | --- elfutils/libelf/gelf_getsymshndx.c | ||
537 | +++ elfutils/libelf/gelf_getsymshndx.c | ||
538 | @@ -1,6 +1,6 @@ | ||
539 | /* Get symbol information and separate section index from symbol table | ||
540 | at the given index. | ||
541 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
542 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
543 | This file is part of elfutils. | ||
544 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
545 | |||
546 | @@ -69,7 +69,7 @@ gelf_getsymshndx (symdata, shndxdata, nd | ||
547 | section index table. */ | ||
548 | if (likely (shndxdata_scn != NULL)) | ||
549 | { | ||
550 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Word) > shndxdata_scn->d.d_size)) | ||
551 | + if (INVALID_NDX (ndx, Elf32_Word, &shndxdata_scn->d)) | ||
552 | { | ||
553 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
554 | goto out; | ||
555 | @@ -89,7 +89,7 @@ gelf_getsymshndx (symdata, shndxdata, nd | ||
556 | table entries has to be adopted. The user better has provided | ||
557 | a buffer where we can store the information. While copying the | ||
558 | data we are converting the format. */ | ||
559 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > symdata->d_size)) | ||
560 | + if (INVALID_NDX (ndx, Elf32_Sym, symdata)) | ||
561 | { | ||
562 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
563 | goto out; | ||
564 | @@ -118,7 +118,7 @@ gelf_getsymshndx (symdata, shndxdata, nd | ||
565 | |||
566 | /* The data is already in the correct form. Just make sure the | ||
567 | index is OK. */ | ||
568 | - if (unlikely ((ndx + 1) * sizeof (GElf_Sym) > symdata->d_size)) | ||
569 | + if (INVALID_NDX (ndx, GElf_Sym, symdata)) | ||
570 | { | ||
571 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
572 | goto out; | ||
573 | --- elfutils/libelf/gelf_getversym.c | ||
574 | +++ elfutils/libelf/gelf_getversym.c | ||
575 | @@ -1,5 +1,5 @@ | ||
576 | /* Get symbol version information at the given index. | ||
577 | - Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc. | ||
578 | + Copyright (C) 1999-2009 Red Hat, Inc. | ||
579 | This file is part of elfutils. | ||
580 | Written by Ulrich Drepper <drepper@redhat.com>, 1999. | ||
581 | |||
582 | @@ -71,7 +71,7 @@ gelf_getversym (data, ndx, dst) | ||
583 | |||
584 | /* The data is already in the correct form. Just make sure the | ||
585 | index is OK. */ | ||
586 | - if (unlikely ((ndx + 1) * sizeof (GElf_Versym) > data->d_size)) | ||
587 | + if (INVALID_NDX (ndx, GElf_Versym, data)) | ||
588 | { | ||
589 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
590 | result = NULL; | ||
591 | --- elfutils/libelf/gelf_update_dyn.c | ||
592 | +++ elfutils/libelf/gelf_update_dyn.c | ||
593 | @@ -1,5 +1,5 @@ | ||
594 | /* Update information in dynamic table at the given index. | ||
595 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
596 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
597 | This file is part of elfutils. | ||
598 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
599 | |||
600 | @@ -50,12 +50,6 @@ gelf_update_dyn (data, ndx, src) | ||
601 | if (data == NULL) | ||
602 | return 0; | ||
603 | |||
604 | - if (unlikely (ndx < 0)) | ||
605 | - { | ||
606 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
607 | - return 0; | ||
608 | - } | ||
609 | - | ||
610 | if (unlikely (data_scn->d.d_type != ELF_T_DYN)) | ||
611 | { | ||
612 | /* The type of the data better should match. */ | ||
613 | @@ -81,7 +75,7 @@ gelf_update_dyn (data, ndx, src) | ||
614 | } | ||
615 | |||
616 | /* Check whether we have to resize the data buffer. */ | ||
617 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Dyn) > data_scn->d.d_size)) | ||
618 | + if (INVALID_NDX (ndx, Elf32_Dyn, &data_scn->d)) | ||
619 | { | ||
620 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
621 | goto out; | ||
622 | @@ -95,7 +89,7 @@ gelf_update_dyn (data, ndx, src) | ||
623 | else | ||
624 | { | ||
625 | /* Check whether we have to resize the data buffer. */ | ||
626 | - if (unlikely ((ndx + 1) * sizeof (Elf64_Dyn) > data_scn->d.d_size)) | ||
627 | + if (INVALID_NDX (ndx, Elf64_Dyn, &data_scn->d)) | ||
628 | { | ||
629 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
630 | goto out; | ||
631 | --- elfutils/libelf/gelf_update_lib.c | ||
632 | +++ elfutils/libelf/gelf_update_lib.c | ||
633 | @@ -1,5 +1,5 @@ | ||
634 | /* Update library in table at the given index. | ||
635 | - Copyright (C) 2004 Red Hat, Inc. | ||
636 | + Copyright (C) 2004-2009 Red Hat, Inc. | ||
637 | This file is part of elfutils. | ||
638 | Written by Ulrich Drepper <drepper@redhat.com>, 2004. | ||
639 | |||
640 | @@ -47,12 +47,6 @@ gelf_update_lib (data, ndx, src) | ||
641 | if (data == NULL) | ||
642 | return 0; | ||
643 | |||
644 | - if (unlikely (ndx < 0)) | ||
645 | - { | ||
646 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
647 | - return 0; | ||
648 | - } | ||
649 | - | ||
650 | Elf_Data_Scn *data_scn = (Elf_Data_Scn *) data; | ||
651 | if (unlikely (data_scn->d.d_type != ELF_T_LIB)) | ||
652 | { | ||
653 | @@ -66,7 +60,7 @@ gelf_update_lib (data, ndx, src) | ||
654 | |||
655 | /* Check whether we have to resize the data buffer. */ | ||
656 | int result = 0; | ||
657 | - if (unlikely ((ndx + 1) * sizeof (Elf64_Lib) > data_scn->d.d_size)) | ||
658 | + if (INVALID_NDX (ndx, Elf64_Lib, &data_scn->d)) | ||
659 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
660 | else | ||
661 | { | ||
662 | --- elfutils/libelf/gelf_update_move.c | ||
663 | +++ elfutils/libelf/gelf_update_move.c | ||
664 | @@ -1,5 +1,5 @@ | ||
665 | /* Update move structure at the given index. | ||
666 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
667 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
668 | This file is part of elfutils. | ||
669 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
670 | |||
671 | @@ -54,8 +54,7 @@ gelf_update_move (data, ndx, src) | ||
672 | assert (sizeof (GElf_Move) == sizeof (Elf64_Move)); | ||
673 | |||
674 | /* Check whether we have to resize the data buffer. */ | ||
675 | - if (unlikely (ndx < 0) | ||
676 | - || unlikely ((ndx + 1) * sizeof (GElf_Move) > data_scn->d.d_size)) | ||
677 | + if (INVALID_NDX (ndx, GElf_Move, &data_scn->d)) | ||
678 | { | ||
679 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
680 | return 0; | ||
681 | --- elfutils/libelf/gelf_update_rela.c | ||
682 | +++ elfutils/libelf/gelf_update_rela.c | ||
683 | @@ -1,5 +1,5 @@ | ||
684 | /* Update RELA relocation information at given index. | ||
685 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
686 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
687 | This file is part of elfutils. | ||
688 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
689 | |||
690 | @@ -47,12 +47,6 @@ gelf_update_rela (Elf_Data *dst, int ndx | ||
691 | if (dst == NULL) | ||
692 | return 0; | ||
693 | |||
694 | - if (unlikely (ndx < 0)) | ||
695 | - { | ||
696 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
697 | - return 0; | ||
698 | - } | ||
699 | - | ||
700 | if (unlikely (data_scn->d.d_type != ELF_T_RELA)) | ||
701 | { | ||
702 | /* The type of the data better should match. */ | ||
703 | @@ -80,7 +74,7 @@ gelf_update_rela (Elf_Data *dst, int ndx | ||
704 | } | ||
705 | |||
706 | /* Check whether we have to resize the data buffer. */ | ||
707 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Rela) > data_scn->d.d_size)) | ||
708 | + if (INVALID_NDX (ndx, Elf32_Rela, &data_scn->d)) | ||
709 | { | ||
710 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
711 | goto out; | ||
712 | @@ -96,7 +90,7 @@ gelf_update_rela (Elf_Data *dst, int ndx | ||
713 | else | ||
714 | { | ||
715 | /* Check whether we have to resize the data buffer. */ | ||
716 | - if (unlikely ((ndx + 1) * sizeof (Elf64_Rela) > data_scn->d.d_size)) | ||
717 | + if (INVALID_NDX (ndx, Elf64_Rela, &data_scn->d)) | ||
718 | { | ||
719 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
720 | goto out; | ||
721 | --- elfutils/libelf/gelf_update_rel.c | ||
722 | +++ elfutils/libelf/gelf_update_rel.c | ||
723 | @@ -1,5 +1,5 @@ | ||
724 | /* Update REL relocation information at given index. | ||
725 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
726 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
727 | This file is part of elfutils. | ||
728 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
729 | |||
730 | @@ -47,12 +47,6 @@ gelf_update_rel (Elf_Data *dst, int ndx, | ||
731 | if (dst == NULL) | ||
732 | return 0; | ||
733 | |||
734 | - if (unlikely (ndx < 0)) | ||
735 | - { | ||
736 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
737 | - return 0; | ||
738 | - } | ||
739 | - | ||
740 | if (unlikely (data_scn->d.d_type != ELF_T_REL)) | ||
741 | { | ||
742 | /* The type of the data better should match. */ | ||
743 | @@ -78,7 +72,7 @@ gelf_update_rel (Elf_Data *dst, int ndx, | ||
744 | } | ||
745 | |||
746 | /* Check whether we have to resize the data buffer. */ | ||
747 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Rel) > data_scn->d.d_size)) | ||
748 | + if (INVALID_NDX (ndx, Elf32_Rel, &data_scn->d)) | ||
749 | { | ||
750 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
751 | goto out; | ||
752 | @@ -93,7 +87,7 @@ gelf_update_rel (Elf_Data *dst, int ndx, | ||
753 | else | ||
754 | { | ||
755 | /* Check whether we have to resize the data buffer. */ | ||
756 | - if (unlikely ((ndx + 1) * sizeof (Elf64_Rel) > data_scn->d.d_size)) | ||
757 | + if (INVALID_NDX (ndx, Elf64_Rel, &data_scn->d)) | ||
758 | { | ||
759 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
760 | goto out; | ||
761 | --- elfutils/libelf/gelf_update_sym.c | ||
762 | +++ elfutils/libelf/gelf_update_sym.c | ||
763 | @@ -1,5 +1,5 @@ | ||
764 | /* Update symbol information in symbol table at the given index. | ||
765 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
766 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
767 | This file is part of elfutils. | ||
768 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
769 | |||
770 | @@ -51,12 +51,6 @@ gelf_update_sym (data, ndx, src) | ||
771 | if (data == NULL) | ||
772 | return 0; | ||
773 | |||
774 | - if (unlikely (ndx < 0)) | ||
775 | - { | ||
776 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
777 | - return 0; | ||
778 | - } | ||
779 | - | ||
780 | if (unlikely (data_scn->d.d_type != ELF_T_SYM)) | ||
781 | { | ||
782 | /* The type of the data better should match. */ | ||
783 | @@ -81,7 +75,7 @@ gelf_update_sym (data, ndx, src) | ||
784 | } | ||
785 | |||
786 | /* Check whether we have to resize the data buffer. */ | ||
787 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > data_scn->d.d_size)) | ||
788 | + if (INVALID_NDX (ndx, Elf32_Sym, &data_scn->d)) | ||
789 | { | ||
790 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
791 | goto out; | ||
792 | @@ -104,7 +98,7 @@ gelf_update_sym (data, ndx, src) | ||
793 | else | ||
794 | { | ||
795 | /* Check whether we have to resize the data buffer. */ | ||
796 | - if (unlikely ((ndx + 1) * sizeof (Elf64_Sym) > data_scn->d.d_size)) | ||
797 | + if (INVALID_NDX (ndx, Elf64_Sym, &data_scn->d)) | ||
798 | { | ||
799 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
800 | goto out; | ||
801 | --- elfutils/libelf/gelf_update_syminfo.c | ||
802 | +++ elfutils/libelf/gelf_update_syminfo.c | ||
803 | @@ -1,5 +1,5 @@ | ||
804 | /* Update additional symbol information in symbol table at the given index. | ||
805 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
806 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
807 | This file is part of elfutils. | ||
808 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
809 | |||
810 | @@ -51,12 +51,6 @@ gelf_update_syminfo (data, ndx, src) | ||
811 | if (data == NULL) | ||
812 | return 0; | ||
813 | |||
814 | - if (unlikely (ndx < 0)) | ||
815 | - { | ||
816 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
817 | - return 0; | ||
818 | - } | ||
819 | - | ||
820 | if (unlikely (data_scn->d.d_type != ELF_T_SYMINFO)) | ||
821 | { | ||
822 | /* The type of the data better should match. */ | ||
823 | @@ -72,7 +66,7 @@ gelf_update_syminfo (data, ndx, src) | ||
824 | rwlock_wrlock (scn->elf->lock); | ||
825 | |||
826 | /* Check whether we have to resize the data buffer. */ | ||
827 | - if (unlikely ((ndx + 1) * sizeof (GElf_Syminfo) > data_scn->d.d_size)) | ||
828 | + if (INVALID_NDX (ndx, GElf_Syminfo, &data_scn->d)) | ||
829 | { | ||
830 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
831 | goto out; | ||
832 | --- elfutils/libelf/gelf_update_symshndx.c | ||
833 | +++ elfutils/libelf/gelf_update_symshndx.c | ||
834 | @@ -1,6 +1,6 @@ | ||
835 | /* Update symbol information and section index in symbol table at the | ||
836 | given index. | ||
837 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
838 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
839 | This file is part of elfutils. | ||
840 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
841 | |||
842 | @@ -56,12 +56,6 @@ gelf_update_symshndx (symdata, shndxdata | ||
843 | if (symdata == NULL) | ||
844 | return 0; | ||
845 | |||
846 | - if (unlikely (ndx < 0)) | ||
847 | - { | ||
848 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
849 | - return 0; | ||
850 | - } | ||
851 | - | ||
852 | if (unlikely (symdata_scn->d.d_type != ELF_T_SYM)) | ||
853 | { | ||
854 | /* The type of the data better should match. */ | ||
855 | @@ -107,7 +101,7 @@ gelf_update_symshndx (symdata, shndxdata | ||
856 | } | ||
857 | |||
858 | /* Check whether we have to resize the data buffer. */ | ||
859 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > symdata_scn->d.d_size)) | ||
860 | + if (INVALID_NDX (ndx, Elf32_Sym, &symdata_scn->d)) | ||
861 | { | ||
862 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
863 | goto out; | ||
864 | @@ -130,7 +124,7 @@ gelf_update_symshndx (symdata, shndxdata | ||
865 | else | ||
866 | { | ||
867 | /* Check whether we have to resize the data buffer. */ | ||
868 | - if (unlikely ((ndx + 1) * sizeof (Elf64_Sym) > symdata_scn->d.d_size)) | ||
869 | + if (INVALID_NDX (ndx, Elf64_Sym, &symdata_scn->d)) | ||
870 | { | ||
871 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
872 | goto out; | ||
873 | --- elfutils/libelf/gelf_update_versym.c | ||
874 | +++ elfutils/libelf/gelf_update_versym.c | ||
875 | @@ -1,5 +1,5 @@ | ||
876 | /* Update symbol version information. | ||
877 | - Copyright (C) 2001, 2002 Red Hat, Inc. | ||
878 | + Copyright (C) 2001-2009 Red Hat, Inc. | ||
879 | This file is part of elfutils. | ||
880 | Written by Ulrich Drepper <drepper@redhat.com>, 2001. | ||
881 | |||
882 | @@ -54,8 +54,7 @@ gelf_update_versym (data, ndx, src) | ||
883 | assert (sizeof (GElf_Versym) == sizeof (Elf64_Versym)); | ||
884 | |||
885 | /* Check whether we have to resize the data buffer. */ | ||
886 | - if (unlikely (ndx < 0) | ||
887 | - || unlikely ((ndx + 1) * sizeof (GElf_Versym) > data_scn->d.d_size)) | ||
888 | + if (INVALID_NDX (ndx, GElf_Versym, &data_scn->d)) | ||
889 | { | ||
890 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
891 | return 0; | ||
892 | --- elfutils/libelf/libelfP.h | ||
893 | +++ elfutils/libelf/libelfP.h | ||
894 | @@ -587,4 +587,8 @@ extern uint32_t __libelf_crc32 (uint32_t | ||
895 | /* Align offset to 4 bytes as needed for note name and descriptor data. */ | ||
896 | #define NOTE_ALIGN(n) (((n) + 3) & -4U) | ||
897 | |||
898 | +/* Convenience macro. */ | ||
899 | +#define INVALID_NDX(ndx, type, data) \ | ||
900 | + unlikely ((data)->d_size / sizeof (type) <= (unsigned int) (ndx)) | ||
901 | + | ||
902 | #endif /* libelfP.h */ | ||
903 | --- elfutils/src/ChangeLog | ||
904 | +++ elfutils/src/ChangeLog | ||
905 | @@ -344,6 +344,12 @@ | ||
906 | |||
907 | * readelf.c (dwarf_attr_string): Grok DW_AT_GNU_odr_signature. | ||
908 | |||
909 | +2011-03-23 Petr Machata <pmachata@redhat.com> | ||
910 | + | ||
911 | + * readelf.c (handle_dynamic, handle_relocs_rel) | ||
912 | + (handle_relocs_rela, handle_versym, print_liblist): | ||
913 | + Use gelf_fsize instead of relying on shdr->sh_entsize. | ||
914 | + | ||
915 | 2011-02-11 Roland McGrath <roland@redhat.com> | ||
916 | |||
917 | * elfcmp.c (verbose): New variable. | ||
918 | @@ -2056,6 +2062,16 @@ | ||
919 | object symbols or symbols with unknown type. | ||
920 | (check_rel): Likewise. | ||
921 | |||
922 | +2005-06-09 Roland McGrath <roland@redhat.com> | ||
923 | + | ||
924 | + * readelf.c (handle_dynamic, handle_symtab): Check for bogus sh_link. | ||
925 | + (handle_verneed, handle_verdef, handle_versym, handle_hash): Likewise. | ||
926 | + (handle_scngrp): Check for bogus sh_info. | ||
927 | + | ||
928 | + * strip.c (handle_elf): Check for bogus values in sh_link, sh_info, | ||
929 | + st_shndx, e_shstrndx, and SHT_GROUP or SHT_SYMTAB_SHNDX data. | ||
930 | + Don't use assert on input values, instead bail with "illformed" error. | ||
931 | + | ||
932 | 2005-06-08 Roland McGrath <roland@redhat.com> | ||
933 | |||
934 | * readelf.c (print_ops): Add consts. | ||
935 | @@ -2101,6 +2117,19 @@ | ||
936 | |||
937 | * readelf.c (dwarf_tag_string): Add new tags. | ||
938 | |||
939 | +2005-05-17 Jakub Jelinek <jakub@redhat.com> | ||
940 | + | ||
941 | + * elflint.c (check_hash): Don't check entries beyond end of section. | ||
942 | + (check_note): Don't crash if gelf_rawchunk fails. | ||
943 | + (section_name): Return <invalid> if gelf_getshdr returns NULL. | ||
944 | + | ||
945 | +2005-05-14 Jakub Jelinek <jakub@redhat.com> | ||
946 | + | ||
947 | + * elflint.c (section_name): Return "<invalid>" instead of | ||
948 | + crashing on invalid section name. | ||
949 | + (check_symtab, is_rel_dyn, check_rela, check_rel, check_dynamic, | ||
950 | + check_symtab_shndx, check_hash, check_versym): Robustify. | ||
951 | + | ||
952 | 2005-05-08 Roland McGrath <roland@redhat.com> | ||
953 | |||
954 | * strip.c (handle_elf): Don't translate hash and versym data formats, | ||
955 | --- elfutils/src/elflint.c | ||
956 | +++ elfutils/src/elflint.c | ||
957 | @@ -123,6 +123,10 @@ static uint32_t shstrndx; | ||
958 | /* Array to count references in section groups. */ | ||
959 | static int *scnref; | ||
960 | |||
961 | +/* Numbers of sections and program headers. */ | ||
962 | +static unsigned int shnum; | ||
963 | +static unsigned int phnum; | ||
964 | + | ||
965 | |||
966 | int | ||
967 | main (int argc, char *argv[]) | ||
968 | @@ -311,10 +315,19 @@ section_name (Ebl *ebl, int idx) | ||
969 | { | ||
970 | GElf_Shdr shdr_mem; | ||
971 | GElf_Shdr *shdr; | ||
972 | + const char *ret; | ||
973 | + | ||
974 | + if ((unsigned int) idx > shnum) | ||
975 | + return "<invalid>"; | ||
976 | |||
977 | shdr = gelf_getshdr (elf_getscn (ebl->elf, idx), &shdr_mem); | ||
978 | + if (shdr == NULL) | ||
979 | + return "<invalid>"; | ||
980 | |||
981 | - return elf_strptr (ebl->elf, shstrndx, shdr->sh_name); | ||
982 | + ret = elf_strptr (ebl->elf, shstrndx, shdr->sh_name); | ||
983 | + if (ret == NULL) | ||
984 | + return "<invalid>"; | ||
985 | + return ret; | ||
986 | } | ||
987 | |||
988 | |||
989 | @@ -337,11 +350,6 @@ static const int valid_e_machine[] = | ||
990 | (sizeof (valid_e_machine) / sizeof (valid_e_machine[0])) | ||
991 | |||
992 | |||
993 | -/* Numbers of sections and program headers. */ | ||
994 | -static unsigned int shnum; | ||
995 | -static unsigned int phnum; | ||
996 | - | ||
997 | - | ||
998 | static void | ||
999 | check_elf_header (Ebl *ebl, GElf_Ehdr *ehdr, size_t size) | ||
1000 | { | ||
1001 | @@ -625,7 +633,8 @@ section [%2d] '%s': symbol table cannot | ||
1002 | } | ||
1003 | } | ||
1004 | |||
1005 | - if (shdr->sh_entsize != gelf_fsize (ebl->elf, ELF_T_SYM, 1, EV_CURRENT)) | ||
1006 | + size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_SYM, 1, EV_CURRENT); | ||
1007 | + if (shdr->sh_entsize != sh_entsize) | ||
1008 | ERROR (gettext ("\ | ||
1009 | section [%2u] '%s': entry size is does not match ElfXX_Sym\n"), | ||
1010 | idx, section_name (ebl, idx)); | ||
1011 | @@ -663,7 +672,7 @@ section [%2d] '%s': XINDEX for zeroth en | ||
1012 | xndxscnidx, section_name (ebl, xndxscnidx)); | ||
1013 | } | ||
1014 | |||
1015 | - for (size_t cnt = 1; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt) | ||
1016 | + for (size_t cnt = 1; cnt < shdr->sh_size / sh_entsize; ++cnt) | ||
1017 | { | ||
1018 | sym = gelf_getsymshndx (data, xndxdata, cnt, &sym_mem, &xndx); | ||
1019 | if (sym == NULL) | ||
1020 | @@ -683,7 +692,8 @@ section [%2d] '%s': symbol %zu: invalid | ||
1021 | else | ||
1022 | { | ||
1023 | name = elf_strptr (ebl->elf, shdr->sh_link, sym->st_name); | ||
1024 | - assert (name != NULL); | ||
1025 | + assert (name != NULL | ||
1026 | + || strshdr->sh_type != SHT_STRTAB); | ||
1027 | } | ||
1028 | |||
1029 | if (sym->st_shndx == SHN_XINDEX) | ||
1030 | @@ -1032,9 +1042,11 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e | ||
1031 | { | ||
1032 | GElf_Shdr rcshdr_mem; | ||
1033 | const GElf_Shdr *rcshdr = gelf_getshdr (scn, &rcshdr_mem); | ||
1034 | - assert (rcshdr != NULL); | ||
1035 | |||
1036 | - if (rcshdr->sh_type == SHT_DYNAMIC) | ||
1037 | + if (rcshdr == NULL) | ||
1038 | + break; | ||
1039 | + | ||
1040 | + if (rcshdr->sh_type == SHT_DYNAMIC && rcshdr->sh_entsize) | ||
1041 | { | ||
1042 | /* Found the dynamic section. Look through it. */ | ||
1043 | Elf_Data *d = elf_getdata (scn, NULL); | ||
1044 | @@ -1044,7 +1056,9 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e | ||
1045 | { | ||
1046 | GElf_Dyn dyn_mem; | ||
1047 | GElf_Dyn *dyn = gelf_getdyn (d, cnt, &dyn_mem); | ||
1048 | - assert (dyn != NULL); | ||
1049 | + | ||
1050 | + if (dyn == NULL) | ||
1051 | + break; | ||
1052 | |||
1053 | if (dyn->d_tag == DT_RELCOUNT) | ||
1054 | { | ||
1055 | @@ -1058,7 +1072,9 @@ section [%2d] '%s': DT_RELCOUNT used for | ||
1056 | /* Does the number specified number of relative | ||
1057 | relocations exceed the total number of | ||
1058 | relocations? */ | ||
1059 | - if (dyn->d_un.d_val > shdr->sh_size / shdr->sh_entsize) | ||
1060 | + if (shdr->sh_entsize != 0 | ||
1061 | + && dyn->d_un.d_val > (shdr->sh_size | ||
1062 | + / shdr->sh_entsize)) | ||
1063 | ERROR (gettext ("\ | ||
1064 | section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"), | ||
1065 | idx, section_name (ebl, idx), | ||
1066 | @@ -1218,7 +1234,8 @@ section [%2d] '%s': no relocations for m | ||
1067 | } | ||
1068 | } | ||
1069 | |||
1070 | - if (shdr->sh_entsize != gelf_fsize (ebl->elf, reltype, 1, EV_CURRENT)) | ||
1071 | + size_t sh_entsize = gelf_fsize (ebl->elf, reltype, 1, EV_CURRENT); | ||
1072 | + if (shdr->sh_entsize != sh_entsize) | ||
1073 | ERROR (gettext (reltype == ELF_T_RELA ? "\ | ||
1074 | section [%2d] '%s': section entry size does not match ElfXX_Rela\n" : "\ | ||
1075 | section [%2d] '%s': section entry size does not match ElfXX_Rel\n"), | ||
1076 | @@ -1441,7 +1458,8 @@ check_rela (Ebl *ebl, GElf_Ehdr *ehdr, G | ||
1077 | Elf_Data *symdata = elf_getdata (symscn, NULL); | ||
1078 | enum load_state state = state_undecided; | ||
1079 | |||
1080 | - for (size_t cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt) | ||
1081 | + size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_RELA, 1, EV_CURRENT); | ||
1082 | + for (size_t cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt) | ||
1083 | { | ||
1084 | GElf_Rela rela_mem; | ||
1085 | GElf_Rela *rela = gelf_getrela (data, cnt, &rela_mem); | ||
1086 | @@ -1491,7 +1509,8 @@ check_rel (Ebl *ebl, GElf_Ehdr *ehdr, GE | ||
1087 | Elf_Data *symdata = elf_getdata (symscn, NULL); | ||
1088 | enum load_state state = state_undecided; | ||
1089 | |||
1090 | - for (size_t cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt) | ||
1091 | + size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_REL, 1, EV_CURRENT); | ||
1092 | + for (size_t cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt) | ||
1093 | { | ||
1094 | GElf_Rel rel_mem; | ||
1095 | GElf_Rel *rel = gelf_getrel (data, cnt, &rel_mem); | ||
1096 | @@ -1590,7 +1609,8 @@ section [%2d] '%s': referenced as string | ||
1097 | shdr->sh_link, section_name (ebl, shdr->sh_link), | ||
1098 | idx, section_name (ebl, idx)); | ||
1099 | |||
1100 | - if (shdr->sh_entsize != gelf_fsize (ebl->elf, ELF_T_DYN, 1, EV_CURRENT)) | ||
1101 | + size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_DYN, 1, EV_CURRENT); | ||
1102 | + if (shdr->sh_entsize != sh_entsize) | ||
1103 | ERROR (gettext ("\ | ||
1104 | section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"), | ||
1105 | idx, section_name (ebl, idx)); | ||
1106 | @@ -1600,7 +1620,7 @@ section [%2d] '%s': section entry size d | ||
1107 | idx, section_name (ebl, idx)); | ||
1108 | |||
1109 | bool non_null_warned = false; | ||
1110 | - for (cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt) | ||
1111 | + for (cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt) | ||
1112 | { | ||
1113 | GElf_Dyn dyn_mem; | ||
1114 | GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dyn_mem); | ||
1115 | @@ -1872,6 +1892,8 @@ section [%2d] '%s': entry size does not | ||
1116 | idx, section_name (ebl, idx)); | ||
1117 | |||
1118 | if (symshdr != NULL | ||
1119 | + && shdr->sh_entsize | ||
1120 | + && symshdr->sh_entsize | ||
1121 | && (shdr->sh_size / shdr->sh_entsize | ||
1122 | < symshdr->sh_size / symshdr->sh_entsize)) | ||
1123 | ERROR (gettext ("\ | ||
1124 | @@ -1898,6 +1920,12 @@ section [%2d] '%s': extended section ind | ||
1125 | } | ||
1126 | |||
1127 | Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL); | ||
1128 | + if (data == NULL) | ||
1129 | + { | ||
1130 | + ERROR (gettext ("section [%2d] '%s': cannot get section data\n"), | ||
1131 | + idx, section_name (ebl, idx)); | ||
1132 | + return; | ||
1133 | + } | ||
1134 | |||
1135 | if (*((Elf32_Word *) data->d_buf) != 0) | ||
1136 | ERROR (gettext ("symbol 0 should have zero extended section index\n")); | ||
1137 | @@ -1940,7 +1968,7 @@ section [%2d] '%s': hash table section i | ||
1138 | |||
1139 | size_t maxidx = nchain; | ||
1140 | |||
1141 | - if (symshdr != NULL) | ||
1142 | + if (symshdr != NULL && symshdr->sh_entsize != 0) | ||
1143 | { | ||
1144 | size_t symsize = symshdr->sh_size / symshdr->sh_entsize; | ||
1145 | |||
1146 | @@ -1951,18 +1979,28 @@ section [%2d] '%s': hash table section i | ||
1147 | maxidx = symsize; | ||
1148 | } | ||
1149 | |||
1150 | + Elf32_Word *buf = (Elf32_Word *) data->d_buf; | ||
1151 | + Elf32_Word *end = (Elf32_Word *) ((char *) data->d_buf + shdr->sh_size); | ||
1152 | size_t cnt; | ||
1153 | for (cnt = 2; cnt < 2 + nbucket; ++cnt) | ||
1154 | - if (((Elf32_Word *) data->d_buf)[cnt] >= maxidx) | ||
1155 | + { | ||
1156 | + if (buf + cnt >= end) | ||
1157 | + break; | ||
1158 | + else if (buf[cnt] >= maxidx) | ||
1159 | ERROR (gettext ("\ | ||
1160 | section [%2d] '%s': hash bucket reference %zu out of bounds\n"), | ||
1161 | idx, section_name (ebl, idx), cnt - 2); | ||
1162 | + } | ||
1163 | |||
1164 | for (; cnt < 2 + nbucket + nchain; ++cnt) | ||
1165 | - if (((Elf32_Word *) data->d_buf)[cnt] >= maxidx) | ||
1166 | + { | ||
1167 | + if (buf + cnt >= end) | ||
1168 | + break; | ||
1169 | + else if (buf[cnt] >= maxidx) | ||
1170 | ERROR (gettext ("\ | ||
1171 | section [%2d] '%s': hash chain reference %zu out of bounds\n"), | ||
1172 | idx, section_name (ebl, idx), cnt - 2 - nbucket); | ||
1173 | + } | ||
1174 | } | ||
1175 | |||
1176 | |||
1177 | @@ -1992,18 +2030,28 @@ section [%2d] '%s': hash table section i | ||
1178 | maxidx = symsize; | ||
1179 | } | ||
1180 | |||
1181 | + Elf64_Xword *buf = (Elf64_Xword *) data->d_buf; | ||
1182 | + Elf64_Xword *end = (Elf64_Xword *) ((char *) data->d_buf + shdr->sh_size); | ||
1183 | size_t cnt; | ||
1184 | for (cnt = 2; cnt < 2 + nbucket; ++cnt) | ||
1185 | - if (((Elf64_Xword *) data->d_buf)[cnt] >= maxidx) | ||
1186 | + { | ||
1187 | + if (buf + cnt >= end) | ||
1188 | + break; | ||
1189 | + else if (buf[cnt] >= maxidx) | ||
1190 | ERROR (gettext ("\ | ||
1191 | section [%2d] '%s': hash bucket reference %zu out of bounds\n"), | ||
1192 | idx, section_name (ebl, idx), cnt - 2); | ||
1193 | + } | ||
1194 | |||
1195 | for (; cnt < 2 + nbucket + nchain; ++cnt) | ||
1196 | - if (((Elf64_Xword *) data->d_buf)[cnt] >= maxidx) | ||
1197 | + { | ||
1198 | + if (buf + cnt >= end) | ||
1199 | + break; | ||
1200 | + else if (buf[cnt] >= maxidx) | ||
1201 | ERROR (gettext ("\ | ||
1202 | section [%2d] '%s': hash chain reference %" PRIu64 " out of bounds\n"), | ||
1203 | - idx, section_name (ebl, idx), (uint64_t) (cnt - 2 - nbucket)); | ||
1204 | + idx, section_name (ebl, idx), (uint64_t) cnt - 2 - nbucket); | ||
1205 | + } | ||
1206 | } | ||
1207 | |||
1208 | |||
1209 | @@ -2028,7 +2076,7 @@ section [%2d] '%s': bitmask size not pow | ||
1210 | if (shdr->sh_size < (4 + bitmask_words + nbuckets) * sizeof (Elf32_Word)) | ||
1211 | { | ||
1212 | ERROR (gettext ("\ | ||
1213 | -section [%2d] '%s': hash table section is too small (is %ld, expected at least%ld)\n"), | ||
1214 | +section [%2d] '%s': hash table section is too small (is %ld, expected at least %ld)\n"), | ||
1215 | idx, section_name (ebl, idx), (long int) shdr->sh_size, | ||
1216 | (long int) ((4 + bitmask_words + nbuckets) * sizeof (Elf32_Word))); | ||
1217 | return; | ||
1218 | @@ -2700,8 +2748,9 @@ section [%2d] '%s' refers in sh_link to | ||
1219 | |||
1220 | /* The number of elements in the version symbol table must be the | ||
1221 | same as the number of symbols. */ | ||
1222 | - if (shdr->sh_size / shdr->sh_entsize | ||
1223 | - != symshdr->sh_size / symshdr->sh_entsize) | ||
1224 | + if (shdr->sh_entsize && symshdr->sh_entsize | ||
1225 | + && (shdr->sh_size / shdr->sh_entsize | ||
1226 | + != symshdr->sh_size / symshdr->sh_entsize)) | ||
1227 | ERROR (gettext ("\ | ||
1228 | section [%2d] '%s' has different number of entries than symbol table [%2d] '%s'\n"), | ||
1229 | idx, section_name (ebl, idx), | ||
1230 | --- elfutils/src/readelf.c | ||
1231 | +++ elfutils/src/readelf.c | ||
1232 | @@ -1189,6 +1189,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G | ||
1233 | Elf32_Word *grpref = (Elf32_Word *) data->d_buf; | ||
1234 | |||
1235 | GElf_Sym sym_mem; | ||
1236 | + GElf_Sym *sym = gelf_getsym (symdata, shdr->sh_info, &sym_mem); | ||
1237 | + | ||
1238 | printf ((grpref[0] & GRP_COMDAT) | ||
1239 | ? ngettext ("\ | ||
1240 | \nCOMDAT section group [%2zu] '%s' with signature '%s' contains %zu entry:\n", | ||
1241 | @@ -1201,8 +1203,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G | ||
1242 | data->d_size / sizeof (Elf32_Word) - 1), | ||
1243 | elf_ndxscn (scn), | ||
1244 | elf_strptr (ebl->elf, shstrndx, shdr->sh_name), | ||
1245 | - elf_strptr (ebl->elf, symshdr->sh_link, | ||
1246 | - gelf_getsym (symdata, shdr->sh_info, &sym_mem)->st_name) | ||
1247 | + (sym == NULL ? NULL | ||
1248 | + : elf_strptr (ebl->elf, symshdr->sh_link, sym->st_name)) | ||
1249 | ?: gettext ("<INVALID SYMBOL>"), | ||
1250 | data->d_size / sizeof (Elf32_Word) - 1); | ||
1251 | |||
1252 | @@ -1353,10 +1355,12 @@ static void | ||
1253 | handle_dynamic (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr) | ||
1254 | { | ||
1255 | int class = gelf_getclass (ebl->elf); | ||
1256 | - GElf_Shdr glink; | ||
1257 | + GElf_Shdr glink_mem; | ||
1258 | + GElf_Shdr *glink; | ||
1259 | Elf_Data *data; | ||
1260 | size_t cnt; | ||
1261 | size_t shstrndx; | ||
1262 | + size_t sh_entsize; | ||
1263 | |||
1264 | /* Get the data of the section. */ | ||
1265 | data = elf_getdata (scn, NULL); | ||
1266 | @@ -1368,21 +1372,26 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn, | ||
1267 | error (EXIT_FAILURE, 0, | ||
1268 | gettext ("cannot get section header string table index")); | ||
1269 | |||
1270 | + sh_entsize = gelf_fsize (ebl->elf, ELF_T_DYN, 1, EV_CURRENT); | ||
1271 | + | ||
1272 | + glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), &glink_mem); | ||
1273 | + if (glink == NULL) | ||
1274 | + error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"), | ||
1275 | + elf_ndxscn (scn)); | ||
1276 | + | ||
1277 | printf (ngettext ("\ | ||
1278 | \nDynamic segment contains %lu entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n", | ||
1279 | "\ | ||
1280 | \nDynamic segment contains %lu entries:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n", | ||
1281 | - shdr->sh_size / shdr->sh_entsize), | ||
1282 | - (unsigned long int) (shdr->sh_size / shdr->sh_entsize), | ||
1283 | + shdr->sh_size / sh_entsize), | ||
1284 | + (unsigned long int) (shdr->sh_size / sh_entsize), | ||
1285 | class == ELFCLASS32 ? 10 : 18, shdr->sh_addr, | ||
1286 | shdr->sh_offset, | ||
1287 | (int) shdr->sh_link, | ||
1288 | - elf_strptr (ebl->elf, shstrndx, | ||
1289 | - gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
1290 | - &glink)->sh_name)); | ||
1291 | + elf_strptr (ebl->elf, shstrndx, glink->sh_name)); | ||
1292 | fputs_unlocked (gettext (" Type Value\n"), stdout); | ||
1293 | |||
1294 | - for (cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt) | ||
1295 | + for (cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt) | ||
1296 | { | ||
1297 | GElf_Dyn dynmem; | ||
1298 | GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dynmem); | ||
1299 | @@ -1531,7 +1540,8 @@ static void | ||
1300 | handle_relocs_rel (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr) | ||
1301 | { | ||
1302 | int class = gelf_getclass (ebl->elf); | ||
1303 | - int nentries = shdr->sh_size / shdr->sh_entsize; | ||
1304 | + size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_REL, 1, EV_CURRENT); | ||
1305 | + int nentries = shdr->sh_size / sh_entsize; | ||
1306 | |||
1307 | /* Get the data of the section. */ | ||
1308 | Elf_Data *data = elf_getdata (scn, NULL); | ||
1309 | @@ -1717,7 +1727,8 @@ static void | ||
1310 | handle_relocs_rela (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr) | ||
1311 | { | ||
1312 | int class = gelf_getclass (ebl->elf); | ||
1313 | - int nentries = shdr->sh_size / shdr->sh_entsize; | ||
1314 | + size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_RELA, 1, EV_CURRENT); | ||
1315 | + int nentries = shdr->sh_size / sh_entsize; | ||
1316 | |||
1317 | /* Get the data of the section. */ | ||
1318 | Elf_Data *data = elf_getdata (scn, NULL); | ||
1319 | @@ -1964,6 +1975,13 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G | ||
1320 | error (EXIT_FAILURE, 0, | ||
1321 | gettext ("cannot get section header string table index")); | ||
1322 | |||
1323 | + GElf_Shdr glink_mem; | ||
1324 | + GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
1325 | + &glink_mem); | ||
1326 | + if (glink == NULL) | ||
1327 | + error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"), | ||
1328 | + elf_ndxscn (scn)); | ||
1329 | + | ||
1330 | /* Now we can compute the number of entries in the section. */ | ||
1331 | unsigned int nsyms = data->d_size / (class == ELFCLASS32 | ||
1332 | ? sizeof (Elf32_Sym) | ||
1333 | @@ -1974,15 +1992,12 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G | ||
1334 | nsyms), | ||
1335 | (unsigned int) elf_ndxscn (scn), | ||
1336 | elf_strptr (ebl->elf, shstrndx, shdr->sh_name), nsyms); | ||
1337 | - GElf_Shdr glink; | ||
1338 | printf (ngettext (" %lu local symbol String table: [%2u] '%s'\n", | ||
1339 | " %lu local symbols String table: [%2u] '%s'\n", | ||
1340 | shdr->sh_info), | ||
1341 | (unsigned long int) shdr->sh_info, | ||
1342 | (unsigned int) shdr->sh_link, | ||
1343 | - elf_strptr (ebl->elf, shstrndx, | ||
1344 | - gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
1345 | - &glink)->sh_name)); | ||
1346 | + elf_strptr (ebl->elf, shstrndx, glink->sh_name)); | ||
1347 | |||
1348 | fputs_unlocked (class == ELFCLASS32 | ||
1349 | ? gettext ("\ | ||
1350 | @@ -2218,7 +2233,13 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn, | ||
1351 | error (EXIT_FAILURE, 0, | ||
1352 | gettext ("cannot get section header string table index")); | ||
1353 | |||
1354 | - GElf_Shdr glink; | ||
1355 | + GElf_Shdr glink_mem; | ||
1356 | + GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
1357 | + &glink_mem); | ||
1358 | + if (glink == NULL) | ||
1359 | + error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"), | ||
1360 | + elf_ndxscn (scn)); | ||
1361 | + | ||
1362 | printf (ngettext ("\ | ||
1363 | \nVersion needs section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n", | ||
1364 | "\ | ||
1365 | @@ -2229,9 +2250,7 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn, | ||
1366 | class == ELFCLASS32 ? 10 : 18, shdr->sh_addr, | ||
1367 | shdr->sh_offset, | ||
1368 | (unsigned int) shdr->sh_link, | ||
1369 | - elf_strptr (ebl->elf, shstrndx, | ||
1370 | - gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
1371 | - &glink)->sh_name)); | ||
1372 | + elf_strptr (ebl->elf, shstrndx, glink->sh_name)); | ||
1373 | |||
1374 | unsigned int offset = 0; | ||
1375 | for (int cnt = shdr->sh_info; --cnt >= 0; ) | ||
1376 | @@ -2284,8 +2303,14 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G | ||
1377 | error (EXIT_FAILURE, 0, | ||
1378 | gettext ("cannot get section header string table index")); | ||
1379 | |||
1380 | + GElf_Shdr glink_mem; | ||
1381 | + GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
1382 | + &glink_mem); | ||
1383 | + if (glink == NULL) | ||
1384 | + error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"), | ||
1385 | + elf_ndxscn (scn)); | ||
1386 | + | ||
1387 | int class = gelf_getclass (ebl->elf); | ||
1388 | - GElf_Shdr glink; | ||
1389 | printf (ngettext ("\ | ||
1390 | \nVersion definition section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n", | ||
1391 | "\ | ||
1392 | @@ -2297,9 +2322,7 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G | ||
1393 | class == ELFCLASS32 ? 10 : 18, shdr->sh_addr, | ||
1394 | shdr->sh_offset, | ||
1395 | (unsigned int) shdr->sh_link, | ||
1396 | - elf_strptr (ebl->elf, shstrndx, | ||
1397 | - gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
1398 | - &glink)->sh_name)); | ||
1399 | + elf_strptr (ebl->elf, shstrndx, glink->sh_name)); | ||
1400 | |||
1401 | unsigned int offset = 0; | ||
1402 | for (int cnt = shdr->sh_info; --cnt >= 0; ) | ||
1403 | @@ -2561,25 +2584,30 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, G | ||
1404 | filename = NULL; | ||
1405 | } | ||
1406 | |||
1407 | + GElf_Shdr glink_mem; | ||
1408 | + GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
1409 | + &glink_mem); | ||
1410 | + size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_HALF, 1, EV_CURRENT); | ||
1411 | + if (glink == NULL) | ||
1412 | + error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"), | ||
1413 | + elf_ndxscn (scn)); | ||
1414 | + | ||
1415 | /* Print the header. */ | ||
1416 | - GElf_Shdr glink; | ||
1417 | printf (ngettext ("\ | ||
1418 | \nVersion symbols section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'", | ||
1419 | "\ | ||
1420 | \nVersion symbols section [%2u] '%s' contains %d entries:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'", | ||
1421 | - shdr->sh_size / shdr->sh_entsize), | ||
1422 | + shdr->sh_size / sh_entsize), | ||
1423 | (unsigned int) elf_ndxscn (scn), | ||
1424 | elf_strptr (ebl->elf, shstrndx, shdr->sh_name), | ||
1425 | - (int) (shdr->sh_size / shdr->sh_entsize), | ||
1426 | + (int) (shdr->sh_size / sh_entsize), | ||
1427 | class == ELFCLASS32 ? 10 : 18, shdr->sh_addr, | ||
1428 | shdr->sh_offset, | ||
1429 | (unsigned int) shdr->sh_link, | ||
1430 | - elf_strptr (ebl->elf, shstrndx, | ||
1431 | - gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
1432 | - &glink)->sh_name)); | ||
1433 | + elf_strptr (ebl->elf, shstrndx, glink->sh_name)); | ||
1434 | |||
1435 | /* Now we can finally look at the actual contents of this section. */ | ||
1436 | - for (unsigned int cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt) | ||
1437 | + for (unsigned int cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt) | ||
1438 | { | ||
1439 | if (cnt % 2 == 0) | ||
1440 | printf ("\n %4d:", cnt); | ||
1441 | @@ -2628,7 +2656,17 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn, | ||
1442 | for (Elf32_Word cnt = 0; cnt < nbucket; ++cnt) | ||
1443 | ++counts[lengths[cnt]]; | ||
1444 | |||
1445 | - GElf_Shdr glink; | ||
1446 | + GElf_Shdr glink_mem; | ||
1447 | + GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, | ||
1448 | + shdr->sh_link), | ||
1449 | + &glink_mem); | ||
1450 | + if (glink == NULL) | ||
1451 | + { | ||
1452 | + error (0, 0, gettext ("invalid sh_link value in section %Zu"), | ||
1453 | + elf_ndxscn (scn)); | ||
1454 | + return; | ||
1455 | + } | ||
1456 | + | ||
1457 | printf (ngettext ("\ | ||
1458 | \nHistogram for bucket list length in section [%2u] '%s' (total of %d bucket):\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n", | ||
1459 | "\ | ||
1460 | @@ -2641,9 +2679,7 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn, | ||
1461 | shdr->sh_addr, | ||
1462 | shdr->sh_offset, | ||
1463 | (unsigned int) shdr->sh_link, | ||
1464 | - elf_strptr (ebl->elf, shstrndx, | ||
1465 | - gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
1466 | - &glink)->sh_name)); | ||
1467 | + elf_strptr (ebl->elf, shstrndx, glink->sh_name)); | ||
1468 | |||
1469 | if (extrastr != NULL) | ||
1470 | fputs (extrastr, stdout); | ||
1471 | @@ -2903,7 +2939,8 @@ print_liblist (Ebl *ebl) | ||
1472 | |||
1473 | if (shdr != NULL && shdr->sh_type == SHT_GNU_LIBLIST) | ||
1474 | { | ||
1475 | - int nentries = shdr->sh_size / shdr->sh_entsize; | ||
1476 | + size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_LIB, 1, EV_CURRENT); | ||
1477 | + int nentries = shdr->sh_size / sh_entsize; | ||
1478 | printf (ngettext ("\ | ||
1479 | \nLibrary list section [%2zu] '%s' at offset %#0" PRIx64 " contains %d entry:\n", | ||
1480 | "\ | ||
1481 | @@ -4164,6 +4201,16 @@ print_debug_aranges_section (Dwfl_Module | ||
1482 | return; | ||
1483 | } | ||
1484 | |||
1485 | + GElf_Shdr glink_mem; | ||
1486 | + GElf_Shdr *glink; | ||
1487 | + glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), &glink_mem); | ||
1488 | + if (glink == NULL) | ||
1489 | + { | ||
1490 | + error (0, 0, gettext ("invalid sh_link value in section %Zu"), | ||
1491 | + elf_ndxscn (scn)); | ||
1492 | + return; | ||
1493 | + } | ||
1494 | + | ||
1495 | printf (ngettext ("\ | ||
1496 | \nDWARF section [%2zu] '%s' at offset %#" PRIx64 " contains %zu entry:\n", | ||
1497 | "\ | ||
1498 | --- elfutils/src/strip.c | ||
1499 | +++ elfutils/src/strip.c | ||
1500 | @@ -564,6 +564,11 @@ handle_elf (int fd, Elf *elf, const char | ||
1501 | goto fail_close; | ||
1502 | } | ||
1503 | |||
1504 | + if (shstrndx >= shnum) | ||
1505 | + goto illformed; | ||
1506 | + | ||
1507 | +#define elf_assert(test) do { if (!(test)) goto illformed; } while (0) | ||
1508 | + | ||
1509 | /* Storage for section information. We leave room for two more | ||
1510 | entries since we unconditionally create a section header string | ||
1511 | table. Maybe some weird tool created an ELF file without one. | ||
1512 | @@ -585,7 +590,7 @@ handle_elf (int fd, Elf *elf, const char | ||
1513 | { | ||
1514 | /* This should always be true (i.e., there should not be any | ||
1515 | holes in the numbering). */ | ||
1516 | - assert (elf_ndxscn (scn) == cnt); | ||
1517 | + elf_assert (elf_ndxscn (scn) == cnt); | ||
1518 | |||
1519 | shdr_info[cnt].scn = scn; | ||
1520 | |||
1521 | @@ -598,6 +603,7 @@ handle_elf (int fd, Elf *elf, const char | ||
1522 | shdr_info[cnt].shdr.sh_name); | ||
1523 | if (shdr_info[cnt].name == NULL) | ||
1524 | { | ||
1525 | + illformed: | ||
1526 | error (0, 0, gettext ("illformed file '%s'"), fname); | ||
1527 | goto fail_close; | ||
1528 | } | ||
1529 | @@ -607,6 +613,8 @@ handle_elf (int fd, Elf *elf, const char | ||
1530 | |||
1531 | /* Remember the shdr.sh_link value. */ | ||
1532 | shdr_info[cnt].old_sh_link = shdr_info[cnt].shdr.sh_link; | ||
1533 | + if (shdr_info[cnt].old_sh_link >= shnum) | ||
1534 | + goto illformed; | ||
1535 | |||
1536 | /* Sections in files other than relocatable object files which | ||
1537 | are not loaded can be freely moved by us. In relocatable | ||
1538 | @@ -619,7 +627,7 @@ handle_elf (int fd, Elf *elf, const char | ||
1539 | appropriate reference. */ | ||
1540 | if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB_SHNDX)) | ||
1541 | { | ||
1542 | - assert (shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx == 0); | ||
1543 | + elf_assert (shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx == 0); | ||
1544 | shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx = cnt; | ||
1545 | } | ||
1546 | else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GROUP)) | ||
1547 | @@ -636,7 +644,12 @@ handle_elf (int fd, Elf *elf, const char | ||
1548 | for (inner = 1; | ||
1549 | inner < shdr_info[cnt].data->d_size / sizeof (Elf32_Word); | ||
1550 | ++inner) | ||
1551 | + { | ||
1552 | + if (grpref[inner] < shnum) | ||
1553 | shdr_info[grpref[inner]].group_idx = cnt; | ||
1554 | + else | ||
1555 | + goto illformed; | ||
1556 | + } | ||
1557 | |||
1558 | if (inner == 1 || (inner == 2 && (grpref[0] & GRP_COMDAT) == 0)) | ||
1559 | /* If the section group contains only one element and this | ||
1560 | @@ -647,7 +660,7 @@ handle_elf (int fd, Elf *elf, const char | ||
1561 | } | ||
1562 | else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GNU_versym)) | ||
1563 | { | ||
1564 | - assert (shdr_info[shdr_info[cnt].shdr.sh_link].version_idx == 0); | ||
1565 | + elf_assert (shdr_info[shdr_info[cnt].shdr.sh_link].version_idx == 0); | ||
1566 | shdr_info[shdr_info[cnt].shdr.sh_link].version_idx = cnt; | ||
1567 | } | ||
1568 | |||
1569 | @@ -655,7 +668,7 @@ handle_elf (int fd, Elf *elf, const char | ||
1570 | discarded right away. */ | ||
1571 | if ((shdr_info[cnt].shdr.sh_flags & SHF_GROUP) != 0) | ||
1572 | { | ||
1573 | - assert (shdr_info[cnt].group_idx != 0); | ||
1574 | + elf_assert (shdr_info[cnt].group_idx != 0); | ||
1575 | |||
1576 | if (shdr_info[shdr_info[cnt].group_idx].idx == 0) | ||
1577 | { | ||
1578 | @@ -731,10 +744,14 @@ handle_elf (int fd, Elf *elf, const char | ||
1579 | { | ||
1580 | /* If a relocation section is marked as being removed make | ||
1581 | sure the section it is relocating is removed, too. */ | ||
1582 | - if ((shdr_info[cnt].shdr.sh_type == SHT_REL | ||
1583 | + if (shdr_info[cnt].shdr.sh_type == SHT_REL | ||
1584 | || shdr_info[cnt].shdr.sh_type == SHT_RELA) | ||
1585 | - && shdr_info[shdr_info[cnt].shdr.sh_info].idx != 0) | ||
1586 | - shdr_info[cnt].idx = 1; | ||
1587 | + { | ||
1588 | + if (shdr_info[cnt].shdr.sh_info >= shnum) | ||
1589 | + goto illformed; | ||
1590 | + else if (shdr_info[shdr_info[cnt].shdr.sh_info].idx != 0) | ||
1591 | + shdr_info[cnt].idx = 1; | ||
1592 | + } | ||
1593 | |||
1594 | /* If a group section is marked as being removed make | ||
1595 | sure all the sections it contains are being removed, too. */ | ||
1596 | @@ -778,7 +795,7 @@ handle_elf (int fd, Elf *elf, const char | ||
1597 | if (shdr_info[cnt].symtab_idx != 0 | ||
1598 | && shdr_info[shdr_info[cnt].symtab_idx].data == NULL) | ||
1599 | { | ||
1600 | - assert (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB); | ||
1601 | + elf_assert (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB); | ||
1602 | |||
1603 | shdr_info[shdr_info[cnt].symtab_idx].data | ||
1604 | = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn, | ||
1605 | @@ -818,6 +835,9 @@ handle_elf (int fd, Elf *elf, const char | ||
1606 | else if (scnidx == SHN_XINDEX) | ||
1607 | scnidx = xndx; | ||
1608 | |||
1609 | + if (scnidx >= shnum) | ||
1610 | + goto illformed; | ||
1611 | + | ||
1612 | if (shdr_info[scnidx].idx == 0) | ||
1613 | /* This symbol table has a real symbol in | ||
1614 | a discarded section. So preserve the | ||
1615 | @@ -848,12 +868,16 @@ handle_elf (int fd, Elf *elf, const char | ||
1616 | } | ||
1617 | |||
1618 | /* Handle references through sh_info. */ | ||
1619 | - if (SH_INFO_LINK_P (&shdr_info[cnt].shdr) | ||
1620 | - && shdr_info[shdr_info[cnt].shdr.sh_info].idx == 0) | ||
1621 | + if (SH_INFO_LINK_P (&shdr_info[cnt].shdr)) | ||
1622 | + { | ||
1623 | + if (shdr_info[cnt].shdr.sh_info >= shnum) | ||
1624 | + goto illformed; | ||
1625 | + else if ( shdr_info[shdr_info[cnt].shdr.sh_info].idx == 0) | ||
1626 | { | ||
1627 | shdr_info[shdr_info[cnt].shdr.sh_info].idx = 1; | ||
1628 | changes |= shdr_info[cnt].shdr.sh_info < cnt; | ||
1629 | } | ||
1630 | + } | ||
1631 | |||
1632 | /* Mark the section as investigated. */ | ||
1633 | shdr_info[cnt].idx = 2; | ||
1634 | @@ -994,7 +1018,7 @@ handle_elf (int fd, Elf *elf, const char | ||
1635 | error (EXIT_FAILURE, 0, gettext ("while generating output file: %s"), | ||
1636 | elf_errmsg (-1)); | ||
1637 | |||
1638 | - assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx); | ||
1639 | + elf_assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx); | ||
1640 | |||
1641 | /* Add this name to the section header string table. */ | ||
1642 | shdr_info[cnt].se = ebl_strtabadd (shst, shdr_info[cnt].name, 0); | ||
1643 | @@ -1031,7 +1055,7 @@ handle_elf (int fd, Elf *elf, const char | ||
1644 | error (EXIT_FAILURE, 0, | ||
1645 | gettext ("while create section header section: %s"), | ||
1646 | elf_errmsg (-1)); | ||
1647 | - assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx); | ||
1648 | + elf_assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx); | ||
1649 | |||
1650 | shdr_info[cnt].data = elf_newdata (shdr_info[cnt].newscn); | ||
1651 | if (shdr_info[cnt].data == NULL) | ||
1652 | @@ -1087,7 +1111,7 @@ handle_elf (int fd, Elf *elf, const char | ||
1653 | error (EXIT_FAILURE, 0, | ||
1654 | gettext ("while create section header section: %s"), | ||
1655 | elf_errmsg (-1)); | ||
1656 | - assert (elf_ndxscn (shdr_info[cnt].newscn) == idx); | ||
1657 | + elf_assert (elf_ndxscn (shdr_info[cnt].newscn) == idx); | ||
1658 | |||
1659 | /* Finalize the string table and fill in the correct indices in the | ||
1660 | section headers. */ | ||
1661 | @@ -1177,20 +1201,20 @@ handle_elf (int fd, Elf *elf, const char | ||
1662 | shndxdata = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn, | ||
1663 | NULL); | ||
1664 | |||
1665 | - assert ((versiondata->d_size / sizeof (Elf32_Word)) | ||
1666 | + elf_assert ((versiondata->d_size / sizeof (Elf32_Word)) | ||
1667 | >= shdr_info[cnt].data->d_size / elsize); | ||
1668 | } | ||
1669 | |||
1670 | if (shdr_info[cnt].version_idx != 0) | ||
1671 | { | ||
1672 | - assert (shdr_info[cnt].shdr.sh_type == SHT_DYNSYM); | ||
1673 | + elf_assert (shdr_info[cnt].shdr.sh_type == SHT_DYNSYM); | ||
1674 | /* This section has associated version | ||
1675 | information. We have to modify that | ||
1676 | information, too. */ | ||
1677 | versiondata = elf_getdata (shdr_info[shdr_info[cnt].version_idx].scn, | ||
1678 | NULL); | ||
1679 | |||
1680 | - assert ((versiondata->d_size / sizeof (GElf_Versym)) | ||
1681 | + elf_assert ((versiondata->d_size / sizeof (GElf_Versym)) | ||
1682 | >= shdr_info[cnt].data->d_size / elsize); | ||
1683 | } | ||
1684 | |||
1685 | @@ -1245,7 +1269,7 @@ handle_elf (int fd, Elf *elf, const char | ||
1686 | sec = shdr_info[sym->st_shndx].idx; | ||
1687 | else | ||
1688 | { | ||
1689 | - assert (shndxdata != NULL); | ||
1690 | + elf_assert (shndxdata != NULL); | ||
1691 | |||
1692 | sec = shdr_info[xshndx].idx; | ||
1693 | } | ||
1694 | @@ -1266,7 +1290,7 @@ handle_elf (int fd, Elf *elf, const char | ||
1695 | nxshndx = sec; | ||
1696 | } | ||
1697 | |||
1698 | - assert (sec < SHN_LORESERVE || shndxdata != NULL); | ||
1699 | + elf_assert (sec < SHN_LORESERVE || shndxdata != NULL); | ||
1700 | |||
1701 | if ((inner != destidx || nshndx != sym->st_shndx | ||
1702 | || (shndxdata != NULL && nxshndx != xshndx)) | ||
1703 | @@ -1293,9 +1317,11 @@ handle_elf (int fd, Elf *elf, const char | ||
1704 | { | ||
1705 | size_t sidx = (sym->st_shndx != SHN_XINDEX | ||
1706 | ? sym->st_shndx : xshndx); | ||
1707 | - assert (GELF_ST_TYPE (sym->st_info) == STT_SECTION | ||
1708 | - || (shdr_info[sidx].shdr.sh_type == SHT_GROUP | ||
1709 | - && shdr_info[sidx].shdr.sh_info == inner)); | ||
1710 | + elf_assert (GELF_ST_TYPE (sym->st_info) == STT_SECTION | ||
1711 | + || ((shdr_info[sidx].shdr.sh_type | ||
1712 | + == SHT_GROUP) | ||
1713 | + && (shdr_info[sidx].shdr.sh_info | ||
1714 | + == inner))); | ||
1715 | } | ||
1716 | } | ||
1717 | |||
1718 | @@ -1483,11 +1509,11 @@ handle_elf (int fd, Elf *elf, const char | ||
1719 | { | ||
1720 | GElf_Sym sym_mem; | ||
1721 | GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem); | ||
1722 | - assert (sym != NULL); | ||
1723 | + elf_assert (sym != NULL); | ||
1724 | |||
1725 | const char *name = elf_strptr (elf, strshndx, | ||
1726 | sym->st_name); | ||
1727 | - assert (name != NULL); | ||
1728 | + elf_assert (name != NULL); | ||
1729 | size_t hidx = elf_hash (name) % nbucket; | ||
1730 | |||
1731 | if (bucket[hidx] == 0) | ||
1732 | @@ -1506,8 +1532,8 @@ handle_elf (int fd, Elf *elf, const char | ||
1733 | else | ||
1734 | { | ||
1735 | /* Alpha and S390 64-bit use 64-bit SHT_HASH entries. */ | ||
1736 | - assert (shdr_info[cnt].shdr.sh_entsize | ||
1737 | - == sizeof (Elf64_Xword)); | ||
1738 | + elf_assert (shdr_info[cnt].shdr.sh_entsize | ||
1739 | + == sizeof (Elf64_Xword)); | ||
1740 | |||
1741 | Elf64_Xword *bucket = (Elf64_Xword *) hashd->d_buf; | ||
1742 | |||
1743 | @@ -1537,11 +1563,11 @@ handle_elf (int fd, Elf *elf, const char | ||
1744 | { | ||
1745 | GElf_Sym sym_mem; | ||
1746 | GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem); | ||
1747 | - assert (sym != NULL); | ||
1748 | + elf_assert (sym != NULL); | ||
1749 | |||
1750 | const char *name = elf_strptr (elf, strshndx, | ||
1751 | sym->st_name); | ||
1752 | - assert (name != NULL); | ||
1753 | + elf_assert (name != NULL); | ||
1754 | size_t hidx = elf_hash (name) % nbucket; | ||
1755 | |||
1756 | if (bucket[hidx] == 0) | ||
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/hppa_backend.diff b/meta/recipes-devtools/elfutils/elfutils-0.155/hppa_backend.diff new file mode 100644 index 0000000000..e8d8df5b2a --- /dev/null +++ b/meta/recipes-devtools/elfutils/elfutils-0.155/hppa_backend.diff | |||
@@ -0,0 +1,796 @@ | |||
1 | Upstream-Status: Backport | ||
2 | |||
3 | Index: elfutils-0.155/backends/parisc_init.c | ||
4 | =================================================================== | ||
5 | --- /dev/null | ||
6 | +++ elfutils-0.155/backends/parisc_init.c | ||
7 | @@ -0,0 +1,74 @@ | ||
8 | +/* Initialization of PA-RISC specific backend library. | ||
9 | + Copyright (C) 2002, 2005, 2006 Red Hat, Inc. | ||
10 | + This file is part of Red Hat elfutils. | ||
11 | + Written by Ulrich Drepper <drepper@redhat.com>, 2002. | ||
12 | + | ||
13 | + Red Hat elfutils is free software; you can redistribute it and/or modify | ||
14 | + it under the terms of the GNU General Public License as published by the | ||
15 | + Free Software Foundation; version 2 of the License. | ||
16 | + | ||
17 | + Red Hat elfutils is distributed in the hope that it will be useful, but | ||
18 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
19 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
20 | + General Public License for more details. | ||
21 | + | ||
22 | + You should have received a copy of the GNU General Public License along | ||
23 | + with Red Hat elfutils; if not, write to the Free Software Foundation, | ||
24 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
25 | + | ||
26 | + Red Hat elfutils is an included package of the Open Invention Network. | ||
27 | + An included package of the Open Invention Network is a package for which | ||
28 | + Open Invention Network licensees cross-license their patents. No patent | ||
29 | + license is granted, either expressly or impliedly, by designation as an | ||
30 | + included package. Should you wish to participate in the Open Invention | ||
31 | + Network licensing program, please visit www.openinventionnetwork.com | ||
32 | + <http://www.openinventionnetwork.com>. */ | ||
33 | + | ||
34 | +#ifdef HAVE_CONFIG_H | ||
35 | +# include <config.h> | ||
36 | +#endif | ||
37 | + | ||
38 | +#define BACKEND parisc_ | ||
39 | +#define RELOC_PREFIX R_PARISC_ | ||
40 | +#include "libebl_CPU.h" | ||
41 | +#include "libebl_parisc.h" | ||
42 | + | ||
43 | +/* This defines the common reloc hooks based on parisc_reloc.def. */ | ||
44 | +#include "common-reloc.c" | ||
45 | + | ||
46 | + | ||
47 | +const char * | ||
48 | +parisc_init (elf, machine, eh, ehlen) | ||
49 | + Elf *elf __attribute__ ((unused)); | ||
50 | + GElf_Half machine __attribute__ ((unused)); | ||
51 | + Ebl *eh; | ||
52 | + size_t ehlen; | ||
53 | +{ | ||
54 | + int pa64 = 0; | ||
55 | + | ||
56 | + /* Check whether the Elf_BH object has a sufficent size. */ | ||
57 | + if (ehlen < sizeof (Ebl)) | ||
58 | + return NULL; | ||
59 | + | ||
60 | + if (elf) { | ||
61 | + GElf_Ehdr ehdr_mem; | ||
62 | + GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem); | ||
63 | + if (ehdr && (ehdr->e_flags & EF_PARISC_WIDE)) | ||
64 | + pa64 = 1; | ||
65 | + } | ||
66 | + /* We handle it. */ | ||
67 | + eh->name = "PA-RISC"; | ||
68 | + parisc_init_reloc (eh); | ||
69 | + HOOK (eh, reloc_simple_type); | ||
70 | + HOOK (eh, machine_flag_check); | ||
71 | + HOOK (eh, symbol_type_name); | ||
72 | + HOOK (eh, segment_type_name); | ||
73 | + HOOK (eh, section_type_name); | ||
74 | + HOOK (eh, register_info); | ||
75 | + if (pa64) | ||
76 | + eh->return_value_location = parisc_return_value_location_64; | ||
77 | + else | ||
78 | + eh->return_value_location = parisc_return_value_location_32; | ||
79 | + | ||
80 | + return MODVERSION; | ||
81 | +} | ||
82 | Index: elfutils-0.155/backends/parisc_regs.c | ||
83 | =================================================================== | ||
84 | --- /dev/null | ||
85 | +++ elfutils-0.155/backends/parisc_regs.c | ||
86 | @@ -0,0 +1,159 @@ | ||
87 | +/* Register names and numbers for PA-RISC DWARF. | ||
88 | + Copyright (C) 2005, 2006 Red Hat, Inc. | ||
89 | + This file is part of Red Hat elfutils. | ||
90 | + | ||
91 | + Red Hat elfutils is free software; you can redistribute it and/or modify | ||
92 | + it under the terms of the GNU General Public License as published by the | ||
93 | + Free Software Foundation; version 2 of the License. | ||
94 | + | ||
95 | + Red Hat elfutils is distributed in the hope that it will be useful, but | ||
96 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
97 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
98 | + General Public License for more details. | ||
99 | + | ||
100 | + You should have received a copy of the GNU General Public License along | ||
101 | + with Red Hat elfutils; if not, write to the Free Software Foundation, | ||
102 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
103 | + | ||
104 | + Red Hat elfutils is an included package of the Open Invention Network. | ||
105 | + An included package of the Open Invention Network is a package for which | ||
106 | + Open Invention Network licensees cross-license their patents. No patent | ||
107 | + license is granted, either expressly or impliedly, by designation as an | ||
108 | + included package. Should you wish to participate in the Open Invention | ||
109 | + Network licensing program, please visit www.openinventionnetwork.com | ||
110 | + <http://www.openinventionnetwork.com>. */ | ||
111 | + | ||
112 | +#ifdef HAVE_CONFIG_H | ||
113 | +# include <config.h> | ||
114 | +#endif | ||
115 | + | ||
116 | +#include <string.h> | ||
117 | +#include <dwarf.h> | ||
118 | + | ||
119 | +#define BACKEND parisc_ | ||
120 | +#include "libebl_CPU.h" | ||
121 | + | ||
122 | +ssize_t | ||
123 | +parisc_register_info (Ebl *ebl, int regno, char *name, size_t namelen, | ||
124 | + const char **prefix, const char **setname, | ||
125 | + int *bits, int *type) | ||
126 | +{ | ||
127 | + int pa64 = 0; | ||
128 | + | ||
129 | + if (ebl->elf) { | ||
130 | + GElf_Ehdr ehdr_mem; | ||
131 | + GElf_Ehdr *ehdr = gelf_getehdr (ebl->elf, &ehdr_mem); | ||
132 | + if (ehdr->e_flags & EF_PARISC_WIDE) | ||
133 | + pa64 = 1; | ||
134 | + } | ||
135 | + | ||
136 | + int nregs = pa64 ? 127 : 128; | ||
137 | + | ||
138 | + if (name == NULL) | ||
139 | + return nregs; | ||
140 | + | ||
141 | + if (regno < 0 || regno >= nregs || namelen < 6) | ||
142 | + return -1; | ||
143 | + | ||
144 | + *prefix = "%"; | ||
145 | + | ||
146 | + if (regno < 32) | ||
147 | + { | ||
148 | + *setname = "integer"; | ||
149 | + *type = DW_ATE_signed; | ||
150 | + if (pa64) | ||
151 | + { | ||
152 | + *bits = 64; | ||
153 | + } | ||
154 | + else | ||
155 | + { | ||
156 | + *bits = 32; | ||
157 | + } | ||
158 | + } | ||
159 | + else if (regno == 32) | ||
160 | + { | ||
161 | + *setname = "special"; | ||
162 | + if (pa64) | ||
163 | + { | ||
164 | + *bits = 6; | ||
165 | + } | ||
166 | + else | ||
167 | + { | ||
168 | + *bits = 5; | ||
169 | + } | ||
170 | + *type = DW_ATE_unsigned; | ||
171 | + } | ||
172 | + else | ||
173 | + { | ||
174 | + *setname = "FPU"; | ||
175 | + *type = DW_ATE_float; | ||
176 | + if (pa64) | ||
177 | + { | ||
178 | + *bits = 64; | ||
179 | + } | ||
180 | + else | ||
181 | + { | ||
182 | + *bits = 32; | ||
183 | + } | ||
184 | + } | ||
185 | + | ||
186 | + if (regno < 33) { | ||
187 | + switch (regno) | ||
188 | + { | ||
189 | + case 0 ... 9: | ||
190 | + name[0] = 'r'; | ||
191 | + name[1] = regno + '0'; | ||
192 | + namelen = 2; | ||
193 | + break; | ||
194 | + case 10 ... 31: | ||
195 | + name[0] = 'r'; | ||
196 | + name[1] = regno / 10 + '0'; | ||
197 | + name[2] = regno % 10 + '0'; | ||
198 | + namelen = 3; | ||
199 | + break; | ||
200 | + case 32: | ||
201 | + *prefix = NULL; | ||
202 | + name[0] = 'S'; | ||
203 | + name[1] = 'A'; | ||
204 | + name[2] = 'R'; | ||
205 | + namelen = 3; | ||
206 | + break; | ||
207 | + } | ||
208 | + } | ||
209 | + else { | ||
210 | + if (pa64 && ((regno - 72) % 2)) { | ||
211 | + *setname = NULL; | ||
212 | + return 0; | ||
213 | + } | ||
214 | + | ||
215 | + switch (regno) | ||
216 | + { | ||
217 | + case 72 + 0 ... 72 + 11: | ||
218 | + name[0] = 'f'; | ||
219 | + name[1] = 'r'; | ||
220 | + name[2] = (regno + 8 - 72) / 2 + '0'; | ||
221 | + namelen = 3; | ||
222 | + if ((regno + 8 - 72) % 2) { | ||
223 | + name[3] = 'R'; | ||
224 | + namelen++; | ||
225 | + } | ||
226 | + break; | ||
227 | + case 72 + 12 ... 72 + 55: | ||
228 | + name[0] = 'f'; | ||
229 | + name[1] = 'r'; | ||
230 | + name[2] = (regno + 8 - 72) / 2 / 10 + '0'; | ||
231 | + name[3] = (regno + 8 - 72) / 2 % 10 + '0'; | ||
232 | + namelen = 4; | ||
233 | + if ((regno + 8 - 72) % 2) { | ||
234 | + name[4] = 'R'; | ||
235 | + namelen++; | ||
236 | + } | ||
237 | + break; | ||
238 | + default: | ||
239 | + *setname = NULL; | ||
240 | + return 0; | ||
241 | + } | ||
242 | + } | ||
243 | + name[namelen++] = '\0'; | ||
244 | + return namelen; | ||
245 | +} | ||
246 | Index: elfutils-0.155/backends/parisc_reloc.def | ||
247 | =================================================================== | ||
248 | --- /dev/null | ||
249 | +++ elfutils-0.155/backends/parisc_reloc.def | ||
250 | @@ -0,0 +1,128 @@ | ||
251 | +/* List the relocation types for PA-RISC. -*- C -*- | ||
252 | + Copyright (C) 2005 Red Hat, Inc. | ||
253 | + This file is part of Red Hat elfutils. | ||
254 | + | ||
255 | + Red Hat elfutils is free software; you can redistribute it and/or modify | ||
256 | + it under the terms of the GNU General Public License as published by the | ||
257 | + Free Software Foundation; version 2 of the License. | ||
258 | + | ||
259 | + Red Hat elfutils is distributed in the hope that it will be useful, but | ||
260 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
261 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
262 | + General Public License for more details. | ||
263 | + | ||
264 | + You should have received a copy of the GNU General Public License along | ||
265 | + with Red Hat elfutils; if not, write to the Free Software Foundation, | ||
266 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
267 | + | ||
268 | + Red Hat elfutils is an included package of the Open Invention Network. | ||
269 | + An included package of the Open Invention Network is a package for which | ||
270 | + Open Invention Network licensees cross-license their patents. No patent | ||
271 | + license is granted, either expressly or impliedly, by designation as an | ||
272 | + included package. Should you wish to participate in the Open Invention | ||
273 | + Network licensing program, please visit www.openinventionnetwork.com | ||
274 | + <http://www.openinventionnetwork.com>. */ | ||
275 | + | ||
276 | +/* NAME, REL|EXEC|DYN */ | ||
277 | + | ||
278 | +RELOC_TYPE (NONE, EXEC|DYN) | ||
279 | +RELOC_TYPE (DIR32, REL|EXEC|DYN) | ||
280 | +RELOC_TYPE (DIR21L, REL|EXEC|DYN) | ||
281 | +RELOC_TYPE (DIR17R, REL) | ||
282 | +RELOC_TYPE (DIR17F, REL) | ||
283 | +RELOC_TYPE (DIR14R, REL|DYN) | ||
284 | +RELOC_TYPE (PCREL32, REL) | ||
285 | +RELOC_TYPE (PCREL21L, REL) | ||
286 | +RELOC_TYPE (PCREL17R, REL) | ||
287 | +RELOC_TYPE (PCREL17F, REL) | ||
288 | +RELOC_TYPE (PCREL14R, REL|EXEC) | ||
289 | +RELOC_TYPE (DPREL21L, REL) | ||
290 | +RELOC_TYPE (DPREL14WR, REL) | ||
291 | +RELOC_TYPE (DPREL14DR, REL) | ||
292 | +RELOC_TYPE (DPREL14R, REL) | ||
293 | +RELOC_TYPE (GPREL21L, 0) | ||
294 | +RELOC_TYPE (GPREL14R, 0) | ||
295 | +RELOC_TYPE (LTOFF21L, REL) | ||
296 | +RELOC_TYPE (LTOFF14R, REL) | ||
297 | +RELOC_TYPE (DLTIND14F, 0) | ||
298 | +RELOC_TYPE (SETBASE, 0) | ||
299 | +RELOC_TYPE (SECREL32, REL) | ||
300 | +RELOC_TYPE (BASEREL21L, 0) | ||
301 | +RELOC_TYPE (BASEREL17R, 0) | ||
302 | +RELOC_TYPE (BASEREL14R, 0) | ||
303 | +RELOC_TYPE (SEGBASE, 0) | ||
304 | +RELOC_TYPE (SEGREL32, REL) | ||
305 | +RELOC_TYPE (PLTOFF21L, 0) | ||
306 | +RELOC_TYPE (PLTOFF14R, 0) | ||
307 | +RELOC_TYPE (PLTOFF14F, 0) | ||
308 | +RELOC_TYPE (LTOFF_FPTR32, 0) | ||
309 | +RELOC_TYPE (LTOFF_FPTR21L, 0) | ||
310 | +RELOC_TYPE (LTOFF_FPTR14R, 0) | ||
311 | +RELOC_TYPE (FPTR64, 0) | ||
312 | +RELOC_TYPE (PLABEL32, REL|DYN) | ||
313 | +RELOC_TYPE (PCREL64, 0) | ||
314 | +RELOC_TYPE (PCREL22C, 0) | ||
315 | +RELOC_TYPE (PCREL22F, 0) | ||
316 | +RELOC_TYPE (PCREL14WR, 0) | ||
317 | +RELOC_TYPE (PCREL14DR, 0) | ||
318 | +RELOC_TYPE (PCREL16F, 0) | ||
319 | +RELOC_TYPE (PCREL16WF, 0) | ||
320 | +RELOC_TYPE (PCREL16DF, 0) | ||
321 | +RELOC_TYPE (DIR64, REL|DYN) | ||
322 | +RELOC_TYPE (DIR14WR, REL) | ||
323 | +RELOC_TYPE (DIR14DR, REL) | ||
324 | +RELOC_TYPE (DIR16F, REL) | ||
325 | +RELOC_TYPE (DIR16WF, REL) | ||
326 | +RELOC_TYPE (DIR16DF, REL) | ||
327 | +RELOC_TYPE (GPREL64, 0) | ||
328 | +RELOC_TYPE (GPREL14WR, 0) | ||
329 | +RELOC_TYPE (GPREL14DR, 0) | ||
330 | +RELOC_TYPE (GPREL16F, 0) | ||
331 | +RELOC_TYPE (GPREL16WF, 0) | ||
332 | +RELOC_TYPE (GPREL16DF, 0) | ||
333 | +RELOC_TYPE (LTOFF64, 0) | ||
334 | +RELOC_TYPE (LTOFF14WR, 0) | ||
335 | +RELOC_TYPE (LTOFF14DR, 0) | ||
336 | +RELOC_TYPE (LTOFF16F, 0) | ||
337 | +RELOC_TYPE (LTOFF16WF, 0) | ||
338 | +RELOC_TYPE (LTOFF16DF, 0) | ||
339 | +RELOC_TYPE (SECREL64, 0) | ||
340 | +RELOC_TYPE (BASEREL14WR, 0) | ||
341 | +RELOC_TYPE (BASEREL14DR, 0) | ||
342 | +RELOC_TYPE (SEGREL64, 0) | ||
343 | +RELOC_TYPE (PLTOFF14WR, 0) | ||
344 | +RELOC_TYPE (PLTOFF14DR, 0) | ||
345 | +RELOC_TYPE (PLTOFF16F, 0) | ||
346 | +RELOC_TYPE (PLTOFF16WF, 0) | ||
347 | +RELOC_TYPE (PLTOFF16DF, 0) | ||
348 | +RELOC_TYPE (LTOFF_FPTR64, 0) | ||
349 | +RELOC_TYPE (LTOFF_FPTR14WR, 0) | ||
350 | +RELOC_TYPE (LTOFF_FPTR14DR, 0) | ||
351 | +RELOC_TYPE (LTOFF_FPTR16F, 0) | ||
352 | +RELOC_TYPE (LTOFF_FPTR16WF, 0) | ||
353 | +RELOC_TYPE (LTOFF_FPTR16DF, 0) | ||
354 | +RELOC_TYPE (COPY, EXEC) | ||
355 | +RELOC_TYPE (IPLT, EXEC|DYN) | ||
356 | +RELOC_TYPE (EPLT, 0) | ||
357 | +RELOC_TYPE (TPREL32, DYN) | ||
358 | +RELOC_TYPE (TPREL21L, 0) | ||
359 | +RELOC_TYPE (TPREL14R, 0) | ||
360 | +RELOC_TYPE (LTOFF_TP21L, 0) | ||
361 | +RELOC_TYPE (LTOFF_TP14R, 0) | ||
362 | +RELOC_TYPE (LTOFF_TP14F, 0) | ||
363 | +RELOC_TYPE (TPREL64, 0) | ||
364 | +RELOC_TYPE (TPREL14WR, 0) | ||
365 | +RELOC_TYPE (TPREL14DR, 0) | ||
366 | +RELOC_TYPE (TPREL16F, 0) | ||
367 | +RELOC_TYPE (TPREL16WF, 0) | ||
368 | +RELOC_TYPE (TPREL16DF, 0) | ||
369 | +RELOC_TYPE (LTOFF_TP64, 0) | ||
370 | +RELOC_TYPE (LTOFF_TP14WR, 0) | ||
371 | +RELOC_TYPE (LTOFF_TP14DR, 0) | ||
372 | +RELOC_TYPE (LTOFF_TP16F, 0) | ||
373 | +RELOC_TYPE (LTOFF_TP16WF, 0) | ||
374 | +RELOC_TYPE (LTOFF_TP16DF, 0) | ||
375 | +RELOC_TYPE (TLS_DTPMOD32, DYN) | ||
376 | +RELOC_TYPE (TLS_DTPMOD64, DYN) | ||
377 | + | ||
378 | +#define NO_RELATIVE_RELOC 1 | ||
379 | Index: elfutils-0.155/backends/parisc_retval.c | ||
380 | =================================================================== | ||
381 | --- /dev/null | ||
382 | +++ elfutils-0.155/backends/parisc_retval.c | ||
383 | @@ -0,0 +1,213 @@ | ||
384 | +/* Function return value location for Linux/PA-RISC ABI. | ||
385 | + Copyright (C) 2005 Red Hat, Inc. | ||
386 | + This file is part of Red Hat elfutils. | ||
387 | + | ||
388 | + Red Hat elfutils is free software; you can redistribute it and/or modify | ||
389 | + it under the terms of the GNU General Public License as published by the | ||
390 | + Free Software Foundation; version 2 of the License. | ||
391 | + | ||
392 | + Red Hat elfutils is distributed in the hope that it will be useful, but | ||
393 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
394 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
395 | + General Public License for more details. | ||
396 | + | ||
397 | + You should have received a copy of the GNU General Public License along | ||
398 | + with Red Hat elfutils; if not, write to the Free Software Foundation, | ||
399 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
400 | + | ||
401 | + Red Hat elfutils is an included package of the Open Invention Network. | ||
402 | + An included package of the Open Invention Network is a package for which | ||
403 | + Open Invention Network licensees cross-license their patents. No patent | ||
404 | + license is granted, either expressly or impliedly, by designation as an | ||
405 | + included package. Should you wish to participate in the Open Invention | ||
406 | + Network licensing program, please visit www.openinventionnetwork.com | ||
407 | + <http://www.openinventionnetwork.com>. */ | ||
408 | + | ||
409 | +#ifdef HAVE_CONFIG_H | ||
410 | +# include <config.h> | ||
411 | +#endif | ||
412 | + | ||
413 | +#include <assert.h> | ||
414 | +#include <dwarf.h> | ||
415 | + | ||
416 | +#define BACKEND parisc_ | ||
417 | +#include "libebl_CPU.h" | ||
418 | +#include "libebl_parisc.h" | ||
419 | + | ||
420 | +/* %r28, or pair %r28, %r29. */ | ||
421 | +static const Dwarf_Op loc_intreg32[] = | ||
422 | + { | ||
423 | + { .atom = DW_OP_reg28 }, { .atom = DW_OP_piece, .number = 4 }, | ||
424 | + { .atom = DW_OP_reg29 }, { .atom = DW_OP_piece, .number = 4 }, | ||
425 | + }; | ||
426 | + | ||
427 | +static const Dwarf_Op loc_intreg[] = | ||
428 | + { | ||
429 | + { .atom = DW_OP_reg28 }, { .atom = DW_OP_piece, .number = 8 }, | ||
430 | + { .atom = DW_OP_reg29 }, { .atom = DW_OP_piece, .number = 8 }, | ||
431 | + }; | ||
432 | +#define nloc_intreg 1 | ||
433 | +#define nloc_intregpair 4 | ||
434 | + | ||
435 | +/* %fr4L, or pair %fr4L, %fr4R on pa-32 */ | ||
436 | +static const Dwarf_Op loc_fpreg32[] = | ||
437 | + { | ||
438 | + { .atom = DW_OP_regx, .number = 72 }, { .atom = DW_OP_piece, .number = 4 }, | ||
439 | + { .atom = DW_OP_regx, .number = 73 }, { .atom = DW_OP_piece, .number = 4 }, | ||
440 | + }; | ||
441 | +#define nloc_fpreg32 2 | ||
442 | +#define nloc_fpregpair32 4 | ||
443 | + | ||
444 | +/* $fr4 */ | ||
445 | +static const Dwarf_Op loc_fpreg[] = | ||
446 | + { | ||
447 | + { .atom = DW_OP_regx, .number = 72 }, | ||
448 | + }; | ||
449 | +#define nloc_fpreg 1 | ||
450 | + | ||
451 | +#if 0 | ||
452 | +/* The return value is a structure and is actually stored in stack space | ||
453 | + passed in a hidden argument by the caller. Address of the location is stored | ||
454 | + in %r28 before function call, but it may be changed by function. */ | ||
455 | +static const Dwarf_Op loc_aggregate[] = | ||
456 | + { | ||
457 | + { .atom = DW_OP_breg28 }, | ||
458 | + }; | ||
459 | +#define nloc_aggregate 1 | ||
460 | +#endif | ||
461 | + | ||
462 | +static int | ||
463 | +parisc_return_value_location_ (Dwarf_Die *functypedie, const Dwarf_Op **locp, int pa64) | ||
464 | +{ | ||
465 | + Dwarf_Word regsize = pa64 ? 8 : 4; | ||
466 | + | ||
467 | + /* Start with the function's type, and get the DW_AT_type attribute, | ||
468 | + which is the type of the return value. */ | ||
469 | + | ||
470 | + Dwarf_Attribute attr_mem; | ||
471 | + Dwarf_Attribute *attr = dwarf_attr_integrate (functypedie, DW_AT_type, &attr_mem); | ||
472 | + if (attr == NULL) | ||
473 | + /* The function has no return value, like a `void' function in C. */ | ||
474 | + return 0; | ||
475 | + | ||
476 | + Dwarf_Die die_mem; | ||
477 | + Dwarf_Die *typedie = dwarf_formref_die (attr, &die_mem); | ||
478 | + int tag = dwarf_tag (typedie); | ||
479 | + | ||
480 | + /* Follow typedefs and qualifiers to get to the actual type. */ | ||
481 | + while (tag == DW_TAG_typedef | ||
482 | + || tag == DW_TAG_const_type || tag == DW_TAG_volatile_type | ||
483 | + || tag == DW_TAG_restrict_type || tag == DW_TAG_mutable_type) | ||
484 | + { | ||
485 | + attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem); | ||
486 | + typedie = dwarf_formref_die (attr, &die_mem); | ||
487 | + tag = dwarf_tag (typedie); | ||
488 | + } | ||
489 | + | ||
490 | + switch (tag) | ||
491 | + { | ||
492 | + case -1: | ||
493 | + return -1; | ||
494 | + | ||
495 | + case DW_TAG_subrange_type: | ||
496 | + if (! dwarf_hasattr_integrate (typedie, DW_AT_byte_size)) | ||
497 | + { | ||
498 | + attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem); | ||
499 | + typedie = dwarf_formref_die (attr, &die_mem); | ||
500 | + tag = dwarf_tag (typedie); | ||
501 | + } | ||
502 | + /* Fall through. */ | ||
503 | + | ||
504 | + case DW_TAG_base_type: | ||
505 | + case DW_TAG_enumeration_type: | ||
506 | + case DW_TAG_pointer_type: | ||
507 | + case DW_TAG_ptr_to_member_type: | ||
508 | + { | ||
509 | + Dwarf_Word size; | ||
510 | + if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_byte_size, | ||
511 | + &attr_mem), &size) != 0) | ||
512 | + { | ||
513 | + if (tag == DW_TAG_pointer_type || tag == DW_TAG_ptr_to_member_type) | ||
514 | + size = 4; | ||
515 | + else | ||
516 | + return -1; | ||
517 | + } | ||
518 | + if (tag == DW_TAG_base_type) | ||
519 | + { | ||
520 | + Dwarf_Word encoding; | ||
521 | + if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding, | ||
522 | + &attr_mem), &encoding) != 0) | ||
523 | + return -1; | ||
524 | + | ||
525 | + if (encoding == DW_ATE_float) | ||
526 | + { | ||
527 | + if (pa64) { | ||
528 | + *locp = loc_fpreg; | ||
529 | + if (size <= 8) | ||
530 | + return nloc_fpreg; | ||
531 | + } | ||
532 | + else { | ||
533 | + *locp = loc_fpreg32; | ||
534 | + if (size <= 4) | ||
535 | + return nloc_fpreg32; | ||
536 | + else if (size <= 8) | ||
537 | + return nloc_fpregpair32; | ||
538 | + } | ||
539 | + goto aggregate; | ||
540 | + } | ||
541 | + } | ||
542 | + if (pa64) | ||
543 | + *locp = loc_intreg; | ||
544 | + else | ||
545 | + *locp = loc_intreg32; | ||
546 | + if (size <= regsize) | ||
547 | + return nloc_intreg; | ||
548 | + if (size <= 2 * regsize) | ||
549 | + return nloc_intregpair; | ||
550 | + | ||
551 | + /* Else fall through. */ | ||
552 | + } | ||
553 | + | ||
554 | + case DW_TAG_structure_type: | ||
555 | + case DW_TAG_class_type: | ||
556 | + case DW_TAG_union_type: | ||
557 | + case DW_TAG_array_type: | ||
558 | + aggregate: { | ||
559 | + Dwarf_Word size; | ||
560 | + if (dwarf_aggregate_size (typedie, &size) != 0) | ||
561 | + return -1; | ||
562 | + if (pa64) | ||
563 | + *locp = loc_intreg; | ||
564 | + else | ||
565 | + *locp = loc_intreg32; | ||
566 | + if (size <= regsize) | ||
567 | + return nloc_intreg; | ||
568 | + if (size <= 2 * regsize) | ||
569 | + return nloc_intregpair; | ||
570 | +#if 0 | ||
571 | + /* there should be some way to know this location... But I do not see it. */ | ||
572 | + *locp = loc_aggregate; | ||
573 | + return nloc_aggregate; | ||
574 | +#endif | ||
575 | + /* fall through. */ | ||
576 | + } | ||
577 | + } | ||
578 | + | ||
579 | + /* XXX We don't have a good way to return specific errors from ebl calls. | ||
580 | + This value means we do not understand the type, but it is well-formed | ||
581 | + DWARF and might be valid. */ | ||
582 | + return -2; | ||
583 | +} | ||
584 | + | ||
585 | +int | ||
586 | +parisc_return_value_location_32 (Dwarf_Die *functypedie, const Dwarf_Op **locp) | ||
587 | +{ | ||
588 | + return parisc_return_value_location_ (functypedie, locp, 0); | ||
589 | +} | ||
590 | + | ||
591 | +int | ||
592 | +parisc_return_value_location_64 (Dwarf_Die *functypedie, const Dwarf_Op **locp) | ||
593 | +{ | ||
594 | + return parisc_return_value_location_ (functypedie, locp, 1); | ||
595 | +} | ||
596 | + | ||
597 | Index: elfutils-0.155/backends/parisc_symbol.c | ||
598 | =================================================================== | ||
599 | --- /dev/null | ||
600 | +++ elfutils-0.155/backends/parisc_symbol.c | ||
601 | @@ -0,0 +1,112 @@ | ||
602 | +/* PA-RISC specific symbolic name handling. | ||
603 | + Copyright (C) 2002, 2005 Red Hat, Inc. | ||
604 | + This file is part of Red Hat elfutils. | ||
605 | + Written by Ulrich Drepper <drepper@redhat.com>, 2002. | ||
606 | + | ||
607 | + Red Hat elfutils is free software; you can redistribute it and/or modify | ||
608 | + it under the terms of the GNU General Public License as published by the | ||
609 | + Free Software Foundation; version 2 of the License. | ||
610 | + | ||
611 | + Red Hat elfutils is distributed in the hope that it will be useful, but | ||
612 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
613 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
614 | + General Public License for more details. | ||
615 | + | ||
616 | + You should have received a copy of the GNU General Public License along | ||
617 | + with Red Hat elfutils; if not, write to the Free Software Foundation, | ||
618 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
619 | + | ||
620 | + Red Hat elfutils is an included package of the Open Invention Network. | ||
621 | + An included package of the Open Invention Network is a package for which | ||
622 | + Open Invention Network licensees cross-license their patents. No patent | ||
623 | + license is granted, either expressly or impliedly, by designation as an | ||
624 | + included package. Should you wish to participate in the Open Invention | ||
625 | + Network licensing program, please visit www.openinventionnetwork.com | ||
626 | + <http://www.openinventionnetwork.com>. */ | ||
627 | + | ||
628 | +#ifdef HAVE_CONFIG_H | ||
629 | +# include <config.h> | ||
630 | +#endif | ||
631 | + | ||
632 | +#include <elf.h> | ||
633 | +#include <stddef.h> | ||
634 | + | ||
635 | +#define BACKEND parisc_ | ||
636 | +#include "libebl_CPU.h" | ||
637 | + | ||
638 | +const char * | ||
639 | +parisc_segment_type_name (int segment, char *buf __attribute__ ((unused)), | ||
640 | + size_t len __attribute__ ((unused))) | ||
641 | +{ | ||
642 | + switch (segment) | ||
643 | + { | ||
644 | + case PT_PARISC_ARCHEXT: | ||
645 | + return "PARISC_ARCHEXT"; | ||
646 | + case PT_PARISC_UNWIND: | ||
647 | + return "PARISC_UNWIND"; | ||
648 | + default: | ||
649 | + break; | ||
650 | + } | ||
651 | + return NULL; | ||
652 | +} | ||
653 | + | ||
654 | +/* Return symbolic representation of symbol type. */ | ||
655 | +const char * | ||
656 | +parisc_symbol_type_name(int symbol, char *buf __attribute__ ((unused)), | ||
657 | + size_t len __attribute__ ((unused))) | ||
658 | +{ | ||
659 | + if (symbol == STT_PARISC_MILLICODE) | ||
660 | + return "PARISC_MILLI"; | ||
661 | + return NULL; | ||
662 | +} | ||
663 | + | ||
664 | +/* Return symbolic representation of section type. */ | ||
665 | +const char * | ||
666 | +parisc_section_type_name (int type, | ||
667 | + char *buf __attribute__ ((unused)), | ||
668 | + size_t len __attribute__ ((unused))) | ||
669 | +{ | ||
670 | + switch (type) | ||
671 | + { | ||
672 | + case SHT_PARISC_EXT: | ||
673 | + return "PARISC_EXT"; | ||
674 | + case SHT_PARISC_UNWIND: | ||
675 | + return "PARISC_UNWIND"; | ||
676 | + case SHT_PARISC_DOC: | ||
677 | + return "PARISC_DOC"; | ||
678 | + } | ||
679 | + | ||
680 | + return NULL; | ||
681 | +} | ||
682 | + | ||
683 | +/* Check whether machine flags are valid. */ | ||
684 | +bool | ||
685 | +parisc_machine_flag_check (GElf_Word flags) | ||
686 | +{ | ||
687 | + if (flags &~ (EF_PARISC_TRAPNIL | EF_PARISC_EXT | EF_PARISC_LSB | | ||
688 | + EF_PARISC_WIDE | EF_PARISC_NO_KABP | | ||
689 | + EF_PARISC_LAZYSWAP | EF_PARISC_ARCH)) | ||
690 | + return 0; | ||
691 | + | ||
692 | + GElf_Word arch = flags & EF_PARISC_ARCH; | ||
693 | + | ||
694 | + return ((arch == EFA_PARISC_1_0) || (arch == EFA_PARISC_1_1) || | ||
695 | + (arch == EFA_PARISC_2_0)); | ||
696 | +} | ||
697 | + | ||
698 | +/* Check for the simple reloc types. */ | ||
699 | +Elf_Type | ||
700 | +parisc_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type) | ||
701 | +{ | ||
702 | + switch (type) | ||
703 | + { | ||
704 | + case R_PARISC_DIR64: | ||
705 | + case R_PARISC_SECREL64: | ||
706 | + return ELF_T_XWORD; | ||
707 | + case R_PARISC_DIR32: | ||
708 | + case R_PARISC_SECREL32: | ||
709 | + return ELF_T_WORD; | ||
710 | + default: | ||
711 | + return ELF_T_NUM; | ||
712 | + } | ||
713 | +} | ||
714 | Index: elfutils-0.155/backends/libebl_parisc.h | ||
715 | =================================================================== | ||
716 | --- /dev/null | ||
717 | +++ elfutils-0.155/backends/libebl_parisc.h | ||
718 | @@ -0,0 +1,9 @@ | ||
719 | +#ifndef _LIBEBL_HPPA_H | ||
720 | +#define _LIBEBL_HPPA_H 1 | ||
721 | + | ||
722 | +#include <libdw.h> | ||
723 | + | ||
724 | +extern int parisc_return_value_location_32(Dwarf_Die *, const Dwarf_Op **locp); | ||
725 | +extern int parisc_return_value_location_64(Dwarf_Die *, const Dwarf_Op **locp); | ||
726 | + | ||
727 | +#endif | ||
728 | Index: elfutils-0.155/backends/Makefile.am | ||
729 | =================================================================== | ||
730 | --- elfutils-0.155.orig/backends/Makefile.am | ||
731 | +++ elfutils-0.155/backends/Makefile.am | ||
732 | @@ -32,7 +32,7 @@ INCLUDES += -I$(top_srcdir)/libebl -I$(t | ||
733 | -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw | ||
734 | |||
735 | |||
736 | -modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 tilegx | ||
737 | +modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 tilegx parisc | ||
738 | libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \ | ||
739 | libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \ | ||
740 | libebl_sparc_pic.a libebl_ppc_pic.a libebl_ppc64_pic.a \ | ||
741 | @@ -103,6 +103,9 @@ tilegx_SRCS = tilegx_init.c tilegx_symbo | ||
742 | libebl_tilegx_pic_a_SOURCES = $(tilegx_SRCS) | ||
743 | am_libebl_tilegx_pic_a_OBJECTS = $(tilegx_SRCS:.c=.os) | ||
744 | |||
745 | +parisc_SRCS = parisc_init.c parisc_symbol.c parisc_regs.c parisc_retval.c | ||
746 | +libebl_parisc_pic_a_SOURCES = $(parisc_SRCS) | ||
747 | +am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os) | ||
748 | |||
749 | libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw) | ||
750 | @rm -f $(@:.so=.map) | ||
751 | Index: elfutils-0.155/libelf/elf.h | ||
752 | =================================================================== | ||
753 | --- elfutils-0.155.orig/libelf/elf.h | ||
754 | +++ elfutils-0.155/libelf/elf.h | ||
755 | @@ -1780,16 +1780,24 @@ typedef Elf32_Addr Elf32_Conflict; | ||
756 | #define R_PARISC_PCREL17F 12 /* 17 bits of rel. address. */ | ||
757 | #define R_PARISC_PCREL14R 14 /* Right 14 bits of rel. address. */ | ||
758 | #define R_PARISC_DPREL21L 18 /* Left 21 bits of rel. address. */ | ||
759 | +#define R_PARISC_DPREL14WR 19 | ||
760 | +#define R_PARISC_DPREL14DR 20 | ||
761 | #define R_PARISC_DPREL14R 22 /* Right 14 bits of rel. address. */ | ||
762 | #define R_PARISC_GPREL21L 26 /* GP-relative, left 21 bits. */ | ||
763 | #define R_PARISC_GPREL14R 30 /* GP-relative, right 14 bits. */ | ||
764 | #define R_PARISC_LTOFF21L 34 /* LT-relative, left 21 bits. */ | ||
765 | #define R_PARISC_LTOFF14R 38 /* LT-relative, right 14 bits. */ | ||
766 | +#define R_PARISC_DLTIND14F 39 | ||
767 | +#define R_PARISC_SETBASE 40 | ||
768 | #define R_PARISC_SECREL32 41 /* 32 bits section rel. address. */ | ||
769 | +#define R_PARISC_BASEREL21L 42 | ||
770 | +#define R_PARISC_BASEREL17R 43 | ||
771 | +#define R_PARISC_BASEREL14R 46 | ||
772 | #define R_PARISC_SEGBASE 48 /* No relocation, set segment base. */ | ||
773 | #define R_PARISC_SEGREL32 49 /* 32 bits segment rel. address. */ | ||
774 | #define R_PARISC_PLTOFF21L 50 /* PLT rel. address, left 21 bits. */ | ||
775 | #define R_PARISC_PLTOFF14R 54 /* PLT rel. address, right 14 bits. */ | ||
776 | +#define R_PARISC_PLTOFF14F 55 | ||
777 | #define R_PARISC_LTOFF_FPTR32 57 /* 32 bits LT-rel. function pointer. */ | ||
778 | #define R_PARISC_LTOFF_FPTR21L 58 /* LT-rel. fct ptr, left 21 bits. */ | ||
779 | #define R_PARISC_LTOFF_FPTR14R 62 /* LT-rel. fct ptr, right 14 bits. */ | ||
780 | @@ -1798,6 +1806,7 @@ typedef Elf32_Addr Elf32_Conflict; | ||
781 | #define R_PARISC_PLABEL21L 66 /* Left 21 bits of fdesc address. */ | ||
782 | #define R_PARISC_PLABEL14R 70 /* Right 14 bits of fdesc address. */ | ||
783 | #define R_PARISC_PCREL64 72 /* 64 bits PC-rel. address. */ | ||
784 | +#define R_PARISC_PCREL22C 73 | ||
785 | #define R_PARISC_PCREL22F 74 /* 22 bits PC-rel. address. */ | ||
786 | #define R_PARISC_PCREL14WR 75 /* PC-rel. address, right 14 bits. */ | ||
787 | #define R_PARISC_PCREL14DR 76 /* PC rel. address, right 14 bits. */ | ||
788 | @@ -1823,6 +1832,8 @@ typedef Elf32_Addr Elf32_Conflict; | ||
789 | #define R_PARISC_LTOFF16WF 102 /* 16 bits LT-rel. address. */ | ||
790 | #define R_PARISC_LTOFF16DF 103 /* 16 bits LT-rel. address. */ | ||
791 | #define R_PARISC_SECREL64 104 /* 64 bits section rel. address. */ | ||
792 | +#define R_PARISC_BASEREL14WR 107 | ||
793 | +#define R_PARISC_BASEREL14DR 108 | ||
794 | #define R_PARISC_SEGREL64 112 /* 64 bits segment rel. address. */ | ||
795 | #define R_PARISC_PLTOFF14WR 115 /* PLT-rel. address, right 14 bits. */ | ||
796 | #define R_PARISC_PLTOFF14DR 116 /* PLT-rel. address, right 14 bits. */ | ||
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/i386_dis.h b/meta/recipes-devtools/elfutils/elfutils-0.155/i386_dis.h new file mode 100644 index 0000000000..a5cc01f919 --- /dev/null +++ b/meta/recipes-devtools/elfutils/elfutils-0.155/i386_dis.h | |||
@@ -0,0 +1,1657 @@ | |||
1 | #define MNEMONIC_BITS 10 | ||
2 | #define SUFFIX_BITS 3 | ||
3 | #define FCT1_BITS 7 | ||
4 | #define STR1_BITS 4 | ||
5 | #define OFF1_1_BITS 7 | ||
6 | #define OFF1_1_BIAS 3 | ||
7 | #define OFF1_2_BITS 7 | ||
8 | #define OFF1_2_BIAS 4 | ||
9 | #define OFF1_3_BITS 1 | ||
10 | #define OFF1_3_BIAS 7 | ||
11 | #define FCT2_BITS 6 | ||
12 | #define STR2_BITS 2 | ||
13 | #define OFF2_1_BITS 7 | ||
14 | #define OFF2_1_BIAS 5 | ||
15 | #define OFF2_2_BITS 7 | ||
16 | #define OFF2_2_BIAS 4 | ||
17 | #define OFF2_3_BITS 4 | ||
18 | #define OFF2_3_BIAS 7 | ||
19 | #define FCT3_BITS 4 | ||
20 | #define STR3_BITS 1 | ||
21 | #define OFF3_1_BITS 6 | ||
22 | #define OFF3_1_BIAS 10 | ||
23 | #define OFF3_2_BITS 1 | ||
24 | #define OFF3_2_BIAS 21 | ||
25 | |||
26 | #include <i386_data.h> | ||
27 | |||
28 | #define suffix_none 0 | ||
29 | #define suffix_w 1 | ||
30 | #define suffix_w0 2 | ||
31 | #define suffix_W 3 | ||
32 | #define suffix_tttn 4 | ||
33 | #define suffix_D 7 | ||
34 | #define suffix_w1 5 | ||
35 | #define suffix_W1 6 | ||
36 | |||
37 | static const opfct_t op1_fct[] = | ||
38 | { | ||
39 | NULL, | ||
40 | FCT_MOD$R_M, | ||
41 | FCT_Mod$R_m, | ||
42 | FCT_abs, | ||
43 | FCT_ax, | ||
44 | FCT_ax$w, | ||
45 | FCT_ccc, | ||
46 | FCT_ddd, | ||
47 | FCT_disp8, | ||
48 | FCT_ds_bx, | ||
49 | FCT_ds_si, | ||
50 | FCT_dx, | ||
51 | FCT_es_di, | ||
52 | FCT_freg, | ||
53 | FCT_imm$s, | ||
54 | FCT_imm$w, | ||
55 | FCT_imm16, | ||
56 | FCT_imm8, | ||
57 | FCT_imms8, | ||
58 | FCT_mmxreg, | ||
59 | FCT_mod$16r_m, | ||
60 | FCT_mod$64r_m, | ||
61 | FCT_mod$8r_m, | ||
62 | FCT_mod$r_m, | ||
63 | FCT_mod$r_m$w, | ||
64 | FCT_reg, | ||
65 | FCT_reg$w, | ||
66 | FCT_reg16, | ||
67 | FCT_reg64, | ||
68 | FCT_rel, | ||
69 | FCT_sel, | ||
70 | FCT_sreg2, | ||
71 | FCT_sreg3, | ||
72 | FCT_string, | ||
73 | FCT_xmmreg, | ||
74 | }; | ||
75 | static const char op1_str[] = | ||
76 | "%ax\0" | ||
77 | "%cl\0" | ||
78 | "%eax\0" | ||
79 | "%st\0" | ||
80 | "%xmm0\0" | ||
81 | "*"; | ||
82 | static const uint8_t op1_str_idx[] = { | ||
83 | 0, | ||
84 | 4, | ||
85 | 8, | ||
86 | 13, | ||
87 | 17, | ||
88 | 23, | ||
89 | }; | ||
90 | static const opfct_t op2_fct[] = | ||
91 | { | ||
92 | NULL, | ||
93 | FCT_MOD$R_M, | ||
94 | FCT_Mod$R_m, | ||
95 | FCT_abs, | ||
96 | FCT_absval, | ||
97 | FCT_ax$w, | ||
98 | FCT_ccc, | ||
99 | FCT_ddd, | ||
100 | FCT_ds_si, | ||
101 | FCT_dx, | ||
102 | FCT_es_di, | ||
103 | FCT_freg, | ||
104 | FCT_imm8, | ||
105 | FCT_mmxreg, | ||
106 | FCT_mod$64r_m, | ||
107 | FCT_mod$r_m, | ||
108 | FCT_mod$r_m$w, | ||
109 | FCT_moda$r_m, | ||
110 | FCT_reg, | ||
111 | FCT_reg$w, | ||
112 | FCT_reg64, | ||
113 | FCT_sreg3, | ||
114 | FCT_string, | ||
115 | FCT_xmmreg, | ||
116 | }; | ||
117 | static const char op2_str[] = | ||
118 | "%ecx\0" | ||
119 | "%st"; | ||
120 | static const uint8_t op2_str_idx[] = { | ||
121 | 0, | ||
122 | 5, | ||
123 | }; | ||
124 | static const opfct_t op3_fct[] = | ||
125 | { | ||
126 | NULL, | ||
127 | FCT_mmxreg, | ||
128 | FCT_mod$r_m, | ||
129 | FCT_reg, | ||
130 | FCT_string, | ||
131 | FCT_xmmreg, | ||
132 | }; | ||
133 | static const char op3_str[] = | ||
134 | "%edx"; | ||
135 | static const uint8_t op3_str_idx[] = { | ||
136 | 0, | ||
137 | }; | ||
138 | static const struct instr_enc instrtab[] = | ||
139 | { | ||
140 | { .mnemonic = MNE_aaa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
141 | { .mnemonic = MNE_aad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
142 | { .mnemonic = MNE_aam, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
143 | { .mnemonic = MNE_aas, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
144 | { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
145 | { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
146 | { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
147 | { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
148 | { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
149 | { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
150 | { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
151 | { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
152 | { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
153 | { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
154 | { .mnemonic = MNE_addsubpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
155 | { .mnemonic = MNE_addsubps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
156 | { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
157 | { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
158 | { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
159 | { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
160 | { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
161 | { .mnemonic = MNE_andpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
162 | { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
163 | { .mnemonic = MNE_andnpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
164 | { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
165 | { .mnemonic = MNE_arpl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
166 | { .mnemonic = MNE_bound, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 17, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
167 | { .mnemonic = MNE_bsf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
168 | { .mnemonic = MNE_bsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
169 | { .mnemonic = MNE_bswap, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 25, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
170 | { .mnemonic = MNE_bt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
171 | { .mnemonic = MNE_bt, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
172 | { .mnemonic = MNE_btc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
173 | { .mnemonic = MNE_btc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
174 | { .mnemonic = MNE_btr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
175 | { .mnemonic = MNE_btr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
176 | { .mnemonic = MNE_bts, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
177 | { .mnemonic = MNE_bts, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
178 | { .mnemonic = MNE_call, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
179 | { .mnemonic = MNE_call, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 21, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
180 | { .mnemonic = MNE_lcall, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 30, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 4, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
181 | { .mnemonic = MNE_lcall, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 21, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
182 | { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
183 | { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
184 | { .mnemonic = MNE_clc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
185 | { .mnemonic = MNE_cld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
186 | { .mnemonic = MNE_cli, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
187 | { .mnemonic = MNE_syscall, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
188 | { .mnemonic = MNE_clts, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
189 | { .mnemonic = MNE_sysret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
190 | { .mnemonic = MNE_sysenter, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
191 | { .mnemonic = MNE_sysexit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
192 | { .mnemonic = MNE_cmc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
193 | { .mnemonic = MNE_cmov, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
194 | { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
195 | { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
196 | { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
197 | { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
198 | { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
199 | { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
200 | { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
201 | { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
202 | { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
203 | { .mnemonic = MNE_cmps, .rep = 0, .repe = 1, .suffix = 1, .modrm = 0, .fct1 = 12, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 8, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
204 | { .mnemonic = MNE_cmpxchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 11, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 8, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
205 | { .mnemonic = MNE_cmpxchg8b, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
206 | { .mnemonic = MNE_cpuid, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
207 | { .mnemonic = MNE_cvtdq2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
208 | { .mnemonic = MNE_cvtpd2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
209 | { .mnemonic = MNE_cvttpd2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
210 | { .mnemonic = MNE_daa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
211 | { .mnemonic = MNE_das, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
212 | { .mnemonic = MNE_dec, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
213 | { .mnemonic = MNE_dec, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 25, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
214 | { .mnemonic = MNE_div, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
215 | { .mnemonic = MNE_emms, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
216 | { .mnemonic = MNE_enter, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 12, .str2 = 0, .off2_1 = 19, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
217 | { .mnemonic = MNE_fnop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
218 | { .mnemonic = MNE_fchs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
219 | { .mnemonic = MNE_fabs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
220 | { .mnemonic = MNE_ftst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
221 | { .mnemonic = MNE_fxam, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
222 | { .mnemonic = MNE_fld1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
223 | { .mnemonic = MNE_fldl2t, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
224 | { .mnemonic = MNE_fldl2e, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
225 | { .mnemonic = MNE_fldpi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
226 | { .mnemonic = MNE_fldlg2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
227 | { .mnemonic = MNE_fldln2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
228 | { .mnemonic = MNE_fldz, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
229 | { .mnemonic = MNE_f2xm1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
230 | { .mnemonic = MNE_fyl2x, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
231 | { .mnemonic = MNE_fptan, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
232 | { .mnemonic = MNE_fpatan, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
233 | { .mnemonic = MNE_fxtract, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
234 | { .mnemonic = MNE_fprem1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
235 | { .mnemonic = MNE_fdecstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
236 | { .mnemonic = MNE_fincstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
237 | { .mnemonic = MNE_fprem, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
238 | { .mnemonic = MNE_fyl2xp1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
239 | { .mnemonic = MNE_fsqrt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
240 | { .mnemonic = MNE_fsincos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
241 | { .mnemonic = MNE_frndint, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
242 | { .mnemonic = MNE_fscale, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
243 | { .mnemonic = MNE_fsin, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
244 | { .mnemonic = MNE_fcos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
245 | { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
246 | { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
247 | { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
248 | { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
249 | { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
250 | { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
251 | { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
252 | { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
253 | { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
254 | { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
255 | { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
256 | { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
257 | { .mnemonic = MNE_fst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
258 | { .mnemonic = MNE_fst, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
259 | { .mnemonic = MNE_fstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
260 | { .mnemonic = MNE_fstp, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
261 | { .mnemonic = MNE_fldenv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
262 | { .mnemonic = MNE_fldcw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
263 | { .mnemonic = MNE_fnstenv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
264 | { .mnemonic = MNE_fnstcw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
265 | { .mnemonic = MNE_fxch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
266 | { .mnemonic = MNE_faddp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
267 | { .mnemonic = MNE_fcmovb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
268 | { .mnemonic = MNE_fiadd, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
269 | { .mnemonic = MNE_fcmove, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
270 | { .mnemonic = MNE_fmulp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
271 | { .mnemonic = MNE_fimul, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
272 | { .mnemonic = MNE_fsubp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
273 | { .mnemonic = MNE_fisub, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
274 | { .mnemonic = MNE_fsubrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
275 | { .mnemonic = MNE_fisubr, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
276 | { .mnemonic = MNE_fnstsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 1, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
277 | { .mnemonic = MNE_fbld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
278 | { .mnemonic = MNE_fcomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
279 | { .mnemonic = MNE_fbstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
280 | { .mnemonic = MNE_fchs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
281 | { .mnemonic = MNE_fclex, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
282 | { .mnemonic = MNE_finit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
283 | { .mnemonic = MNE_fwait, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
284 | { .mnemonic = MNE_fnclex, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
285 | { .mnemonic = MNE_fcmovb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
286 | { .mnemonic = MNE_fcmove, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
287 | { .mnemonic = MNE_fcmovbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
288 | { .mnemonic = MNE_fcmovu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
289 | { .mnemonic = MNE_fcmovnb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
290 | { .mnemonic = MNE_fcmovne, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
291 | { .mnemonic = MNE_fcmovnbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
292 | { .mnemonic = MNE_fcmovnu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
293 | { .mnemonic = MNE_fcom, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
294 | { .mnemonic = MNE_fcom, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
295 | { .mnemonic = MNE_fcomp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
296 | { .mnemonic = MNE_fcomp, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
297 | { .mnemonic = MNE_fcompp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
298 | { .mnemonic = MNE_fcomi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
299 | { .mnemonic = MNE_fcomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
300 | { .mnemonic = MNE_fucomi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
301 | { .mnemonic = MNE_fucomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
302 | { .mnemonic = MNE_fcos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
303 | { .mnemonic = MNE_fdecstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
304 | { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
305 | { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
306 | { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
307 | { .mnemonic = MNE_fidivl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
308 | { .mnemonic = MNE_fdivp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
309 | { .mnemonic = MNE_fidiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
310 | { .mnemonic = MNE_fdivrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
311 | { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
312 | { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
313 | { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
314 | { .mnemonic = MNE_fidivrl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
315 | { .mnemonic = MNE_fidivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
316 | { .mnemonic = MNE_fdivrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
317 | { .mnemonic = MNE_ffree, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
318 | { .mnemonic = MNE_fcmovbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
319 | { .mnemonic = MNE_ficom, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
320 | { .mnemonic = MNE_fcmovu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
321 | { .mnemonic = MNE_ficomp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
322 | { .mnemonic = MNE_fild, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
323 | { .mnemonic = MNE_fildl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
324 | { .mnemonic = MNE_fildll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
325 | { .mnemonic = MNE_fincstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
326 | { .mnemonic = MNE_fninit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
327 | { .mnemonic = MNE_fist, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
328 | { .mnemonic = MNE_fistp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
329 | { .mnemonic = MNE_fistpll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
330 | { .mnemonic = MNE_fisttp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
331 | { .mnemonic = MNE_fisttpll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
332 | { .mnemonic = MNE_fldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
333 | { .mnemonic = MNE_fstpt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
334 | { .mnemonic = MNE_fld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
335 | { .mnemonic = MNE_fld, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
336 | { .mnemonic = MNE_fucom, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
337 | { .mnemonic = MNE_frstor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
338 | { .mnemonic = MNE_fucomp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
339 | { .mnemonic = MNE_fnsave, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
340 | { .mnemonic = MNE_fnstsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
341 | { .mnemonic = MNE_hlt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
342 | { .mnemonic = MNE_idiv, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
343 | { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
344 | { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
345 | { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 14, .str1 = 0, .off1_1 = 13, .off1_2 = 2, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
346 | { .mnemonic = MNE_in, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
347 | { .mnemonic = MNE_in, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 11, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
348 | { .mnemonic = MNE_inc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
349 | { .mnemonic = MNE_inc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 25, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
350 | { .mnemonic = MNE_ins, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 11, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
351 | { .mnemonic = MNE_int, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
352 | { .mnemonic = MNE_int3, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
353 | { .mnemonic = MNE_into, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
354 | { .mnemonic = MNE_invd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
355 | { .mnemonic = MNE_swapgs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
356 | { .mnemonic = MNE_invlpg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
357 | { .mnemonic = MNE_iret, .rep = 0, .repe = 0, .suffix = 6, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
358 | { .mnemonic = MNE_j, .rep = 0, .repe = 0, .suffix = 4, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
359 | { .mnemonic = MNE_j, .rep = 0, .repe = 0, .suffix = 4, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
360 | { .mnemonic = MNE_set, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
361 | { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
362 | { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
363 | { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
364 | { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 21, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
365 | { .mnemonic = MNE_ljmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 30, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 4, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
366 | { .mnemonic = MNE_ljmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 21, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
367 | { .mnemonic = MNE_lahf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
368 | { .mnemonic = MNE_lar, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
369 | { .mnemonic = MNE_lds, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
370 | { .mnemonic = MNE_lea, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
371 | { .mnemonic = MNE_leave, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
372 | { .mnemonic = MNE_les, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
373 | { .mnemonic = MNE_lfs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
374 | { .mnemonic = MNE_lgs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
375 | { .mnemonic = MNE_lgdt, .rep = 0, .repe = 0, .suffix = 2, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
376 | { .mnemonic = MNE_lidt, .rep = 0, .repe = 0, .suffix = 2, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
377 | { .mnemonic = MNE_lldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
378 | { .mnemonic = MNE_lmsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
379 | { .mnemonic = MNE_lock, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
380 | { .mnemonic = MNE_lods, .rep = 1, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
381 | { .mnemonic = MNE_loop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
382 | { .mnemonic = MNE_loope, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
383 | { .mnemonic = MNE_loopne, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
384 | { .mnemonic = MNE_lsl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
385 | { .mnemonic = MNE_lss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
386 | { .mnemonic = MNE_ltr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
387 | { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
388 | { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
389 | { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
390 | { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
391 | { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 3, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 35, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
392 | { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 37, .off1_2 = 3, .off1_3 = 0, .fct2 = 3, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
393 | { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 6, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
394 | { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 6, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
395 | { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 7, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
396 | { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 7, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
397 | { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
398 | { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 21, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
399 | { .mnemonic = MNE_movs, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
400 | { .mnemonic = MNE_movsbl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
401 | { .mnemonic = MNE_movswl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
402 | { .mnemonic = MNE_movzbl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
403 | { .mnemonic = MNE_movzwl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
404 | { .mnemonic = MNE_mul, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
405 | { .mnemonic = MNE_neg, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
406 | { .mnemonic = MNE_pause, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
407 | { .mnemonic = MNE_nop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
408 | { .mnemonic = MNE_popcnt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
409 | { .mnemonic = MNE_not, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
410 | { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
411 | { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
412 | { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
413 | { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
414 | { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
415 | { .mnemonic = MNE_out, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 12, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
416 | { .mnemonic = MNE_out, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 9, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
417 | { .mnemonic = MNE_outs, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 9, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
418 | { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
419 | { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
420 | { .mnemonic = MNE_popf, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
421 | { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
422 | { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 25, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
423 | { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 25, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
424 | { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 14, .str1 = 0, .off1_1 = 5, .off1_2 = 2, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
425 | { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 31, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
426 | { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
427 | { .mnemonic = MNE_pusha, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
428 | { .mnemonic = MNE_popa, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
429 | { .mnemonic = MNE_pushf, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
430 | { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
431 | { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
432 | { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
433 | { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
434 | { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
435 | { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
436 | { .mnemonic = MNE_rdmsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
437 | { .mnemonic = MNE_rdpmc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
438 | { .mnemonic = MNE_rdtsc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
439 | { .mnemonic = MNE_ret, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
440 | { .mnemonic = MNE_ret, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
441 | { .mnemonic = MNE_lret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
442 | { .mnemonic = MNE_lret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
443 | { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
444 | { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
445 | { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
446 | { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
447 | { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
448 | { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
449 | { .mnemonic = MNE_rsm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
450 | { .mnemonic = MNE_sahf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
451 | { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
452 | { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
453 | { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
454 | { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
455 | { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
456 | { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
457 | { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
458 | { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
459 | { .mnemonic = MNE_scas, .rep = 0, .repe = 1, .suffix = 0, .modrm = 0, .fct1 = 12, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
460 | { .mnemonic = MNE_set, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
461 | { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
462 | { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
463 | { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
464 | { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
465 | { .mnemonic = MNE_shld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, }, | ||
466 | { .mnemonic = MNE_shld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, }, | ||
467 | { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
468 | { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
469 | { .mnemonic = MNE_shrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, }, | ||
470 | { .mnemonic = MNE_shrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, }, | ||
471 | { .mnemonic = MNE_vmcall, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
472 | { .mnemonic = MNE_vmlaunch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
473 | { .mnemonic = MNE_vmresume, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
474 | { .mnemonic = MNE_vmxoff, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
475 | { .mnemonic = MNE_vmread, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 28, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 14, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
476 | { .mnemonic = MNE_vmwrite, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
477 | { .mnemonic = MNE_sgdtl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
478 | { .mnemonic = MNE_monitor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 3, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 1, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 4, .str3 = 1, .off3_1 = 0, .off3_2 = 0, }, | ||
479 | { .mnemonic = MNE_mwait, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 3, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 1, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
480 | { .mnemonic = MNE_sidtl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
481 | { .mnemonic = MNE_sldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
482 | { .mnemonic = MNE_smsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
483 | { .mnemonic = MNE_stc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
484 | { .mnemonic = MNE_std, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
485 | { .mnemonic = MNE_sti, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
486 | { .mnemonic = MNE_stos, .rep = 1, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
487 | { .mnemonic = MNE_str, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
488 | { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
489 | { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
490 | { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
491 | { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
492 | { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
493 | { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
494 | { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
495 | { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
496 | { .mnemonic = MNE_ud2a, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
497 | { .mnemonic = MNE_verr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
498 | { .mnemonic = MNE_verw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
499 | { .mnemonic = MNE_wbinvd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
500 | { .mnemonic = MNE_prefetch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
501 | { .mnemonic = MNE_prefetchw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
502 | { .mnemonic = MNE_prefetchnta, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
503 | { .mnemonic = MNE_prefetcht0, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
504 | { .mnemonic = MNE_prefetcht1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
505 | { .mnemonic = MNE_prefetcht2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
506 | { .mnemonic = MNE_nop, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
507 | { .mnemonic = MNE_wrmsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
508 | { .mnemonic = MNE_xadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 11, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 8, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
509 | { .mnemonic = MNE_xchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
510 | { .mnemonic = MNE_xchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 4, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
511 | { .mnemonic = MNE_xlat, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 9, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
512 | { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
513 | { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
514 | { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
515 | { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
516 | { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
517 | { .mnemonic = MNE_emms, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
518 | { .mnemonic = MNE_pand, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
519 | { .mnemonic = MNE_pand, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
520 | { .mnemonic = MNE_pandn, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
521 | { .mnemonic = MNE_pandn, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
522 | { .mnemonic = MNE_pmaddwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
523 | { .mnemonic = MNE_pmaddwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
524 | { .mnemonic = MNE_por, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
525 | { .mnemonic = MNE_por, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
526 | { .mnemonic = MNE_pxor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
527 | { .mnemonic = MNE_pxor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
528 | { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
529 | { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
530 | { .mnemonic = MNE_cmpeqps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
531 | { .mnemonic = MNE_cmpltps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
532 | { .mnemonic = MNE_cmpleps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
533 | { .mnemonic = MNE_cmpunordps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
534 | { .mnemonic = MNE_cmpneqps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
535 | { .mnemonic = MNE_cmpnltps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
536 | { .mnemonic = MNE_cmpnleps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
537 | { .mnemonic = MNE_cmpordps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
538 | { .mnemonic = MNE_cmpeqss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
539 | { .mnemonic = MNE_cmpltss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
540 | { .mnemonic = MNE_cmpless, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
541 | { .mnemonic = MNE_cmpunordss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
542 | { .mnemonic = MNE_cmpneqss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
543 | { .mnemonic = MNE_cmpnltss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
544 | { .mnemonic = MNE_cmpnless, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
545 | { .mnemonic = MNE_cmpordss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
546 | { .mnemonic = MNE_fxrstor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
547 | { .mnemonic = MNE_fxsave, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
548 | { .mnemonic = MNE_ldmxcsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
549 | { .mnemonic = MNE_stmxcsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
550 | { .mnemonic = MNE_movsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
551 | { .mnemonic = MNE_movss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
552 | { .mnemonic = MNE_movupd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
553 | { .mnemonic = MNE_movups, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
554 | { .mnemonic = MNE_movsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
555 | { .mnemonic = MNE_movss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
556 | { .mnemonic = MNE_movupd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
557 | { .mnemonic = MNE_movups, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
558 | { .mnemonic = MNE_movddup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
559 | { .mnemonic = MNE_movsldup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
560 | { .mnemonic = MNE_movlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
561 | { .mnemonic = MNE_movhlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
562 | { .mnemonic = MNE_movlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
563 | { .mnemonic = MNE_movhlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
564 | { .mnemonic = MNE_movhlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
565 | { .mnemonic = MNE_movlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
566 | { .mnemonic = MNE_movlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
567 | { .mnemonic = MNE_unpcklpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
568 | { .mnemonic = MNE_unpcklps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
569 | { .mnemonic = MNE_unpckhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
570 | { .mnemonic = MNE_unpckhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
571 | { .mnemonic = MNE_movshdup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
572 | { .mnemonic = MNE_movhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
573 | { .mnemonic = MNE_movlhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
574 | { .mnemonic = MNE_movhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
575 | { .mnemonic = MNE_movlhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
576 | { .mnemonic = MNE_movlhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
577 | { .mnemonic = MNE_movhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
578 | { .mnemonic = MNE_movhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
579 | { .mnemonic = MNE_movapd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
580 | { .mnemonic = MNE_movaps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
581 | { .mnemonic = MNE_movapd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
582 | { .mnemonic = MNE_movaps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
583 | { .mnemonic = MNE_cvtsi2sd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
584 | { .mnemonic = MNE_cvtsi2ss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
585 | { .mnemonic = MNE_cvtpi2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
586 | { .mnemonic = MNE_cvtpi2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
587 | { .mnemonic = MNE_movntpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
588 | { .mnemonic = MNE_movntps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
589 | { .mnemonic = MNE_cvttsd2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
590 | { .mnemonic = MNE_cvttss2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
591 | { .mnemonic = MNE_cvttpd2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
592 | { .mnemonic = MNE_cvttps2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
593 | { .mnemonic = MNE_cvtpd2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
594 | { .mnemonic = MNE_cvtsd2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
595 | { .mnemonic = MNE_cvtss2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
596 | { .mnemonic = MNE_cvtps2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
597 | { .mnemonic = MNE_ucomisd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
598 | { .mnemonic = MNE_ucomiss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
599 | { .mnemonic = MNE_comisd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
600 | { .mnemonic = MNE_comiss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
601 | { .mnemonic = MNE_getsec, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
602 | { .mnemonic = MNE_movmskpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
603 | { .mnemonic = MNE_movmskps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
604 | { .mnemonic = MNE_sqrtpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
605 | { .mnemonic = MNE_sqrtsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
606 | { .mnemonic = MNE_sqrtss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
607 | { .mnemonic = MNE_sqrtps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
608 | { .mnemonic = MNE_rsqrtss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
609 | { .mnemonic = MNE_rsqrtps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
610 | { .mnemonic = MNE_rcpss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
611 | { .mnemonic = MNE_rcpps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
612 | { .mnemonic = MNE_andpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
613 | { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
614 | { .mnemonic = MNE_andnpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
615 | { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
616 | { .mnemonic = MNE_orpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
617 | { .mnemonic = MNE_orps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
618 | { .mnemonic = MNE_xorpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
619 | { .mnemonic = MNE_xorps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
620 | { .mnemonic = MNE_addsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
621 | { .mnemonic = MNE_addss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
622 | { .mnemonic = MNE_addpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
623 | { .mnemonic = MNE_addps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
624 | { .mnemonic = MNE_mulsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
625 | { .mnemonic = MNE_mulss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
626 | { .mnemonic = MNE_mulpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
627 | { .mnemonic = MNE_mulps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
628 | { .mnemonic = MNE_cvtsd2ss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
629 | { .mnemonic = MNE_cvtss2sd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
630 | { .mnemonic = MNE_cvtpd2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
631 | { .mnemonic = MNE_cvtps2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
632 | { .mnemonic = MNE_cvtps2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
633 | { .mnemonic = MNE_cvttps2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
634 | { .mnemonic = MNE_cvtdq2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
635 | { .mnemonic = MNE_subsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
636 | { .mnemonic = MNE_subss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
637 | { .mnemonic = MNE_subpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
638 | { .mnemonic = MNE_subps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
639 | { .mnemonic = MNE_minsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
640 | { .mnemonic = MNE_minss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
641 | { .mnemonic = MNE_minpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
642 | { .mnemonic = MNE_minps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
643 | { .mnemonic = MNE_divsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
644 | { .mnemonic = MNE_divss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
645 | { .mnemonic = MNE_divpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
646 | { .mnemonic = MNE_divps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
647 | { .mnemonic = MNE_maxsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
648 | { .mnemonic = MNE_maxss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
649 | { .mnemonic = MNE_maxpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
650 | { .mnemonic = MNE_maxps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
651 | { .mnemonic = MNE_punpcklbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
652 | { .mnemonic = MNE_punpcklbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
653 | { .mnemonic = MNE_punpcklwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
654 | { .mnemonic = MNE_punpcklwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
655 | { .mnemonic = MNE_punpckldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
656 | { .mnemonic = MNE_punpckldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
657 | { .mnemonic = MNE_packsswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
658 | { .mnemonic = MNE_packsswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
659 | { .mnemonic = MNE_pcmpgtb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
660 | { .mnemonic = MNE_pcmpgtb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
661 | { .mnemonic = MNE_pcmpgtw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
662 | { .mnemonic = MNE_pcmpgtw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
663 | { .mnemonic = MNE_pcmpgtd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
664 | { .mnemonic = MNE_pcmpgtd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
665 | { .mnemonic = MNE_packuswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
666 | { .mnemonic = MNE_packuswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
667 | { .mnemonic = MNE_punpckhbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
668 | { .mnemonic = MNE_punpckhbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
669 | { .mnemonic = MNE_punpckhwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
670 | { .mnemonic = MNE_punpckhwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
671 | { .mnemonic = MNE_punpckhdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
672 | { .mnemonic = MNE_punpckhdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
673 | { .mnemonic = MNE_packssdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
674 | { .mnemonic = MNE_packssdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
675 | { .mnemonic = MNE_punpcklqdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
676 | { .mnemonic = MNE_punpckhqdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
677 | { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
678 | { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
679 | { .mnemonic = MNE_movdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
680 | { .mnemonic = MNE_movdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
681 | { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
682 | { .mnemonic = MNE_pshufd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, }, | ||
683 | { .mnemonic = MNE_pshuflw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, }, | ||
684 | { .mnemonic = MNE_pshufhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, }, | ||
685 | { .mnemonic = MNE_pshufw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 8, .off3_2 = 0, }, | ||
686 | { .mnemonic = MNE_pcmpeqb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
687 | { .mnemonic = MNE_pcmpeqb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
688 | { .mnemonic = MNE_pcmpeqw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
689 | { .mnemonic = MNE_pcmpeqw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
690 | { .mnemonic = MNE_pcmpeqd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
691 | { .mnemonic = MNE_pcmpeqd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
692 | { .mnemonic = MNE_haddpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
693 | { .mnemonic = MNE_haddps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
694 | { .mnemonic = MNE_hsubpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
695 | { .mnemonic = MNE_hsubps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
696 | { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
697 | { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
698 | { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
699 | { .mnemonic = MNE_movdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
700 | { .mnemonic = MNE_movdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
701 | { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
702 | { .mnemonic = MNE_movnti, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
703 | { .mnemonic = MNE_pinsrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, }, | ||
704 | { .mnemonic = MNE_pinsrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 8, .off3_2 = 0, }, | ||
705 | { .mnemonic = MNE_pextrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 16, .off3_2 = 0, }, | ||
706 | { .mnemonic = MNE_pextrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 8, .off3_2 = 0, }, | ||
707 | { .mnemonic = MNE_shufpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, }, | ||
708 | { .mnemonic = MNE_shufps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 8, .off3_2 = 0, }, | ||
709 | { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
710 | { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
711 | { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
712 | { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
713 | { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
714 | { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
715 | { .mnemonic = MNE_paddq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
716 | { .mnemonic = MNE_paddq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
717 | { .mnemonic = MNE_pmullw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
718 | { .mnemonic = MNE_pmullw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
719 | { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
720 | { .mnemonic = MNE_movdq2q, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
721 | { .mnemonic = MNE_movq2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 19, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
722 | { .mnemonic = MNE_pmovmskb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
723 | { .mnemonic = MNE_pmovmskb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 19, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
724 | { .mnemonic = MNE_psubusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
725 | { .mnemonic = MNE_psubusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
726 | { .mnemonic = MNE_psubusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
727 | { .mnemonic = MNE_psubusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
728 | { .mnemonic = MNE_pminub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
729 | { .mnemonic = MNE_pminub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
730 | { .mnemonic = MNE_paddusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
731 | { .mnemonic = MNE_paddusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
732 | { .mnemonic = MNE_paddusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
733 | { .mnemonic = MNE_paddusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
734 | { .mnemonic = MNE_pmaxub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
735 | { .mnemonic = MNE_pmaxub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
736 | { .mnemonic = MNE_pavgb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
737 | { .mnemonic = MNE_pavgb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
738 | { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
739 | { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
740 | { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
741 | { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
742 | { .mnemonic = MNE_pavgw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
743 | { .mnemonic = MNE_pavgw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
744 | { .mnemonic = MNE_pmulhuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
745 | { .mnemonic = MNE_pmulhuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
746 | { .mnemonic = MNE_pmulhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
747 | { .mnemonic = MNE_pmulhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
748 | { .mnemonic = MNE_movntdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
749 | { .mnemonic = MNE_movntq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
750 | { .mnemonic = MNE_psubsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
751 | { .mnemonic = MNE_psubsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
752 | { .mnemonic = MNE_psubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
753 | { .mnemonic = MNE_psubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
754 | { .mnemonic = MNE_pminsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
755 | { .mnemonic = MNE_pminsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
756 | { .mnemonic = MNE_paddsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
757 | { .mnemonic = MNE_paddsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
758 | { .mnemonic = MNE_paddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
759 | { .mnemonic = MNE_paddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
760 | { .mnemonic = MNE_pmaxsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
761 | { .mnemonic = MNE_pmaxsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
762 | { .mnemonic = MNE_lddqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
763 | { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
764 | { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
765 | { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
766 | { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
767 | { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
768 | { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
769 | { .mnemonic = MNE_pmuludq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
770 | { .mnemonic = MNE_pmuludq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
771 | { .mnemonic = MNE_psadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
772 | { .mnemonic = MNE_psadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
773 | { .mnemonic = MNE_maskmovdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
774 | { .mnemonic = MNE_maskmovq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 19, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
775 | { .mnemonic = MNE_psubb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
776 | { .mnemonic = MNE_psubb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
777 | { .mnemonic = MNE_psubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
778 | { .mnemonic = MNE_psubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
779 | { .mnemonic = MNE_psubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
780 | { .mnemonic = MNE_psubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
781 | { .mnemonic = MNE_psubq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
782 | { .mnemonic = MNE_psubq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
783 | { .mnemonic = MNE_paddb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
784 | { .mnemonic = MNE_paddb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
785 | { .mnemonic = MNE_paddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
786 | { .mnemonic = MNE_paddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
787 | { .mnemonic = MNE_paddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
788 | { .mnemonic = MNE_paddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
789 | { .mnemonic = MNE_pshufb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
790 | { .mnemonic = MNE_pshufb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
791 | { .mnemonic = MNE_phaddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
792 | { .mnemonic = MNE_phaddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
793 | { .mnemonic = MNE_phaddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
794 | { .mnemonic = MNE_phaddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
795 | { .mnemonic = MNE_phaddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
796 | { .mnemonic = MNE_phaddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
797 | { .mnemonic = MNE_pmaddubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
798 | { .mnemonic = MNE_pmaddubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
799 | { .mnemonic = MNE_phsubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
800 | { .mnemonic = MNE_phsubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
801 | { .mnemonic = MNE_phsubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
802 | { .mnemonic = MNE_phsubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
803 | { .mnemonic = MNE_phsubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
804 | { .mnemonic = MNE_phsubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
805 | { .mnemonic = MNE_psignb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
806 | { .mnemonic = MNE_psignb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
807 | { .mnemonic = MNE_psignw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
808 | { .mnemonic = MNE_psignw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
809 | { .mnemonic = MNE_psignd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
810 | { .mnemonic = MNE_psignd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
811 | { .mnemonic = MNE_pmulhrsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
812 | { .mnemonic = MNE_pmulhrsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
813 | { .mnemonic = MNE_pabsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
814 | { .mnemonic = MNE_pabsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
815 | { .mnemonic = MNE_pabsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
816 | { .mnemonic = MNE_pabsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
817 | { .mnemonic = MNE_pabsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
818 | { .mnemonic = MNE_pabsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
819 | { .mnemonic = MNE_palignr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
820 | { .mnemonic = MNE_palignr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 16, .off3_2 = 0, }, | ||
821 | { .mnemonic = MNE_vmclear, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
822 | { .mnemonic = MNE_vmxon, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
823 | { .mnemonic = MNE_vmptrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
824 | { .mnemonic = MNE_vmptrst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
825 | { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
826 | { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
827 | { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
828 | { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
829 | { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
830 | { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
831 | { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
832 | { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
833 | { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
834 | { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
835 | { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
836 | { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
837 | { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
838 | { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
839 | { .mnemonic = MNE_psrldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
840 | { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
841 | { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
842 | { .mnemonic = MNE_pslldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
843 | { .mnemonic = MNE_lfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
844 | { .mnemonic = MNE_mfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
845 | { .mnemonic = MNE_sfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
846 | { .mnemonic = MNE_clflush, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
847 | { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
848 | { .mnemonic = MNE_blendps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
849 | { .mnemonic = MNE_blendpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
850 | { .mnemonic = MNE_blendvps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
851 | { .mnemonic = MNE_blendvpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
852 | { .mnemonic = MNE_dpps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
853 | { .mnemonic = MNE_dppd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
854 | { .mnemonic = MNE_insertps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
855 | { .mnemonic = MNE_movntdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
856 | { .mnemonic = MNE_mpsadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
857 | { .mnemonic = MNE_packusdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
858 | { .mnemonic = MNE_pblendvb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
859 | { .mnemonic = MNE_pblendw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
860 | { .mnemonic = MNE_pcmpeqq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
861 | { .mnemonic = MNE_pcmpestri, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
862 | { .mnemonic = MNE_pcmpestrm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
863 | { .mnemonic = MNE_pcmpistri, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
864 | { .mnemonic = MNE_pcmpistrm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
865 | { .mnemonic = MNE_pcmpgtq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
866 | { .mnemonic = MNE_phminposuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
867 | { .mnemonic = MNE_pinsrb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
868 | { .mnemonic = MNE_pinsrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
869 | { .mnemonic = MNE_pmaxsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
870 | { .mnemonic = MNE_pmaxsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
871 | { .mnemonic = MNE_pmaxud, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
872 | { .mnemonic = MNE_pmaxuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
873 | { .mnemonic = MNE_pminsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
874 | { .mnemonic = MNE_pminsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
875 | { .mnemonic = MNE_pminud, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
876 | { .mnemonic = MNE_pminuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
877 | { .mnemonic = MNE_pmovsxbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
878 | { .mnemonic = MNE_pmovsxbd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
879 | { .mnemonic = MNE_pmovsxbq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
880 | { .mnemonic = MNE_pmovsxwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
881 | { .mnemonic = MNE_pmovsxwq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
882 | { .mnemonic = MNE_pmovsxdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
883 | { .mnemonic = MNE_pmovzxbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
884 | { .mnemonic = MNE_pmovzxbd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
885 | { .mnemonic = MNE_pmovzxbq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
886 | { .mnemonic = MNE_pmovzxwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
887 | { .mnemonic = MNE_pmovzxwq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
888 | { .mnemonic = MNE_pmovzxdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
889 | { .mnemonic = MNE_pmuldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
890 | { .mnemonic = MNE_pmulld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
891 | { .mnemonic = MNE_ptest, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
892 | { .mnemonic = MNE_roundps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
893 | { .mnemonic = MNE_roundpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
894 | { .mnemonic = MNE_roundss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
895 | { .mnemonic = MNE_roundsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
896 | { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 31, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
897 | }; | ||
898 | static const uint8_t match_data[] = | ||
899 | { | ||
900 | 0x11, 0x37, | ||
901 | 0x22, 0xd5, 0xa, | ||
902 | 0x22, 0xd4, 0xa, | ||
903 | 0x11, 0x3f, | ||
904 | 0x1, 0xfe, 0x14, | ||
905 | 0x2, 0xfe, 0x80, 0x38, 0x10, | ||
906 | 0x2, 0xfe, 0x82, 0x38, 0x10, | ||
907 | 0x2, 0xfe, 0x10, 0, 0, | ||
908 | 0x2, 0xfe, 0x12, 0, 0, | ||
909 | 0x1, 0xfe, 0x4, | ||
910 | 0x2, 0xfe, 0x80, 0x38, 0, | ||
911 | 0x12, 0x83, 0x38, 0, | ||
912 | 0x2, 0xfe, 0, 0, 0, | ||
913 | 0x2, 0xfe, 0x2, 0, 0, | ||
914 | 0x34, 0x66, 0xf, 0xd0, 0, 0, | ||
915 | 0x34, 0xf2, 0xf, 0xd0, 0, 0, | ||
916 | 0x1, 0xfe, 0x24, | ||
917 | 0x2, 0xfe, 0x80, 0x38, 0x20, | ||
918 | 0x2, 0xfe, 0x82, 0x38, 0x20, | ||
919 | 0x2, 0xfe, 0x20, 0, 0, | ||
920 | 0x2, 0xfe, 0x22, 0, 0, | ||
921 | 0x34, 0x66, 0xf, 0x54, 0, 0, | ||
922 | 0x23, 0xf, 0x54, 0, 0, | ||
923 | 0x34, 0x66, 0xf, 0x55, 0, 0, | ||
924 | 0x23, 0xf, 0x55, 0, 0, | ||
925 | 0x12, 0x63, 0, 0, | ||
926 | 0x12, 0x62, 0, 0, | ||
927 | 0x23, 0xf, 0xbc, 0, 0, | ||
928 | 0x23, 0xf, 0xbd, 0, 0, | ||
929 | 0x12, 0xf, 0xf8, 0xc8, | ||
930 | 0x23, 0xf, 0xa3, 0, 0, | ||
931 | 0x23, 0xf, 0xba, 0x38, 0x20, | ||
932 | 0x23, 0xf, 0xbb, 0, 0, | ||
933 | 0x23, 0xf, 0xba, 0x38, 0x38, | ||
934 | 0x23, 0xf, 0xb3, 0, 0, | ||
935 | 0x23, 0xf, 0xba, 0x38, 0x30, | ||
936 | 0x23, 0xf, 0xab, 0, 0, | ||
937 | 0x23, 0xf, 0xba, 0x38, 0x28, | ||
938 | 0x11, 0xe8, | ||
939 | 0x12, 0xff, 0x38, 0x10, | ||
940 | 0x11, 0x9a, | ||
941 | 0x12, 0xff, 0x38, 0x18, | ||
942 | 0x11, 0x98, | ||
943 | 0x11, 0x99, | ||
944 | 0x11, 0xf8, | ||
945 | 0x11, 0xfc, | ||
946 | 0x11, 0xfa, | ||
947 | 0x22, 0xf, 0x5, | ||
948 | 0x22, 0xf, 0x6, | ||
949 | 0x22, 0xf, 0x7, | ||
950 | 0x22, 0xf, 0x34, | ||
951 | 0x22, 0xf, 0x35, | ||
952 | 0x11, 0xf5, | ||
953 | 0x13, 0xf, 0xf0, 0x40, 0, 0, | ||
954 | 0x1, 0xfe, 0x3c, | ||
955 | 0x2, 0xfe, 0x80, 0x38, 0x38, | ||
956 | 0x12, 0x83, 0x38, 0x38, | ||
957 | 0x2, 0xfe, 0x38, 0, 0, | ||
958 | 0x2, 0xfe, 0x3a, 0, 0, | ||
959 | 0x34, 0xf2, 0xf, 0xc2, 0, 0, | ||
960 | 0x34, 0xf3, 0xf, 0xc2, 0, 0, | ||
961 | 0x34, 0x66, 0xf, 0xc2, 0, 0, | ||
962 | 0x23, 0xf, 0xc2, 0, 0, | ||
963 | 0x1, 0xfe, 0xa6, | ||
964 | 0x13, 0xf, 0xfe, 0xb0, 0, 0, | ||
965 | 0x23, 0xf, 0xc7, 0x38, 0x8, | ||
966 | 0x22, 0xf, 0xa2, | ||
967 | 0x34, 0xf3, 0xf, 0xe6, 0, 0, | ||
968 | 0x34, 0xf2, 0xf, 0xe6, 0, 0, | ||
969 | 0x34, 0x66, 0xf, 0xe6, 0, 0, | ||
970 | 0x11, 0x27, | ||
971 | 0x11, 0x2f, | ||
972 | 0x2, 0xfe, 0xfe, 0x38, 0x8, | ||
973 | 0x1, 0xf8, 0x48, | ||
974 | 0x2, 0xfe, 0xf6, 0x38, 0x30, | ||
975 | 0x22, 0xf, 0x77, | ||
976 | 0x11, 0xc8, | ||
977 | 0x22, 0xd9, 0xd0, | ||
978 | 0x22, 0xd9, 0xe0, | ||
979 | 0x22, 0xd9, 0xe1, | ||
980 | 0x22, 0xd9, 0xe4, | ||
981 | 0x22, 0xd9, 0xe5, | ||
982 | 0x22, 0xd9, 0xe8, | ||
983 | 0x22, 0xd9, 0xe9, | ||
984 | 0x22, 0xd9, 0xea, | ||
985 | 0x22, 0xd9, 0xeb, | ||
986 | 0x22, 0xd9, 0xec, | ||
987 | 0x22, 0xd9, 0xed, | ||
988 | 0x22, 0xd9, 0xee, | ||
989 | 0x22, 0xd9, 0xf0, | ||
990 | 0x22, 0xd9, 0xf1, | ||
991 | 0x22, 0xd9, 0xf2, | ||
992 | 0x22, 0xd9, 0xf3, | ||
993 | 0x22, 0xd9, 0xf4, | ||
994 | 0x22, 0xd9, 0xf5, | ||
995 | 0x22, 0xd9, 0xf6, | ||
996 | 0x22, 0xd9, 0xf7, | ||
997 | 0x22, 0xd9, 0xf8, | ||
998 | 0x22, 0xd9, 0xf9, | ||
999 | 0x22, 0xd9, 0xfa, | ||
1000 | 0x22, 0xd9, 0xfb, | ||
1001 | 0x22, 0xd9, 0xfc, | ||
1002 | 0x22, 0xd9, 0xfd, | ||
1003 | 0x22, 0xd9, 0xfe, | ||
1004 | 0x22, 0xd9, 0xff, | ||
1005 | 0x12, 0xd8, 0xf8, 0xc0, | ||
1006 | 0x12, 0xdc, 0xf8, 0xc0, | ||
1007 | 0x2, 0xfb, 0xd8, 0x38, 0, | ||
1008 | 0x12, 0xd8, 0xf8, 0xc8, | ||
1009 | 0x12, 0xdc, 0xf8, 0xc8, | ||
1010 | 0x2, 0xfb, 0xd8, 0x38, 0x8, | ||
1011 | 0x12, 0xd8, 0xf8, 0xe0, | ||
1012 | 0x12, 0xdc, 0xf8, 0xe0, | ||
1013 | 0x2, 0xfb, 0xd8, 0x38, 0x20, | ||
1014 | 0x12, 0xd8, 0xf8, 0xe8, | ||
1015 | 0x12, 0xdc, 0xf8, 0xe8, | ||
1016 | 0x2, 0xfb, 0xd8, 0x38, 0x28, | ||
1017 | 0x12, 0xdd, 0xf8, 0xd0, | ||
1018 | 0x2, 0xfb, 0xd9, 0x38, 0x10, | ||
1019 | 0x12, 0xdd, 0xf8, 0xd8, | ||
1020 | 0x2, 0xfb, 0xd9, 0x38, 0x18, | ||
1021 | 0x12, 0xd9, 0x38, 0x20, | ||
1022 | 0x12, 0xd9, 0x38, 0x28, | ||
1023 | 0x12, 0xd9, 0x38, 0x30, | ||
1024 | 0x12, 0xd9, 0x38, 0x38, | ||
1025 | 0x12, 0xd9, 0xf8, 0xc8, | ||
1026 | 0x12, 0xde, 0xf8, 0xc0, | ||
1027 | 0x12, 0xda, 0xf8, 0xc0, | ||
1028 | 0x2, 0xfb, 0xda, 0x38, 0, | ||
1029 | 0x12, 0xda, 0xf8, 0xc8, | ||
1030 | 0x12, 0xde, 0xf8, 0xc8, | ||
1031 | 0x2, 0xfb, 0xda, 0x38, 0x8, | ||
1032 | 0x12, 0xde, 0xf8, 0xe0, | ||
1033 | 0x2, 0xfb, 0xda, 0x38, 0x20, | ||
1034 | 0x12, 0xde, 0xf8, 0xe8, | ||
1035 | 0x2, 0xfb, 0xda, 0x38, 0x28, | ||
1036 | 0x22, 0xdf, 0xe0, | ||
1037 | 0x12, 0xdf, 0x38, 0x20, | ||
1038 | 0x12, 0xdf, 0xf8, 0xf0, | ||
1039 | 0x12, 0xdf, 0x38, 0x30, | ||
1040 | 0x22, 0xd9, 0xe0, | ||
1041 | 0x33, 0x9b, 0xdb, 0xe2, | ||
1042 | 0x33, 0x9b, 0xdb, 0xe3, | ||
1043 | 0x11, 0x9b, | ||
1044 | 0x22, 0xdb, 0xe2, | ||
1045 | 0x12, 0xda, 0xf8, 0xc0, | ||
1046 | 0x12, 0xda, 0xf8, 0xc8, | ||
1047 | 0x12, 0xda, 0xf8, 0xd0, | ||
1048 | 0x12, 0xda, 0xf8, 0xd8, | ||
1049 | 0x12, 0xdb, 0xf8, 0xc0, | ||
1050 | 0x12, 0xdb, 0xf8, 0xc8, | ||
1051 | 0x12, 0xdb, 0xf8, 0xd0, | ||
1052 | 0x12, 0xdb, 0xf8, 0xd8, | ||
1053 | 0x12, 0xd8, 0xf8, 0xd0, | ||
1054 | 0x2, 0xfb, 0xd8, 0x38, 0x10, | ||
1055 | 0x12, 0xd8, 0xf8, 0xd8, | ||
1056 | 0x2, 0xfb, 0xd8, 0x38, 0x18, | ||
1057 | 0x22, 0xde, 0xd9, | ||
1058 | 0x12, 0xdb, 0xf8, 0xf0, | ||
1059 | 0x12, 0xdf, 0xf8, 0xf0, | ||
1060 | 0x12, 0xdb, 0xf8, 0xe8, | ||
1061 | 0x12, 0xdf, 0xf8, 0xe8, | ||
1062 | 0x22, 0xd9, 0xff, | ||
1063 | 0x22, 0xd9, 0xf6, | ||
1064 | 0x12, 0xd8, 0xf8, 0xf0, | ||
1065 | 0x12, 0xdc, 0xf8, 0xf0, | ||
1066 | 0x2, 0xfb, 0xd8, 0x38, 0x30, | ||
1067 | 0x12, 0xda, 0x38, 0x30, | ||
1068 | 0x12, 0xde, 0xf8, 0xf0, | ||
1069 | 0x12, 0xde, 0x38, 0x30, | ||
1070 | 0x12, 0xde, 0xf8, 0xf8, | ||
1071 | 0x12, 0xd8, 0xf8, 0xf8, | ||
1072 | 0x12, 0xdc, 0xf8, 0xf8, | ||
1073 | 0x2, 0xfb, 0xd8, 0x38, 0x38, | ||
1074 | 0x12, 0xda, 0x38, 0x38, | ||
1075 | 0x12, 0xde, 0x38, 0x38, | ||
1076 | 0x12, 0xde, 0xf8, 0xf0, | ||
1077 | 0x12, 0xdd, 0xf8, 0xc0, | ||
1078 | 0x12, 0xda, 0xf8, 0xd0, | ||
1079 | 0x2, 0xfb, 0xda, 0x38, 0x10, | ||
1080 | 0x12, 0xda, 0xf8, 0xd8, | ||
1081 | 0x2, 0xfb, 0xda, 0x38, 0x18, | ||
1082 | 0x12, 0xdf, 0x38, 0, | ||
1083 | 0x12, 0xdb, 0x38, 0, | ||
1084 | 0x12, 0xdf, 0x38, 0x28, | ||
1085 | 0x22, 0xd9, 0xf7, | ||
1086 | 0x22, 0xdb, 0xe3, | ||
1087 | 0x2, 0xfb, 0xdb, 0x38, 0x10, | ||
1088 | 0x2, 0xfb, 0xdb, 0x38, 0x18, | ||
1089 | 0x12, 0xdf, 0x38, 0x38, | ||
1090 | 0x2, 0xfb, 0xdb, 0x38, 0x8, | ||
1091 | 0x12, 0xdd, 0x38, 0x8, | ||
1092 | 0x12, 0xdb, 0x38, 0x28, | ||
1093 | 0x12, 0xdb, 0x38, 0x38, | ||
1094 | 0x12, 0xd9, 0xf8, 0xc0, | ||
1095 | 0x2, 0xfb, 0xd9, 0x38, 0, | ||
1096 | 0x12, 0xdd, 0xf8, 0xe0, | ||
1097 | 0x12, 0xdd, 0x38, 0x20, | ||
1098 | 0x12, 0xdd, 0xf8, 0xe8, | ||
1099 | 0x12, 0xdd, 0x38, 0x30, | ||
1100 | 0x12, 0xdd, 0x38, 0x38, | ||
1101 | 0x11, 0xf4, | ||
1102 | 0x2, 0xfe, 0xf6, 0x38, 0x38, | ||
1103 | 0x2, 0xfe, 0xf6, 0x38, 0x28, | ||
1104 | 0x23, 0xf, 0xaf, 0, 0, | ||
1105 | 0x2, 0xfd, 0x69, 0, 0, | ||
1106 | 0x1, 0xfe, 0xe4, | ||
1107 | 0x1, 0xfe, 0xec, | ||
1108 | 0x2, 0xfe, 0xfe, 0x38, 0, | ||
1109 | 0x1, 0xf8, 0x40, | ||
1110 | 0x1, 0xfe, 0x6c, | ||
1111 | 0x11, 0xcd, | ||
1112 | 0x11, 0xcc, | ||
1113 | 0x11, 0xce, | ||
1114 | 0x22, 0xf, 0x8, | ||
1115 | 0x33, 0xf, 0x1, 0xf8, | ||
1116 | 0x23, 0xf, 0x1, 0x38, 0x38, | ||
1117 | 0x11, 0xcf, | ||
1118 | 0x1, 0xf0, 0x70, | ||
1119 | 0x12, 0xf, 0xf0, 0x80, | ||
1120 | 0x13, 0xf, 0xf0, 0x90, 0x38, 0, | ||
1121 | 0x11, 0xe3, | ||
1122 | 0x11, 0xeb, | ||
1123 | 0x11, 0xe9, | ||
1124 | 0x12, 0xff, 0x38, 0x20, | ||
1125 | 0x11, 0xea, | ||
1126 | 0x12, 0xff, 0x38, 0x28, | ||
1127 | 0x11, 0x9f, | ||
1128 | 0x23, 0xf, 0x2, 0, 0, | ||
1129 | 0x12, 0xc5, 0, 0, | ||
1130 | 0x12, 0x8d, 0, 0, | ||
1131 | 0x11, 0xc9, | ||
1132 | 0x12, 0xc4, 0, 0, | ||
1133 | 0x23, 0xf, 0xb4, 0, 0, | ||
1134 | 0x23, 0xf, 0xb5, 0, 0, | ||
1135 | 0x23, 0xf, 0x1, 0x38, 0x10, | ||
1136 | 0x23, 0xf, 0x1, 0x38, 0x18, | ||
1137 | 0x23, 0xf, 0, 0x38, 0x10, | ||
1138 | 0x23, 0xf, 0x1, 0x38, 0x30, | ||
1139 | 0x11, 0xf0, | ||
1140 | 0x1, 0xfe, 0xac, | ||
1141 | 0x11, 0xe2, | ||
1142 | 0x11, 0xe1, | ||
1143 | 0x11, 0xe0, | ||
1144 | 0x23, 0xf, 0x3, 0, 0, | ||
1145 | 0x23, 0xf, 0xb2, 0, 0, | ||
1146 | 0x23, 0xf, 0, 0x38, 0x18, | ||
1147 | 0x2, 0xfe, 0x88, 0, 0, | ||
1148 | 0x2, 0xfe, 0x8a, 0, 0, | ||
1149 | 0x2, 0xfe, 0xc6, 0x38, 0, | ||
1150 | 0x1, 0xf0, 0xb0, | ||
1151 | 0x1, 0xfe, 0xa0, | ||
1152 | 0x1, 0xfe, 0xa2, | ||
1153 | 0x23, 0xf, 0x20, 0xc0, 0xc0, | ||
1154 | 0x23, 0xf, 0x22, 0xc0, 0xc0, | ||
1155 | 0x23, 0xf, 0x21, 0xc0, 0xc0, | ||
1156 | 0x23, 0xf, 0x23, 0xc0, 0xc0, | ||
1157 | 0x12, 0x8c, 0, 0, | ||
1158 | 0x12, 0x8e, 0, 0, | ||
1159 | 0x1, 0xfe, 0xa4, | ||
1160 | 0x23, 0xf, 0xbe, 0, 0, | ||
1161 | 0x23, 0xf, 0xbf, 0, 0, | ||
1162 | 0x23, 0xf, 0xb6, 0, 0, | ||
1163 | 0x23, 0xf, 0xb7, 0, 0, | ||
1164 | 0x2, 0xfe, 0xf6, 0x38, 0x20, | ||
1165 | 0x2, 0xfe, 0xf6, 0x38, 0x18, | ||
1166 | 0x22, 0xf3, 0x90, | ||
1167 | 0x11, 0x90, | ||
1168 | 0x34, 0xf3, 0xf, 0xb8, 0, 0, | ||
1169 | 0x2, 0xfe, 0xf6, 0x38, 0x10, | ||
1170 | 0x2, 0xfe, 0x8, 0, 0, | ||
1171 | 0x2, 0xfe, 0xa, 0, 0, | ||
1172 | 0x2, 0xfe, 0x80, 0x38, 0x8, | ||
1173 | 0x2, 0xfe, 0x82, 0x38, 0x8, | ||
1174 | 0x1, 0xfe, 0xc, | ||
1175 | 0x1, 0xfe, 0xe6, | ||
1176 | 0x1, 0xfe, 0xee, | ||
1177 | 0x1, 0xfe, 0x6e, | ||
1178 | 0x12, 0x8f, 0x38, 0, | ||
1179 | 0x12, 0xf, 0xc7, 0x81, | ||
1180 | 0x11, 0x9d, | ||
1181 | 0x12, 0xff, 0x38, 0x30, | ||
1182 | 0x1, 0xf8, 0x50, | ||
1183 | 0x1, 0xf8, 0x58, | ||
1184 | 0x1, 0xfd, 0x68, | ||
1185 | 0x1, 0xe7, 0x6, | ||
1186 | 0x12, 0xf, 0xc7, 0x80, | ||
1187 | 0x11, 0x60, | ||
1188 | 0x11, 0x61, | ||
1189 | 0x11, 0x9c, | ||
1190 | 0x2, 0xfe, 0xd0, 0x38, 0x10, | ||
1191 | 0x2, 0xfe, 0xd2, 0x38, 0x10, | ||
1192 | 0x2, 0xfe, 0xc0, 0x38, 0x10, | ||
1193 | 0x2, 0xfe, 0xd0, 0x38, 0x18, | ||
1194 | 0x2, 0xfe, 0xd2, 0x38, 0x18, | ||
1195 | 0x2, 0xfe, 0xc0, 0x38, 0x18, | ||
1196 | 0x22, 0xf, 0x32, | ||
1197 | 0x22, 0xf, 0x33, | ||
1198 | 0x22, 0xf, 0x31, | ||
1199 | 0x11, 0xc3, | ||
1200 | 0x11, 0xc2, | ||
1201 | 0x11, 0xcb, | ||
1202 | 0x11, 0xca, | ||
1203 | 0x2, 0xfe, 0xd0, 0x38, 0, | ||
1204 | 0x2, 0xfe, 0xd2, 0x38, 0, | ||
1205 | 0x2, 0xfe, 0xc0, 0x38, 0, | ||
1206 | 0x2, 0xfe, 0xd0, 0x38, 0x8, | ||
1207 | 0x2, 0xfe, 0xd2, 0x38, 0x8, | ||
1208 | 0x2, 0xfe, 0xc0, 0x38, 0x8, | ||
1209 | 0x22, 0xf, 0xaa, | ||
1210 | 0x11, 0x9e, | ||
1211 | 0x2, 0xfe, 0xd0, 0x38, 0x38, | ||
1212 | 0x2, 0xfe, 0xd2, 0x38, 0x38, | ||
1213 | 0x2, 0xfe, 0xc0, 0x38, 0x38, | ||
1214 | 0x2, 0xfe, 0x18, 0, 0, | ||
1215 | 0x2, 0xfe, 0x1a, 0, 0, | ||
1216 | 0x1, 0xfe, 0x1c, | ||
1217 | 0x2, 0xfe, 0x80, 0x38, 0x18, | ||
1218 | 0x2, 0xfe, 0x82, 0x38, 0x18, | ||
1219 | 0x1, 0xfe, 0xae, | ||
1220 | 0x13, 0xf, 0xf0, 0x90, 0x38, 0, | ||
1221 | 0x2, 0xfe, 0xd0, 0x38, 0x20, | ||
1222 | 0x2, 0xfe, 0xd2, 0x38, 0x20, | ||
1223 | 0x2, 0xfe, 0xc0, 0x38, 0x20, | ||
1224 | 0x2, 0xfe, 0xd0, 0x38, 0x28, | ||
1225 | 0x23, 0xf, 0xa4, 0, 0, | ||
1226 | 0x23, 0xf, 0xa5, 0, 0, | ||
1227 | 0x2, 0xfe, 0xd2, 0x38, 0x28, | ||
1228 | 0x2, 0xfe, 0xc0, 0x38, 0x28, | ||
1229 | 0x23, 0xf, 0xac, 0, 0, | ||
1230 | 0x23, 0xf, 0xad, 0, 0, | ||
1231 | 0x33, 0xf, 0x1, 0xc1, | ||
1232 | 0x33, 0xf, 0x1, 0xc2, | ||
1233 | 0x33, 0xf, 0x1, 0xc3, | ||
1234 | 0x33, 0xf, 0x1, 0xc4, | ||
1235 | 0x23, 0xf, 0x78, 0, 0, | ||
1236 | 0x23, 0xf, 0x79, 0, 0, | ||
1237 | 0x23, 0xf, 0x1, 0x38, 0, | ||
1238 | 0x33, 0xf, 0x1, 0xc8, | ||
1239 | 0x33, 0xf, 0x1, 0xc9, | ||
1240 | 0x23, 0xf, 0x1, 0x38, 0x8, | ||
1241 | 0x23, 0xf, 0, 0x38, 0, | ||
1242 | 0x23, 0xf, 0x1, 0x38, 0x20, | ||
1243 | 0x11, 0xf9, | ||
1244 | 0x11, 0xfd, | ||
1245 | 0x11, 0xfb, | ||
1246 | 0x1, 0xfe, 0xaa, | ||
1247 | 0x23, 0xf, 0, 0x38, 0x8, | ||
1248 | 0x2, 0xfe, 0x28, 0, 0, | ||
1249 | 0x2, 0xfe, 0x2a, 0, 0, | ||
1250 | 0x1, 0xfe, 0x2c, | ||
1251 | 0x2, 0xfe, 0x80, 0x38, 0x28, | ||
1252 | 0x2, 0xfe, 0x82, 0x38, 0x28, | ||
1253 | 0x2, 0xfe, 0x84, 0, 0, | ||
1254 | 0x1, 0xfe, 0xa8, | ||
1255 | 0x2, 0xfe, 0xf6, 0x38, 0, | ||
1256 | 0x22, 0xf, 0xb, | ||
1257 | 0x23, 0xf, 0, 0x38, 0x20, | ||
1258 | 0x23, 0xf, 0, 0x38, 0x28, | ||
1259 | 0x22, 0xf, 0x9, | ||
1260 | 0x23, 0xf, 0xd, 0x38, 0, | ||
1261 | 0x23, 0xf, 0xd, 0x38, 0x8, | ||
1262 | 0x23, 0xf, 0x18, 0x38, 0, | ||
1263 | 0x23, 0xf, 0x18, 0x38, 0x8, | ||
1264 | 0x23, 0xf, 0x18, 0x38, 0x10, | ||
1265 | 0x23, 0xf, 0x18, 0x38, 0x18, | ||
1266 | 0x23, 0xf, 0x1f, 0, 0, | ||
1267 | 0x22, 0xf, 0x30, | ||
1268 | 0x13, 0xf, 0xfe, 0xc0, 0, 0, | ||
1269 | 0x2, 0xfe, 0x86, 0, 0, | ||
1270 | 0x1, 0xf8, 0x90, | ||
1271 | 0x11, 0xd7, | ||
1272 | 0x2, 0xfe, 0x30, 0, 0, | ||
1273 | 0x2, 0xfe, 0x32, 0, 0, | ||
1274 | 0x1, 0xfe, 0x34, | ||
1275 | 0x2, 0xfe, 0x80, 0x38, 0x30, | ||
1276 | 0x2, 0xfe, 0x82, 0x38, 0x30, | ||
1277 | 0x22, 0xf, 0x77, | ||
1278 | 0x34, 0x66, 0xf, 0xdb, 0, 0, | ||
1279 | 0x23, 0xf, 0xdb, 0, 0, | ||
1280 | 0x34, 0x66, 0xf, 0xdf, 0, 0, | ||
1281 | 0x23, 0xf, 0xdf, 0, 0, | ||
1282 | 0x34, 0x66, 0xf, 0xf5, 0, 0, | ||
1283 | 0x23, 0xf, 0xf5, 0, 0, | ||
1284 | 0x34, 0x66, 0xf, 0xeb, 0, 0, | ||
1285 | 0x23, 0xf, 0xeb, 0, 0, | ||
1286 | 0x34, 0x66, 0xf, 0xef, 0, 0, | ||
1287 | 0x23, 0xf, 0xef, 0, 0, | ||
1288 | 0x23, 0xf, 0x55, 0, 0, | ||
1289 | 0x23, 0xf, 0x54, 0, 0, | ||
1290 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0, | ||
1291 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x1, | ||
1292 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x2, | ||
1293 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x3, | ||
1294 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x4, | ||
1295 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x5, | ||
1296 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x6, | ||
1297 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x7, | ||
1298 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0, | ||
1299 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x1, | ||
1300 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x2, | ||
1301 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x3, | ||
1302 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x4, | ||
1303 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x5, | ||
1304 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x6, | ||
1305 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x7, | ||
1306 | 0x23, 0xf, 0xae, 0x38, 0x8, | ||
1307 | 0x23, 0xf, 0xae, 0x38, 0, | ||
1308 | 0x23, 0xf, 0xae, 0x38, 0x10, | ||
1309 | 0x23, 0xf, 0xae, 0x38, 0x18, | ||
1310 | 0x34, 0xf2, 0xf, 0x10, 0, 0, | ||
1311 | 0x34, 0xf3, 0xf, 0x10, 0, 0, | ||
1312 | 0x34, 0x66, 0xf, 0x10, 0, 0, | ||
1313 | 0x23, 0xf, 0x10, 0, 0, | ||
1314 | 0x34, 0xf2, 0xf, 0x11, 0, 0, | ||
1315 | 0x34, 0xf3, 0xf, 0x11, 0, 0, | ||
1316 | 0x34, 0x66, 0xf, 0x11, 0, 0, | ||
1317 | 0x23, 0xf, 0x11, 0, 0, | ||
1318 | 0x34, 0xf2, 0xf, 0x12, 0, 0, | ||
1319 | 0x34, 0xf3, 0xf, 0x12, 0, 0, | ||
1320 | 0x34, 0x66, 0xf, 0x12, 0, 0, | ||
1321 | 0x23, 0xf, 0x12, 0xc0, 0xc0, | ||
1322 | 0x23, 0xf, 0x12, 0, 0, | ||
1323 | 0x34, 0x66, 0xf, 0x13, 0xc0, 0xc0, | ||
1324 | 0x23, 0xf, 0x13, 0xc0, 0xc0, | ||
1325 | 0x34, 0x66, 0xf, 0x13, 0, 0, | ||
1326 | 0x23, 0xf, 0x13, 0, 0, | ||
1327 | 0x34, 0x66, 0xf, 0x14, 0, 0, | ||
1328 | 0x23, 0xf, 0x14, 0, 0, | ||
1329 | 0x34, 0x66, 0xf, 0x15, 0, 0, | ||
1330 | 0x23, 0xf, 0x15, 0, 0, | ||
1331 | 0x34, 0xf3, 0xf, 0x16, 0, 0, | ||
1332 | 0x34, 0x66, 0xf, 0x16, 0, 0, | ||
1333 | 0x23, 0xf, 0x16, 0xc0, 0xc0, | ||
1334 | 0x23, 0xf, 0x16, 0, 0, | ||
1335 | 0x34, 0x66, 0xf, 0x17, 0xc0, 0xc0, | ||
1336 | 0x23, 0xf, 0x17, 0xc0, 0xc0, | ||
1337 | 0x34, 0x66, 0xf, 0x17, 0, 0, | ||
1338 | 0x23, 0xf, 0x17, 0, 0, | ||
1339 | 0x34, 0x66, 0xf, 0x28, 0, 0, | ||
1340 | 0x23, 0xf, 0x28, 0, 0, | ||
1341 | 0x34, 0x66, 0xf, 0x29, 0, 0, | ||
1342 | 0x23, 0xf, 0x29, 0, 0, | ||
1343 | 0x34, 0xf2, 0xf, 0x2a, 0, 0, | ||
1344 | 0x34, 0xf3, 0xf, 0x2a, 0, 0, | ||
1345 | 0x34, 0x66, 0xf, 0x2a, 0, 0, | ||
1346 | 0x23, 0xf, 0x2a, 0, 0, | ||
1347 | 0x34, 0x66, 0xf, 0x2b, 0, 0, | ||
1348 | 0x23, 0xf, 0x2b, 0, 0, | ||
1349 | 0x34, 0xf2, 0xf, 0x2c, 0, 0, | ||
1350 | 0x34, 0xf3, 0xf, 0x2c, 0, 0, | ||
1351 | 0x34, 0x66, 0xf, 0x2c, 0, 0, | ||
1352 | 0x23, 0xf, 0x2c, 0, 0, | ||
1353 | 0x34, 0x66, 0xf, 0x2d, 0, 0, | ||
1354 | 0x34, 0xf2, 0xf, 0x2d, 0, 0, | ||
1355 | 0x34, 0xf3, 0xf, 0x2d, 0, 0, | ||
1356 | 0x23, 0xf, 0x2d, 0, 0, | ||
1357 | 0x34, 0x66, 0xf, 0x2e, 0, 0, | ||
1358 | 0x23, 0xf, 0x2e, 0, 0, | ||
1359 | 0x34, 0x66, 0xf, 0x2f, 0, 0, | ||
1360 | 0x23, 0xf, 0x2f, 0, 0, | ||
1361 | 0x22, 0xf, 0x37, | ||
1362 | 0x34, 0x66, 0xf, 0x50, 0xc0, 0xc0, | ||
1363 | 0x23, 0xf, 0x50, 0xc0, 0xc0, | ||
1364 | 0x34, 0x66, 0xf, 0x51, 0, 0, | ||
1365 | 0x34, 0xf2, 0xf, 0x51, 0, 0, | ||
1366 | 0x34, 0xf3, 0xf, 0x51, 0, 0, | ||
1367 | 0x23, 0xf, 0x51, 0, 0, | ||
1368 | 0x34, 0xf3, 0xf, 0x52, 0, 0, | ||
1369 | 0x23, 0xf, 0x52, 0, 0, | ||
1370 | 0x34, 0xf3, 0xf, 0x53, 0, 0, | ||
1371 | 0x23, 0xf, 0x53, 0, 0, | ||
1372 | 0x34, 0x66, 0xf, 0x54, 0, 0, | ||
1373 | 0x23, 0xf, 0x54, 0, 0, | ||
1374 | 0x34, 0x66, 0xf, 0x55, 0, 0, | ||
1375 | 0x23, 0xf, 0x55, 0, 0, | ||
1376 | 0x34, 0x66, 0xf, 0x56, 0, 0, | ||
1377 | 0x23, 0xf, 0x56, 0, 0, | ||
1378 | 0x34, 0x66, 0xf, 0x57, 0, 0, | ||
1379 | 0x23, 0xf, 0x57, 0, 0, | ||
1380 | 0x34, 0xf2, 0xf, 0x58, 0, 0, | ||
1381 | 0x34, 0xf3, 0xf, 0x58, 0, 0, | ||
1382 | 0x34, 0x66, 0xf, 0x58, 0, 0, | ||
1383 | 0x23, 0xf, 0x58, 0, 0, | ||
1384 | 0x34, 0xf2, 0xf, 0x59, 0, 0, | ||
1385 | 0x34, 0xf3, 0xf, 0x59, 0, 0, | ||
1386 | 0x34, 0x66, 0xf, 0x59, 0, 0, | ||
1387 | 0x23, 0xf, 0x59, 0, 0, | ||
1388 | 0x34, 0xf2, 0xf, 0x5a, 0, 0, | ||
1389 | 0x34, 0xf3, 0xf, 0x5a, 0, 0, | ||
1390 | 0x34, 0x66, 0xf, 0x5a, 0, 0, | ||
1391 | 0x23, 0xf, 0x5a, 0, 0, | ||
1392 | 0x34, 0x66, 0xf, 0x5b, 0, 0, | ||
1393 | 0x34, 0xf3, 0xf, 0x5b, 0, 0, | ||
1394 | 0x23, 0xf, 0x5b, 0, 0, | ||
1395 | 0x34, 0xf2, 0xf, 0x5c, 0, 0, | ||
1396 | 0x34, 0xf3, 0xf, 0x5c, 0, 0, | ||
1397 | 0x34, 0x66, 0xf, 0x5c, 0, 0, | ||
1398 | 0x23, 0xf, 0x5c, 0, 0, | ||
1399 | 0x34, 0xf2, 0xf, 0x5d, 0, 0, | ||
1400 | 0x34, 0xf3, 0xf, 0x5d, 0, 0, | ||
1401 | 0x34, 0x66, 0xf, 0x5d, 0, 0, | ||
1402 | 0x23, 0xf, 0x5d, 0, 0, | ||
1403 | 0x34, 0xf2, 0xf, 0x5e, 0, 0, | ||
1404 | 0x34, 0xf3, 0xf, 0x5e, 0, 0, | ||
1405 | 0x34, 0x66, 0xf, 0x5e, 0, 0, | ||
1406 | 0x23, 0xf, 0x5e, 0, 0, | ||
1407 | 0x34, 0xf2, 0xf, 0x5f, 0, 0, | ||
1408 | 0x34, 0xf3, 0xf, 0x5f, 0, 0, | ||
1409 | 0x34, 0x66, 0xf, 0x5f, 0, 0, | ||
1410 | 0x23, 0xf, 0x5f, 0, 0, | ||
1411 | 0x34, 0x66, 0xf, 0x60, 0, 0, | ||
1412 | 0x23, 0xf, 0x60, 0, 0, | ||
1413 | 0x34, 0x66, 0xf, 0x61, 0, 0, | ||
1414 | 0x23, 0xf, 0x61, 0, 0, | ||
1415 | 0x34, 0x66, 0xf, 0x62, 0, 0, | ||
1416 | 0x23, 0xf, 0x62, 0, 0, | ||
1417 | 0x34, 0x66, 0xf, 0x63, 0, 0, | ||
1418 | 0x23, 0xf, 0x63, 0, 0, | ||
1419 | 0x34, 0x66, 0xf, 0x64, 0, 0, | ||
1420 | 0x23, 0xf, 0x64, 0, 0, | ||
1421 | 0x34, 0x66, 0xf, 0x65, 0, 0, | ||
1422 | 0x23, 0xf, 0x65, 0, 0, | ||
1423 | 0x34, 0x66, 0xf, 0x66, 0, 0, | ||
1424 | 0x23, 0xf, 0x66, 0, 0, | ||
1425 | 0x34, 0x66, 0xf, 0x67, 0, 0, | ||
1426 | 0x23, 0xf, 0x67, 0, 0, | ||
1427 | 0x34, 0x66, 0xf, 0x68, 0, 0, | ||
1428 | 0x23, 0xf, 0x68, 0, 0, | ||
1429 | 0x34, 0x66, 0xf, 0x69, 0, 0, | ||
1430 | 0x23, 0xf, 0x69, 0, 0, | ||
1431 | 0x34, 0x66, 0xf, 0x6a, 0, 0, | ||
1432 | 0x23, 0xf, 0x6a, 0, 0, | ||
1433 | 0x34, 0x66, 0xf, 0x6b, 0, 0, | ||
1434 | 0x23, 0xf, 0x6b, 0, 0, | ||
1435 | 0x34, 0x66, 0xf, 0x6c, 0, 0, | ||
1436 | 0x34, 0x66, 0xf, 0x6d, 0, 0, | ||
1437 | 0x34, 0x66, 0xf, 0x6e, 0, 0, | ||
1438 | 0x23, 0xf, 0x6e, 0, 0, | ||
1439 | 0x34, 0x66, 0xf, 0x6f, 0, 0, | ||
1440 | 0x34, 0xf3, 0xf, 0x6f, 0, 0, | ||
1441 | 0x23, 0xf, 0x6f, 0, 0, | ||
1442 | 0x34, 0x66, 0xf, 0x70, 0, 0, | ||
1443 | 0x34, 0xf2, 0xf, 0x70, 0, 0, | ||
1444 | 0x34, 0xf3, 0xf, 0x70, 0, 0, | ||
1445 | 0x23, 0xf, 0x70, 0, 0, | ||
1446 | 0x34, 0x66, 0xf, 0x74, 0, 0, | ||
1447 | 0x23, 0xf, 0x74, 0, 0, | ||
1448 | 0x34, 0x66, 0xf, 0x75, 0, 0, | ||
1449 | 0x23, 0xf, 0x75, 0, 0, | ||
1450 | 0x34, 0x66, 0xf, 0x76, 0, 0, | ||
1451 | 0x23, 0xf, 0x76, 0, 0, | ||
1452 | 0x34, 0x66, 0xf, 0x7c, 0, 0, | ||
1453 | 0x34, 0xf2, 0xf, 0x7c, 0, 0, | ||
1454 | 0x34, 0x66, 0xf, 0x7d, 0, 0, | ||
1455 | 0x34, 0xf2, 0xf, 0x7d, 0, 0, | ||
1456 | 0x34, 0x66, 0xf, 0x7e, 0, 0, | ||
1457 | 0x34, 0xf3, 0xf, 0x7e, 0, 0, | ||
1458 | 0x23, 0xf, 0x7e, 0, 0, | ||
1459 | 0x34, 0x66, 0xf, 0x7f, 0, 0, | ||
1460 | 0x34, 0xf3, 0xf, 0x7f, 0, 0, | ||
1461 | 0x23, 0xf, 0x7f, 0, 0, | ||
1462 | 0x23, 0xf, 0xc3, 0, 0, | ||
1463 | 0x34, 0x66, 0xf, 0xc4, 0, 0, | ||
1464 | 0x23, 0xf, 0xc4, 0, 0, | ||
1465 | 0x34, 0x66, 0xf, 0xc5, 0xc0, 0xc0, | ||
1466 | 0x23, 0xf, 0xc5, 0xc0, 0xc0, | ||
1467 | 0x34, 0x66, 0xf, 0xc6, 0, 0, | ||
1468 | 0x23, 0xf, 0xc6, 0, 0, | ||
1469 | 0x34, 0x66, 0xf, 0xd1, 0, 0, | ||
1470 | 0x23, 0xf, 0xd1, 0, 0, | ||
1471 | 0x34, 0x66, 0xf, 0xd2, 0, 0, | ||
1472 | 0x23, 0xf, 0xd2, 0, 0, | ||
1473 | 0x34, 0x66, 0xf, 0xd3, 0, 0, | ||
1474 | 0x23, 0xf, 0xd3, 0, 0, | ||
1475 | 0x34, 0x66, 0xf, 0xd4, 0, 0, | ||
1476 | 0x23, 0xf, 0xd4, 0, 0, | ||
1477 | 0x34, 0x66, 0xf, 0xd5, 0, 0, | ||
1478 | 0x23, 0xf, 0xd5, 0, 0, | ||
1479 | 0x34, 0x66, 0xf, 0xd6, 0, 0, | ||
1480 | 0x34, 0xf2, 0xf, 0xd6, 0xc0, 0xc0, | ||
1481 | 0x34, 0xf3, 0xf, 0xd6, 0xc0, 0xc0, | ||
1482 | 0x34, 0x66, 0xf, 0xd7, 0xc0, 0xc0, | ||
1483 | 0x23, 0xf, 0xd7, 0xc0, 0xc0, | ||
1484 | 0x34, 0x66, 0xf, 0xd8, 0, 0, | ||
1485 | 0x23, 0xf, 0xd8, 0, 0, | ||
1486 | 0x34, 0x66, 0xf, 0xd9, 0, 0, | ||
1487 | 0x23, 0xf, 0xd9, 0, 0, | ||
1488 | 0x34, 0x66, 0xf, 0xda, 0, 0, | ||
1489 | 0x23, 0xf, 0xda, 0, 0, | ||
1490 | 0x34, 0x66, 0xf, 0xdc, 0, 0, | ||
1491 | 0x23, 0xf, 0xdc, 0, 0, | ||
1492 | 0x34, 0x66, 0xf, 0xdd, 0, 0, | ||
1493 | 0x23, 0xf, 0xdd, 0, 0, | ||
1494 | 0x34, 0x66, 0xf, 0xde, 0, 0, | ||
1495 | 0x23, 0xf, 0xde, 0, 0, | ||
1496 | 0x34, 0x66, 0xf, 0xe0, 0, 0, | ||
1497 | 0x23, 0xf, 0xe0, 0, 0, | ||
1498 | 0x34, 0x66, 0xf, 0xe1, 0, 0, | ||
1499 | 0x23, 0xf, 0xe1, 0, 0, | ||
1500 | 0x34, 0x66, 0xf, 0xe2, 0, 0, | ||
1501 | 0x23, 0xf, 0xe2, 0, 0, | ||
1502 | 0x34, 0x66, 0xf, 0xe3, 0, 0, | ||
1503 | 0x23, 0xf, 0xe3, 0, 0, | ||
1504 | 0x34, 0x66, 0xf, 0xe4, 0, 0, | ||
1505 | 0x23, 0xf, 0xe4, 0, 0, | ||
1506 | 0x34, 0x66, 0xf, 0xe5, 0, 0, | ||
1507 | 0x23, 0xf, 0xe5, 0, 0, | ||
1508 | 0x34, 0x66, 0xf, 0xe7, 0, 0, | ||
1509 | 0x23, 0xf, 0xe7, 0, 0, | ||
1510 | 0x34, 0x66, 0xf, 0xe8, 0, 0, | ||
1511 | 0x23, 0xf, 0xe8, 0, 0, | ||
1512 | 0x34, 0x66, 0xf, 0xe9, 0, 0, | ||
1513 | 0x23, 0xf, 0xe9, 0, 0, | ||
1514 | 0x34, 0x66, 0xf, 0xea, 0, 0, | ||
1515 | 0x23, 0xf, 0xea, 0, 0, | ||
1516 | 0x34, 0x66, 0xf, 0xec, 0, 0, | ||
1517 | 0x23, 0xf, 0xec, 0, 0, | ||
1518 | 0x34, 0x66, 0xf, 0xed, 0, 0, | ||
1519 | 0x23, 0xf, 0xed, 0, 0, | ||
1520 | 0x34, 0x66, 0xf, 0xee, 0, 0, | ||
1521 | 0x23, 0xf, 0xee, 0, 0, | ||
1522 | 0x34, 0xf2, 0xf, 0xf0, 0, 0, | ||
1523 | 0x34, 0x66, 0xf, 0xf1, 0, 0, | ||
1524 | 0x23, 0xf, 0xf1, 0, 0, | ||
1525 | 0x34, 0x66, 0xf, 0xf2, 0, 0, | ||
1526 | 0x23, 0xf, 0xf2, 0, 0, | ||
1527 | 0x34, 0x66, 0xf, 0xf3, 0, 0, | ||
1528 | 0x23, 0xf, 0xf3, 0, 0, | ||
1529 | 0x34, 0x66, 0xf, 0xf4, 0, 0, | ||
1530 | 0x23, 0xf, 0xf4, 0, 0, | ||
1531 | 0x34, 0x66, 0xf, 0xf6, 0, 0, | ||
1532 | 0x23, 0xf, 0xf6, 0, 0, | ||
1533 | 0x34, 0x66, 0xf, 0xf7, 0xc0, 0xc0, | ||
1534 | 0x23, 0xf, 0xf7, 0xc0, 0xc0, | ||
1535 | 0x34, 0x66, 0xf, 0xf8, 0, 0, | ||
1536 | 0x23, 0xf, 0xf8, 0, 0, | ||
1537 | 0x34, 0x66, 0xf, 0xf9, 0, 0, | ||
1538 | 0x23, 0xf, 0xf9, 0, 0, | ||
1539 | 0x34, 0x66, 0xf, 0xfa, 0, 0, | ||
1540 | 0x23, 0xf, 0xfa, 0, 0, | ||
1541 | 0x34, 0x66, 0xf, 0xfb, 0, 0, | ||
1542 | 0x23, 0xf, 0xfb, 0, 0, | ||
1543 | 0x34, 0x66, 0xf, 0xfc, 0, 0, | ||
1544 | 0x23, 0xf, 0xfc, 0, 0, | ||
1545 | 0x34, 0x66, 0xf, 0xfd, 0, 0, | ||
1546 | 0x23, 0xf, 0xfd, 0, 0, | ||
1547 | 0x34, 0x66, 0xf, 0xfe, 0, 0, | ||
1548 | 0x23, 0xf, 0xfe, 0, 0, | ||
1549 | 0x45, 0x66, 0xf, 0x38, 0, 0, 0, | ||
1550 | 0x34, 0xf, 0x38, 0, 0, 0, | ||
1551 | 0x45, 0x66, 0xf, 0x38, 0x1, 0, 0, | ||
1552 | 0x34, 0xf, 0x38, 0x1, 0, 0, | ||
1553 | 0x45, 0x66, 0xf, 0x38, 0x2, 0, 0, | ||
1554 | 0x34, 0xf, 0x38, 0x2, 0, 0, | ||
1555 | 0x45, 0x66, 0xf, 0x38, 0x3, 0, 0, | ||
1556 | 0x34, 0xf, 0x38, 0x3, 0, 0, | ||
1557 | 0x45, 0x66, 0xf, 0x38, 0x4, 0, 0, | ||
1558 | 0x34, 0xf, 0x38, 0x4, 0, 0, | ||
1559 | 0x45, 0x66, 0xf, 0x38, 0x5, 0, 0, | ||
1560 | 0x34, 0xf, 0x38, 0x5, 0, 0, | ||
1561 | 0x45, 0x66, 0xf, 0x38, 0x6, 0, 0, | ||
1562 | 0x34, 0xf, 0x38, 0x6, 0, 0, | ||
1563 | 0x45, 0x66, 0xf, 0x38, 0x7, 0, 0, | ||
1564 | 0x34, 0xf, 0x38, 0x7, 0, 0, | ||
1565 | 0x45, 0x66, 0xf, 0x38, 0x8, 0, 0, | ||
1566 | 0x34, 0xf, 0x38, 0x8, 0, 0, | ||
1567 | 0x45, 0x66, 0xf, 0x38, 0x9, 0, 0, | ||
1568 | 0x34, 0xf, 0x38, 0x9, 0, 0, | ||
1569 | 0x45, 0x66, 0xf, 0x38, 0xa, 0, 0, | ||
1570 | 0x34, 0xf, 0x38, 0xa, 0, 0, | ||
1571 | 0x45, 0x66, 0xf, 0x38, 0xb, 0, 0, | ||
1572 | 0x34, 0xf, 0x38, 0xb, 0, 0, | ||
1573 | 0x45, 0x66, 0xf, 0x38, 0x1c, 0, 0, | ||
1574 | 0x34, 0xf, 0x38, 0x1c, 0, 0, | ||
1575 | 0x45, 0x66, 0xf, 0x38, 0x1d, 0, 0, | ||
1576 | 0x34, 0xf, 0x38, 0x1d, 0, 0, | ||
1577 | 0x45, 0x66, 0xf, 0x38, 0x1e, 0, 0, | ||
1578 | 0x34, 0xf, 0x38, 0x1e, 0, 0, | ||
1579 | 0x45, 0x66, 0xf, 0x3a, 0xf, 0, 0, | ||
1580 | 0x34, 0xf, 0x3a, 0xf, 0, 0, | ||
1581 | 0x34, 0x66, 0xf, 0xc7, 0x38, 0x30, | ||
1582 | 0x34, 0xf3, 0xf, 0xc7, 0x38, 0x30, | ||
1583 | 0x23, 0xf, 0xc7, 0x38, 0x30, | ||
1584 | 0x23, 0xf, 0xc7, 0x38, 0x38, | ||
1585 | 0x34, 0x66, 0xf, 0x71, 0xf8, 0xd0, | ||
1586 | 0x23, 0xf, 0x71, 0xf8, 0xd0, | ||
1587 | 0x34, 0x66, 0xf, 0x71, 0xf8, 0xe0, | ||
1588 | 0x23, 0xf, 0x71, 0xf8, 0xe0, | ||
1589 | 0x34, 0x66, 0xf, 0x71, 0xf8, 0xf0, | ||
1590 | 0x23, 0xf, 0x71, 0xf8, 0xf0, | ||
1591 | 0x34, 0x66, 0xf, 0x72, 0xf8, 0xd0, | ||
1592 | 0x23, 0xf, 0x72, 0xf8, 0xd0, | ||
1593 | 0x34, 0x66, 0xf, 0x72, 0xf8, 0xe0, | ||
1594 | 0x23, 0xf, 0x72, 0xf8, 0xe0, | ||
1595 | 0x34, 0x66, 0xf, 0x72, 0xf8, 0xf0, | ||
1596 | 0x23, 0xf, 0x72, 0xf8, 0xf0, | ||
1597 | 0x34, 0x66, 0xf, 0x73, 0xf8, 0xd0, | ||
1598 | 0x23, 0xf, 0x73, 0xf8, 0xd0, | ||
1599 | 0x34, 0x66, 0xf, 0x73, 0xf8, 0xd8, | ||
1600 | 0x34, 0x66, 0xf, 0x73, 0xf8, 0xf0, | ||
1601 | 0x23, 0xf, 0x73, 0xf8, 0xf0, | ||
1602 | 0x34, 0x66, 0xf, 0x73, 0xf8, 0xf8, | ||
1603 | 0x33, 0xf, 0xae, 0xe8, | ||
1604 | 0x33, 0xf, 0xae, 0xf0, | ||
1605 | 0x33, 0xf, 0xae, 0xf8, | ||
1606 | 0x23, 0xf, 0xae, 0x38, 0x38, | ||
1607 | 0x23, 0xf, 0xf, 0, 0, | ||
1608 | 0x45, 0x66, 0xf, 0x3a, 0xc, 0, 0, | ||
1609 | 0x45, 0x66, 0xf, 0x3a, 0xd, 0, 0, | ||
1610 | 0x45, 0x66, 0xf, 0x38, 0x14, 0, 0, | ||
1611 | 0x45, 0x66, 0xf, 0x38, 0x15, 0, 0, | ||
1612 | 0x45, 0x66, 0xf, 0x3a, 0x40, 0, 0, | ||
1613 | 0x45, 0x66, 0xf, 0x3a, 0x41, 0, 0, | ||
1614 | 0x45, 0x66, 0xf, 0x3a, 0x21, 0, 0, | ||
1615 | 0x45, 0x66, 0xf, 0x38, 0x2a, 0, 0, | ||
1616 | 0x45, 0x66, 0xf, 0x3a, 0x42, 0, 0, | ||
1617 | 0x45, 0x66, 0xf, 0x38, 0x2b, 0, 0, | ||
1618 | 0x45, 0x66, 0xf, 0x38, 0x10, 0, 0, | ||
1619 | 0x45, 0x66, 0xf, 0x3a, 0xe, 0, 0, | ||
1620 | 0x45, 0x66, 0xf, 0x38, 0x29, 0, 0, | ||
1621 | 0x45, 0x66, 0xf, 0x3a, 0x61, 0, 0, | ||
1622 | 0x45, 0x66, 0xf, 0x3a, 0x60, 0, 0, | ||
1623 | 0x45, 0x66, 0xf, 0x3a, 0x63, 0, 0, | ||
1624 | 0x45, 0x66, 0xf, 0x3a, 0x62, 0, 0, | ||
1625 | 0x45, 0x66, 0xf, 0x38, 0x37, 0, 0, | ||
1626 | 0x45, 0x66, 0xf, 0x38, 0x41, 0, 0, | ||
1627 | 0x45, 0x66, 0xf, 0x3a, 0x20, 0, 0, | ||
1628 | 0x45, 0x66, 0xf, 0x3a, 0x22, 0, 0, | ||
1629 | 0x45, 0x66, 0xf, 0x38, 0x3c, 0, 0, | ||
1630 | 0x45, 0x66, 0xf, 0x38, 0x3d, 0, 0, | ||
1631 | 0x45, 0x66, 0xf, 0x38, 0x3f, 0, 0, | ||
1632 | 0x45, 0x66, 0xf, 0x38, 0x3e, 0, 0, | ||
1633 | 0x45, 0x66, 0xf, 0x38, 0x38, 0, 0, | ||
1634 | 0x45, 0x66, 0xf, 0x38, 0x39, 0, 0, | ||
1635 | 0x45, 0x66, 0xf, 0x38, 0x3b, 0, 0, | ||
1636 | 0x45, 0x66, 0xf, 0x38, 0x3a, 0, 0, | ||
1637 | 0x45, 0x66, 0xf, 0x38, 0x20, 0, 0, | ||
1638 | 0x45, 0x66, 0xf, 0x38, 0x21, 0, 0, | ||
1639 | 0x45, 0x66, 0xf, 0x38, 0x22, 0, 0, | ||
1640 | 0x45, 0x66, 0xf, 0x38, 0x23, 0, 0, | ||
1641 | 0x45, 0x66, 0xf, 0x38, 0x24, 0, 0, | ||
1642 | 0x45, 0x66, 0xf, 0x38, 0x25, 0, 0, | ||
1643 | 0x45, 0x66, 0xf, 0x38, 0x30, 0, 0, | ||
1644 | 0x45, 0x66, 0xf, 0x38, 0x31, 0, 0, | ||
1645 | 0x45, 0x66, 0xf, 0x38, 0x32, 0, 0, | ||
1646 | 0x45, 0x66, 0xf, 0x38, 0x33, 0, 0, | ||
1647 | 0x45, 0x66, 0xf, 0x38, 0x34, 0, 0, | ||
1648 | 0x45, 0x66, 0xf, 0x38, 0x35, 0, 0, | ||
1649 | 0x45, 0x66, 0xf, 0x38, 0x28, 0, 0, | ||
1650 | 0x45, 0x66, 0xf, 0x38, 0x40, 0, 0, | ||
1651 | 0x45, 0x66, 0xf, 0x38, 0x17, 0, 0, | ||
1652 | 0x45, 0x66, 0xf, 0x3a, 0x8, 0, 0, | ||
1653 | 0x45, 0x66, 0xf, 0x3a, 0x9, 0, 0, | ||
1654 | 0x45, 0x66, 0xf, 0x3a, 0xa, 0, 0, | ||
1655 | 0x45, 0x66, 0xf, 0x3a, 0xb, 0, 0, | ||
1656 | 0x1, 0xe7, 0x7, | ||
1657 | }; | ||
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/m68k_backend.diff b/meta/recipes-devtools/elfutils/elfutils-0.155/m68k_backend.diff new file mode 100644 index 0000000000..e9b5c402eb --- /dev/null +++ b/meta/recipes-devtools/elfutils/elfutils-0.155/m68k_backend.diff | |||
@@ -0,0 +1,303 @@ | |||
1 | Upstream-Status: Backport | ||
2 | |||
3 | Index: elfutils-0.155/backends/m68k_init.c | ||
4 | =================================================================== | ||
5 | --- /dev/null | ||
6 | +++ elfutils-0.155/backends/m68k_init.c | ||
7 | @@ -0,0 +1,49 @@ | ||
8 | +/* Initialization of m68k specific backend library. | ||
9 | + Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be> | ||
10 | + | ||
11 | + This software is free software; you can redistribute it and/or modify | ||
12 | + it under the terms of the GNU General Public License as published by the | ||
13 | + Free Software Foundation; version 2 of the License. | ||
14 | + | ||
15 | + This softare is distributed in the hope that it will be useful, but | ||
16 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
18 | + General Public License for more details. | ||
19 | + | ||
20 | + You should have received a copy of the GNU General Public License along | ||
21 | + with this software; if not, write to the Free Software Foundation, | ||
22 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
23 | + | ||
24 | +*/ | ||
25 | + | ||
26 | +#ifdef HAVE_CONFIG_H | ||
27 | +# include <config.h> | ||
28 | +#endif | ||
29 | + | ||
30 | +#define BACKEND m68k_ | ||
31 | +#define RELOC_PREFIX R_68K_ | ||
32 | +#include "libebl_CPU.h" | ||
33 | + | ||
34 | +/* This defines the common reloc hooks based on m68k_reloc.def. */ | ||
35 | +#include "common-reloc.c" | ||
36 | + | ||
37 | + | ||
38 | +const char * | ||
39 | +m68k_init (elf, machine, eh, ehlen) | ||
40 | + Elf *elf __attribute__ ((unused)); | ||
41 | + GElf_Half machine __attribute__ ((unused)); | ||
42 | + Ebl *eh; | ||
43 | + size_t ehlen; | ||
44 | +{ | ||
45 | + /* Check whether the Elf_BH object has a sufficent size. */ | ||
46 | + if (ehlen < sizeof (Ebl)) | ||
47 | + return NULL; | ||
48 | + | ||
49 | + /* We handle it. */ | ||
50 | + eh->name = "m68k"; | ||
51 | + m68k_init_reloc (eh); | ||
52 | + HOOK (eh, reloc_simple_type); | ||
53 | + HOOK (eh, register_info); | ||
54 | + | ||
55 | + return MODVERSION; | ||
56 | +} | ||
57 | Index: elfutils-0.155/backends/m68k_regs.c | ||
58 | =================================================================== | ||
59 | --- /dev/null | ||
60 | +++ elfutils-0.155/backends/m68k_regs.c | ||
61 | @@ -0,0 +1,106 @@ | ||
62 | +/* Register names and numbers for m68k DWARF. | ||
63 | + Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be> | ||
64 | + | ||
65 | + This software is free software; you can redistribute it and/or modify | ||
66 | + it under the terms of the GNU General Public License as published by the | ||
67 | + Free Software Foundation; version 2 of the License. | ||
68 | + | ||
69 | + This software is distributed in the hope that it will be useful, but | ||
70 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
71 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
72 | + General Public License for more details. | ||
73 | + | ||
74 | + You should have received a copy of the GNU General Public License along | ||
75 | + with this software; if not, write to the Free Software Foundation, | ||
76 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
77 | + | ||
78 | + */ | ||
79 | + | ||
80 | +#ifdef HAVE_CONFIG_H | ||
81 | +# include <config.h> | ||
82 | +#endif | ||
83 | + | ||
84 | +#include <string.h> | ||
85 | +#include <dwarf.h> | ||
86 | + | ||
87 | +#define BACKEND m68k_ | ||
88 | +#include "libebl_CPU.h" | ||
89 | + | ||
90 | +ssize_t | ||
91 | +m68k_register_info (Ebl *ebl __attribute__ ((unused)), | ||
92 | + int regno, char *name, size_t namelen, | ||
93 | + const char **prefix, const char **setname, | ||
94 | + int *bits, int *type) | ||
95 | +{ | ||
96 | + if (name == NULL) | ||
97 | + return 25; | ||
98 | + | ||
99 | + if (regno < 0 || regno > 24 || namelen < 5) | ||
100 | + return -1; | ||
101 | + | ||
102 | + *prefix = "%"; | ||
103 | + *bits = 32; | ||
104 | + *type = (regno < 8 ? DW_ATE_signed | ||
105 | + : regno < 16 ? DW_ATE_address : DW_ATE_float); | ||
106 | + | ||
107 | + if (regno < 8) | ||
108 | + { | ||
109 | + *setname = "integer"; | ||
110 | + } | ||
111 | + else if (regno < 16) | ||
112 | + { | ||
113 | + *setname = "address"; | ||
114 | + } | ||
115 | + else if (regno < 24) | ||
116 | + { | ||
117 | + *setname = "FPU"; | ||
118 | + } | ||
119 | + else | ||
120 | + { | ||
121 | + *setname = "address"; | ||
122 | + *type = DW_ATE_address; | ||
123 | + } | ||
124 | + | ||
125 | + switch (regno) | ||
126 | + { | ||
127 | + case 0 ... 7: | ||
128 | + name[0] = 'd'; | ||
129 | + name[1] = regno + '0'; | ||
130 | + namelen = 2; | ||
131 | + break; | ||
132 | + | ||
133 | + case 8 ... 13: | ||
134 | + name[0] = 'a'; | ||
135 | + name[1] = regno - 8 + '0'; | ||
136 | + namelen = 2; | ||
137 | + break; | ||
138 | + | ||
139 | + case 14: | ||
140 | + name[0] = 'f'; | ||
141 | + name[1] = 'p'; | ||
142 | + namelen = 2; | ||
143 | + break; | ||
144 | + | ||
145 | + case 15: | ||
146 | + name[0] = 's'; | ||
147 | + name[1] = 'p'; | ||
148 | + namelen = 2; | ||
149 | + break; | ||
150 | + | ||
151 | + case 16 ... 23: | ||
152 | + name[0] = 'f'; | ||
153 | + name[1] = 'p'; | ||
154 | + name[2] = regno - 16 + '0'; | ||
155 | + namelen = 3; | ||
156 | + break; | ||
157 | + | ||
158 | + case 24: | ||
159 | + name[0] = 'p'; | ||
160 | + name[1] = 'c'; | ||
161 | + namelen = 2; | ||
162 | + } | ||
163 | + | ||
164 | + name[namelen++] = '\0'; | ||
165 | + return namelen; | ||
166 | +} | ||
167 | + | ||
168 | Index: elfutils-0.155/backends/m68k_reloc.def | ||
169 | =================================================================== | ||
170 | --- /dev/null | ||
171 | +++ elfutils-0.155/backends/m68k_reloc.def | ||
172 | @@ -0,0 +1,45 @@ | ||
173 | +/* List the relocation types for m68k. -*- C -*- | ||
174 | + Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be> | ||
175 | + | ||
176 | + This software is free software; you can redistribute it and/or modify | ||
177 | + it under the terms of the GNU General Public License as published by the | ||
178 | + Free Software Foundation; version 2 of the License. | ||
179 | + | ||
180 | + This software is distributed in the hope that it will be useful, but | ||
181 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
182 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
183 | + General Public License for more details. | ||
184 | + | ||
185 | + You should have received a copy of the GNU General Public License along | ||
186 | + with this software; if not, write to the Free Software Foundation, | ||
187 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
188 | +*/ | ||
189 | + | ||
190 | +/* NAME, REL|EXEC|DYN */ | ||
191 | + | ||
192 | +RELOC_TYPE (NONE, 0) | ||
193 | +RELOC_TYPE (32, REL|EXEC|DYN) | ||
194 | +RELOC_TYPE (16, REL) | ||
195 | +RELOC_TYPE (8, REL) | ||
196 | +RELOC_TYPE (PC32, REL|EXEC|DYN) | ||
197 | +RELOC_TYPE (PC16, REL) | ||
198 | +RELOC_TYPE (PC8, REL) | ||
199 | +RELOC_TYPE (GOT32, REL) | ||
200 | +RELOC_TYPE (GOT16, REL) | ||
201 | +RELOC_TYPE (GOT8, REL) | ||
202 | +RELOC_TYPE (GOT32O, REL) | ||
203 | +RELOC_TYPE (GOT16O, REL) | ||
204 | +RELOC_TYPE (GOT8O, REL) | ||
205 | +RELOC_TYPE (PLT32, REL) | ||
206 | +RELOC_TYPE (PLT16, REL) | ||
207 | +RELOC_TYPE (PLT8, REL) | ||
208 | +RELOC_TYPE (PLT32O, REL) | ||
209 | +RELOC_TYPE (PLT16O, REL) | ||
210 | +RELOC_TYPE (PLT8O, REL) | ||
211 | +RELOC_TYPE (COPY, EXEC) | ||
212 | +RELOC_TYPE (GLOB_DAT, EXEC|DYN) | ||
213 | +RELOC_TYPE (JMP_SLOT, EXEC|DYN) | ||
214 | +RELOC_TYPE (RELATIVE, EXEC|DYN) | ||
215 | +RELOC_TYPE (GNU_VTINHERIT, REL) | ||
216 | +RELOC_TYPE (GNU_VTENTRY, REL) | ||
217 | + | ||
218 | Index: elfutils-0.155/libelf/elf.h | ||
219 | =================================================================== | ||
220 | --- elfutils-0.155.orig/libelf/elf.h | ||
221 | +++ elfutils-0.155/libelf/elf.h | ||
222 | @@ -1126,6 +1126,9 @@ typedef struct | ||
223 | #define R_68K_GLOB_DAT 20 /* Create GOT entry */ | ||
224 | #define R_68K_JMP_SLOT 21 /* Create PLT entry */ | ||
225 | #define R_68K_RELATIVE 22 /* Adjust by program base */ | ||
226 | +/* The next 2 are GNU extensions to enable C++ vtable garbage collection. */ | ||
227 | +#define R_68K_GNU_VTINHERIT 23 | ||
228 | +#define R_68K_GNU_VTENTRY 24 | ||
229 | #define R_68K_TLS_GD32 25 /* 32 bit GOT offset for GD */ | ||
230 | #define R_68K_TLS_GD16 26 /* 16 bit GOT offset for GD */ | ||
231 | #define R_68K_TLS_GD8 27 /* 8 bit GOT offset for GD */ | ||
232 | Index: elfutils-0.155/backends/Makefile.am | ||
233 | =================================================================== | ||
234 | --- elfutils-0.155.orig/backends/Makefile.am | ||
235 | +++ elfutils-0.155/backends/Makefile.am | ||
236 | @@ -32,7 +32,7 @@ INCLUDES += -I$(top_srcdir)/libebl -I$(t | ||
237 | -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw | ||
238 | |||
239 | |||
240 | -modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 tilegx parisc mips | ||
241 | +modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 tilegx parisc mips m68k | ||
242 | libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \ | ||
243 | libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \ | ||
244 | libebl_sparc_pic.a libebl_ppc_pic.a libebl_ppc64_pic.a \ | ||
245 | @@ -111,6 +111,10 @@ mips_SRCS = mips_init.c mips_symbol.c mi | ||
246 | libebl_mips_pic_a_SOURCES = $(mips_SRCS) | ||
247 | am_libebl_mips_pic_a_OBJECTS = $(mips_SRCS:.c=.os) | ||
248 | |||
249 | +m68k_SRCS = m68k_init.c m68k_symbol.c m68k_regs.c | ||
250 | +libebl_m68k_pic_a_SOURCES = $(m68k_SRCS) | ||
251 | +am_libebl_m68k_pic_a_OBJECTS = $(m68k_SRCS:.c=.os) | ||
252 | + | ||
253 | libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw) | ||
254 | @rm -f $(@:.so=.map) | ||
255 | echo 'ELFUTILS_$(PACKAGE_VERSION) { global: $*_init; local: *; };' \ | ||
256 | Index: elfutils-0.155/backends/m68k_symbol.c | ||
257 | =================================================================== | ||
258 | --- /dev/null | ||
259 | +++ elfutils-0.155/backends/m68k_symbol.c | ||
260 | @@ -0,0 +1,43 @@ | ||
261 | +/* m68k specific symbolic name handling. | ||
262 | + Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be> | ||
263 | + | ||
264 | + This software is free software; you can redistribute it and/or modify | ||
265 | + it under the terms of the GNU General Public License as published by the | ||
266 | + Free Software Foundation; version 2 of the License. | ||
267 | + | ||
268 | + This software distributed in the hope that it will be useful, but | ||
269 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
270 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
271 | + General Public License for more details. | ||
272 | + | ||
273 | + You should have received a copy of the GNU General Public License along | ||
274 | + with this software; if not, write to the Free Software Foundation, | ||
275 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
276 | +*/ | ||
277 | + | ||
278 | +#ifdef HAVE_CONFIG_H | ||
279 | +# include <config.h> | ||
280 | +#endif | ||
281 | + | ||
282 | +#include <elf.h> | ||
283 | +#include <stddef.h> | ||
284 | + | ||
285 | +#define BACKEND m68k_ | ||
286 | +#include "libebl_CPU.h" | ||
287 | + | ||
288 | +/* Check for the simple reloc types. */ | ||
289 | +Elf_Type | ||
290 | +m68k_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type) | ||
291 | +{ | ||
292 | + switch (type) | ||
293 | + { | ||
294 | + case R_68K_32: | ||
295 | + return ELF_T_SWORD; | ||
296 | + case R_68K_16: | ||
297 | + return ELF_T_HALF; | ||
298 | + case R_68K_8: | ||
299 | + return ELF_T_BYTE; | ||
300 | + default: | ||
301 | + return ELF_T_NUM; | ||
302 | + } | ||
303 | +} | ||
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/mempcpy.patch b/meta/recipes-devtools/elfutils/elfutils-0.155/mempcpy.patch new file mode 100644 index 0000000000..1d5a37e8f5 --- /dev/null +++ b/meta/recipes-devtools/elfutils/elfutils-0.155/mempcpy.patch | |||
@@ -0,0 +1,24 @@ | |||
1 | |||
2 | uclibc does not export __mempcpy like glibc so we alias it here. | ||
3 | This patch may make sense for upstream but elfutils uses more | ||
4 | glibc specific features like obstack_printf which are missing in | ||
5 | uclibc they need to be fixed along to make it work all the way | ||
6 | |||
7 | Upstream-Status: Inappropriate[Elfutils uses more glibc specific features] | ||
8 | |||
9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
10 | |||
11 | Index: elfutils-0.155/libelf/elf_begin.c | ||
12 | =================================================================== | ||
13 | --- elfutils-0.155.orig/libelf/elf_begin.c | ||
14 | +++ elfutils-0.155/libelf/elf_begin.c | ||
15 | @@ -68,6 +68,9 @@ | ||
16 | #include "libelfP.h" | ||
17 | #include "common.h" | ||
18 | |||
19 | +#ifdef __UCLIBC__ | ||
20 | +#define __mempcpy mempcpy | ||
21 | +#endif | ||
22 | |||
23 | /* Create descriptor for archive in memory. */ | ||
24 | static inline Elf * | ||
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/mips_backend.diff b/meta/recipes-devtools/elfutils/elfutils-0.155/mips_backend.diff new file mode 100644 index 0000000000..8e07c33614 --- /dev/null +++ b/meta/recipes-devtools/elfutils/elfutils-0.155/mips_backend.diff | |||
@@ -0,0 +1,708 @@ | |||
1 | Upstream-Status: Backport | ||
2 | |||
3 | Index: elfutils-0.155/backends/mips_init.c | ||
4 | =================================================================== | ||
5 | --- /dev/null | ||
6 | +++ elfutils-0.155/backends/mips_init.c | ||
7 | @@ -0,0 +1,60 @@ | ||
8 | +/* Initialization of mips specific backend library. | ||
9 | + Copyright (C) 2006 Red Hat, Inc. | ||
10 | + This file is part of Red Hat elfutils. | ||
11 | + | ||
12 | + Red Hat elfutils is free software; you can redistribute it and/or modify | ||
13 | + it under the terms of the GNU General Public License as published by the | ||
14 | + Free Software Foundation; version 2 of the License. | ||
15 | + | ||
16 | + Red Hat elfutils is distributed in the hope that it will be useful, but | ||
17 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
19 | + General Public License for more details. | ||
20 | + | ||
21 | + You should have received a copy of the GNU General Public License along | ||
22 | + with Red Hat elfutils; if not, write to the Free Software Foundation, | ||
23 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
24 | + | ||
25 | + Red Hat elfutils is an included package of the Open Invention Network. | ||
26 | + An included package of the Open Invention Network is a package for which | ||
27 | + Open Invention Network licensees cross-license their patents. No patent | ||
28 | + license is granted, either expressly or impliedly, by designation as an | ||
29 | + included package. Should you wish to participate in the Open Invention | ||
30 | + Network licensing program, please visit www.openinventionnetwork.com | ||
31 | + <http://www.openinventionnetwork.com>. */ | ||
32 | + | ||
33 | +#ifdef HAVE_CONFIG_H | ||
34 | +# include <config.h> | ||
35 | +#endif | ||
36 | + | ||
37 | +#define BACKEND mips_ | ||
38 | +#define RELOC_PREFIX R_MIPS_ | ||
39 | +#include "libebl_CPU.h" | ||
40 | + | ||
41 | +/* This defines the common reloc hooks based on mips_reloc.def. */ | ||
42 | +#include "common-reloc.c" | ||
43 | + | ||
44 | +const char * | ||
45 | +mips_init (elf, machine, eh, ehlen) | ||
46 | + Elf *elf __attribute__ ((unused)); | ||
47 | + GElf_Half machine __attribute__ ((unused)); | ||
48 | + Ebl *eh; | ||
49 | + size_t ehlen; | ||
50 | +{ | ||
51 | + /* Check whether the Elf_BH object has a sufficent size. */ | ||
52 | + if (ehlen < sizeof (Ebl)) | ||
53 | + return NULL; | ||
54 | + | ||
55 | + /* We handle it. */ | ||
56 | + if (machine == EM_MIPS) | ||
57 | + eh->name = "MIPS R3000 big-endian"; | ||
58 | + else if (machine == EM_MIPS_RS3_LE) | ||
59 | + eh->name = "MIPS R3000 little-endian"; | ||
60 | + | ||
61 | + mips_init_reloc (eh); | ||
62 | + HOOK (eh, reloc_simple_type); | ||
63 | + HOOK (eh, return_value_location); | ||
64 | + HOOK (eh, register_info); | ||
65 | + | ||
66 | + return MODVERSION; | ||
67 | +} | ||
68 | Index: elfutils-0.155/backends/mips_regs.c | ||
69 | =================================================================== | ||
70 | --- /dev/null | ||
71 | +++ elfutils-0.155/backends/mips_regs.c | ||
72 | @@ -0,0 +1,104 @@ | ||
73 | +/* Register names and numbers for MIPS DWARF. | ||
74 | + Copyright (C) 2006 Red Hat, Inc. | ||
75 | + This file is part of Red Hat elfutils. | ||
76 | + | ||
77 | + Red Hat elfutils is free software; you can redistribute it and/or modify | ||
78 | + it under the terms of the GNU General Public License as published by the | ||
79 | + Free Software Foundation; version 2 of the License. | ||
80 | + | ||
81 | + Red Hat elfutils is distributed in the hope that it will be useful, but | ||
82 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
83 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
84 | + General Public License for more details. | ||
85 | + | ||
86 | + You should have received a copy of the GNU General Public License along | ||
87 | + with Red Hat elfutils; if not, write to the Free Software Foundation, | ||
88 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
89 | + | ||
90 | + Red Hat elfutils is an included package of the Open Invention Network. | ||
91 | + An included package of the Open Invention Network is a package for which | ||
92 | + Open Invention Network licensees cross-license their patents. No patent | ||
93 | + license is granted, either expressly or impliedly, by designation as an | ||
94 | + included package. Should you wish to participate in the Open Invention | ||
95 | + Network licensing program, please visit www.openinventionnetwork.com | ||
96 | + <http://www.openinventionnetwork.com>. */ | ||
97 | + | ||
98 | +#ifdef HAVE_CONFIG_H | ||
99 | +# include <config.h> | ||
100 | +#endif | ||
101 | + | ||
102 | +#include <string.h> | ||
103 | +#include <dwarf.h> | ||
104 | + | ||
105 | +#define BACKEND mips_ | ||
106 | +#include "libebl_CPU.h" | ||
107 | + | ||
108 | +ssize_t | ||
109 | +mips_register_info (Ebl *ebl __attribute__((unused)), | ||
110 | + int regno, char *name, size_t namelen, | ||
111 | + const char **prefix, const char **setname, | ||
112 | + int *bits, int *type) | ||
113 | +{ | ||
114 | + if (name == NULL) | ||
115 | + return 66; | ||
116 | + | ||
117 | + if (regno < 0 || regno > 65 || namelen < 4) | ||
118 | + return -1; | ||
119 | + | ||
120 | + *prefix = "$"; | ||
121 | + | ||
122 | + if (regno < 32) | ||
123 | + { | ||
124 | + *setname = "integer"; | ||
125 | + *type = DW_ATE_signed; | ||
126 | + *bits = 32; | ||
127 | + if (regno < 32 + 10) | ||
128 | + { | ||
129 | + name[0] = regno + '0'; | ||
130 | + namelen = 1; | ||
131 | + } | ||
132 | + else | ||
133 | + { | ||
134 | + name[0] = (regno / 10) + '0'; | ||
135 | + name[1] = (regno % 10) + '0'; | ||
136 | + namelen = 2; | ||
137 | + } | ||
138 | + } | ||
139 | + else if (regno < 64) | ||
140 | + { | ||
141 | + *setname = "FPU"; | ||
142 | + *type = DW_ATE_float; | ||
143 | + *bits = 32; | ||
144 | + name[0] = 'f'; | ||
145 | + if (regno < 32 + 10) | ||
146 | + { | ||
147 | + name[1] = (regno - 32) + '0'; | ||
148 | + namelen = 2; | ||
149 | + } | ||
150 | + else | ||
151 | + { | ||
152 | + name[1] = (regno - 32) / 10 + '0'; | ||
153 | + name[2] = (regno - 32) % 10 + '0'; | ||
154 | + namelen = 3; | ||
155 | + } | ||
156 | + } | ||
157 | + else if (regno == 64) | ||
158 | + { | ||
159 | + *type = DW_ATE_signed; | ||
160 | + *bits = 32; | ||
161 | + name[0] = 'h'; | ||
162 | + name[1] = 'i'; | ||
163 | + namelen = 2; | ||
164 | + } | ||
165 | + else | ||
166 | + { | ||
167 | + *type = DW_ATE_signed; | ||
168 | + *bits = 32; | ||
169 | + name[0] = 'l'; | ||
170 | + name[1] = 'o'; | ||
171 | + namelen = 2; | ||
172 | + } | ||
173 | + | ||
174 | + name[namelen++] = '\0'; | ||
175 | + return namelen; | ||
176 | +} | ||
177 | Index: elfutils-0.155/backends/mips_reloc.def | ||
178 | =================================================================== | ||
179 | --- /dev/null | ||
180 | +++ elfutils-0.155/backends/mips_reloc.def | ||
181 | @@ -0,0 +1,79 @@ | ||
182 | +/* List the relocation types for mips. -*- C -*- | ||
183 | + Copyright (C) 2006 Red Hat, Inc. | ||
184 | + This file is part of Red Hat elfutils. | ||
185 | + | ||
186 | + Red Hat elfutils is free software; you can redistribute it and/or modify | ||
187 | + it under the terms of the GNU General Public License as published by the | ||
188 | + Free Software Foundation; version 2 of the License. | ||
189 | + | ||
190 | + Red Hat elfutils is distributed in the hope that it will be useful, but | ||
191 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
192 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
193 | + General Public License for more details. | ||
194 | + | ||
195 | + You should have received a copy of the GNU General Public License along | ||
196 | + with Red Hat elfutils; if not, write to the Free Software Foundation, | ||
197 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
198 | + | ||
199 | + Red Hat elfutils is an included package of the Open Invention Network. | ||
200 | + An included package of the Open Invention Network is a package for which | ||
201 | + Open Invention Network licensees cross-license their patents. No patent | ||
202 | + license is granted, either expressly or impliedly, by designation as an | ||
203 | + included package. Should you wish to participate in the Open Invention | ||
204 | + Network licensing program, please visit www.openinventionnetwork.com | ||
205 | + <http://www.openinventionnetwork.com>. */ | ||
206 | + | ||
207 | +/* NAME, REL|EXEC|DYN */ | ||
208 | + | ||
209 | +RELOC_TYPE (NONE, 0) | ||
210 | +RELOC_TYPE (16, 0) | ||
211 | +RELOC_TYPE (32, 0) | ||
212 | +RELOC_TYPE (REL32, 0) | ||
213 | +RELOC_TYPE (26, 0) | ||
214 | +RELOC_TYPE (HI16, 0) | ||
215 | +RELOC_TYPE (LO16, 0) | ||
216 | +RELOC_TYPE (GPREL16, 0) | ||
217 | +RELOC_TYPE (LITERAL, 0) | ||
218 | +RELOC_TYPE (GOT16, 0) | ||
219 | +RELOC_TYPE (PC16, 0) | ||
220 | +RELOC_TYPE (CALL16, 0) | ||
221 | +RELOC_TYPE (GPREL32, 0) | ||
222 | + | ||
223 | +RELOC_TYPE (SHIFT5, 0) | ||
224 | +RELOC_TYPE (SHIFT6, 0) | ||
225 | +RELOC_TYPE (64, 0) | ||
226 | +RELOC_TYPE (GOT_DISP, 0) | ||
227 | +RELOC_TYPE (GOT_PAGE, 0) | ||
228 | +RELOC_TYPE (GOT_OFST, 0) | ||
229 | +RELOC_TYPE (GOT_HI16, 0) | ||
230 | +RELOC_TYPE (GOT_LO16, 0) | ||
231 | +RELOC_TYPE (SUB, 0) | ||
232 | +RELOC_TYPE (INSERT_A, 0) | ||
233 | +RELOC_TYPE (INSERT_B, 0) | ||
234 | +RELOC_TYPE (DELETE, 0) | ||
235 | +RELOC_TYPE (HIGHER, 0) | ||
236 | +RELOC_TYPE (HIGHEST, 0) | ||
237 | +RELOC_TYPE (CALL_HI16, 0) | ||
238 | +RELOC_TYPE (CALL_LO16, 0) | ||
239 | +RELOC_TYPE (SCN_DISP, 0) | ||
240 | +RELOC_TYPE (REL16, 0) | ||
241 | +RELOC_TYPE (ADD_IMMEDIATE, 0) | ||
242 | +RELOC_TYPE (PJUMP, 0) | ||
243 | +RELOC_TYPE (RELGOT, 0) | ||
244 | +RELOC_TYPE (JALR, 0) | ||
245 | +RELOC_TYPE (TLS_DTPMOD32, 0) | ||
246 | +RELOC_TYPE (TLS_DTPREL32, 0) | ||
247 | +RELOC_TYPE (TLS_DTPMOD64, 0) | ||
248 | +RELOC_TYPE (TLS_DTPREL64, 0) | ||
249 | +RELOC_TYPE (TLS_GD, 0) | ||
250 | +RELOC_TYPE (TLS_LDM, 0) | ||
251 | +RELOC_TYPE (TLS_DTPREL_HI16, 0) | ||
252 | +RELOC_TYPE (TLS_DTPREL_LO16, 0) | ||
253 | +RELOC_TYPE (TLS_GOTTPREL, 0) | ||
254 | +RELOC_TYPE (TLS_TPREL32, 0) | ||
255 | +RELOC_TYPE (TLS_TPREL64, 0) | ||
256 | +RELOC_TYPE (TLS_TPREL_HI16, 0) | ||
257 | +RELOC_TYPE (TLS_TPREL_LO16, 0) | ||
258 | + | ||
259 | +#define NO_COPY_RELOC 1 | ||
260 | +#define NO_RELATIVE_RELOC 1 | ||
261 | Index: elfutils-0.155/backends/mips_retval.c | ||
262 | =================================================================== | ||
263 | --- /dev/null | ||
264 | +++ elfutils-0.155/backends/mips_retval.c | ||
265 | @@ -0,0 +1,321 @@ | ||
266 | +/* Function return value location for Linux/mips ABI. | ||
267 | + Copyright (C) 2005 Red Hat, Inc. | ||
268 | + This file is part of Red Hat elfutils. | ||
269 | + | ||
270 | + Red Hat elfutils is free software; you can redistribute it and/or modify | ||
271 | + it under the terms of the GNU General Public License as published by the | ||
272 | + Free Software Foundation; version 2 of the License. | ||
273 | + | ||
274 | + Red Hat elfutils is distributed in the hope that it will be useful, but | ||
275 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
276 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
277 | + General Public License for more details. | ||
278 | + | ||
279 | + You should have received a copy of the GNU General Public License along | ||
280 | + with Red Hat elfutils; if not, write to the Free Software Foundation, | ||
281 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
282 | + | ||
283 | + Red Hat elfutils is an included package of the Open Invention Network. | ||
284 | + An included package of the Open Invention Network is a package for which | ||
285 | + Open Invention Network licensees cross-license their patents. No patent | ||
286 | + license is granted, either expressly or impliedly, by designation as an | ||
287 | + included package. Should you wish to participate in the Open Invention | ||
288 | + Network licensing program, please visit www.openinventionnetwork.com | ||
289 | + <http://www.openinventionnetwork.com>. */ | ||
290 | + | ||
291 | +#ifdef HAVE_CONFIG_H | ||
292 | +# include <config.h> | ||
293 | +#endif | ||
294 | + | ||
295 | +#include <string.h> | ||
296 | +#include <assert.h> | ||
297 | +#include <dwarf.h> | ||
298 | +#include <elf.h> | ||
299 | + | ||
300 | +#include "../libebl/libeblP.h" | ||
301 | +#include "../libdw/libdwP.h" | ||
302 | + | ||
303 | +#define BACKEND mips_ | ||
304 | +#include "libebl_CPU.h" | ||
305 | + | ||
306 | +/* The ABI of the file. Also see EF_MIPS_ABI2 above. */ | ||
307 | +#define EF_MIPS_ABI 0x0000F000 | ||
308 | + | ||
309 | +/* The original o32 abi. */ | ||
310 | +#define E_MIPS_ABI_O32 0x00001000 | ||
311 | + | ||
312 | +/* O32 extended to work on 64 bit architectures */ | ||
313 | +#define E_MIPS_ABI_O64 0x00002000 | ||
314 | + | ||
315 | +/* EABI in 32 bit mode */ | ||
316 | +#define E_MIPS_ABI_EABI32 0x00003000 | ||
317 | + | ||
318 | +/* EABI in 64 bit mode */ | ||
319 | +#define E_MIPS_ABI_EABI64 0x00004000 | ||
320 | + | ||
321 | +/* All the possible MIPS ABIs. */ | ||
322 | +enum mips_abi | ||
323 | + { | ||
324 | + MIPS_ABI_UNKNOWN = 0, | ||
325 | + MIPS_ABI_N32, | ||
326 | + MIPS_ABI_O32, | ||
327 | + MIPS_ABI_N64, | ||
328 | + MIPS_ABI_O64, | ||
329 | + MIPS_ABI_EABI32, | ||
330 | + MIPS_ABI_EABI64, | ||
331 | + MIPS_ABI_LAST | ||
332 | + }; | ||
333 | + | ||
334 | +/* Find the mips ABI of the current file */ | ||
335 | +enum mips_abi find_mips_abi(Elf *elf) | ||
336 | +{ | ||
337 | + GElf_Ehdr ehdr_mem; | ||
338 | + GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem); | ||
339 | + | ||
340 | + if (ehdr == NULL) | ||
341 | + return MIPS_ABI_LAST; | ||
342 | + | ||
343 | + GElf_Word elf_flags = ehdr->e_flags; | ||
344 | + | ||
345 | + /* Check elf_flags to see if it specifies the ABI being used. */ | ||
346 | + switch ((elf_flags & EF_MIPS_ABI)) | ||
347 | + { | ||
348 | + case E_MIPS_ABI_O32: | ||
349 | + return MIPS_ABI_O32; | ||
350 | + case E_MIPS_ABI_O64: | ||
351 | + return MIPS_ABI_O64; | ||
352 | + case E_MIPS_ABI_EABI32: | ||
353 | + return MIPS_ABI_EABI32; | ||
354 | + case E_MIPS_ABI_EABI64: | ||
355 | + return MIPS_ABI_EABI64; | ||
356 | + default: | ||
357 | + if ((elf_flags & EF_MIPS_ABI2)) | ||
358 | + return MIPS_ABI_N32; | ||
359 | + } | ||
360 | + | ||
361 | + /* GCC creates a pseudo-section whose name describes the ABI. */ | ||
362 | + size_t shstrndx; | ||
363 | + if (elf_getshdrstrndx (elf, &shstrndx) < 0) | ||
364 | + return MIPS_ABI_LAST; | ||
365 | + | ||
366 | + const char *name; | ||
367 | + Elf_Scn *scn = NULL; | ||
368 | + while ((scn = elf_nextscn (elf, scn)) != NULL) | ||
369 | + { | ||
370 | + GElf_Shdr shdr_mem; | ||
371 | + GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem); | ||
372 | + if (shdr == NULL) | ||
373 | + return MIPS_ABI_LAST; | ||
374 | + | ||
375 | + name = elf_strptr (elf, shstrndx, shdr->sh_name) ?: ""; | ||
376 | + if (strncmp (name, ".mdebug.", 8) != 0) | ||
377 | + continue; | ||
378 | + | ||
379 | + if (strcmp (name, ".mdebug.abi32") == 0) | ||
380 | + return MIPS_ABI_O32; | ||
381 | + else if (strcmp (name, ".mdebug.abiN32") == 0) | ||
382 | + return MIPS_ABI_N32; | ||
383 | + else if (strcmp (name, ".mdebug.abi64") == 0) | ||
384 | + return MIPS_ABI_N64; | ||
385 | + else if (strcmp (name, ".mdebug.abiO64") == 0) | ||
386 | + return MIPS_ABI_O64; | ||
387 | + else if (strcmp (name, ".mdebug.eabi32") == 0) | ||
388 | + return MIPS_ABI_EABI32; | ||
389 | + else if (strcmp (name, ".mdebug.eabi64") == 0) | ||
390 | + return MIPS_ABI_EABI64; | ||
391 | + else | ||
392 | + return MIPS_ABI_UNKNOWN; | ||
393 | + } | ||
394 | + | ||
395 | + return MIPS_ABI_UNKNOWN; | ||
396 | +} | ||
397 | + | ||
398 | +unsigned int | ||
399 | +mips_abi_regsize (enum mips_abi abi) | ||
400 | +{ | ||
401 | + switch (abi) | ||
402 | + { | ||
403 | + case MIPS_ABI_EABI32: | ||
404 | + case MIPS_ABI_O32: | ||
405 | + return 4; | ||
406 | + case MIPS_ABI_N32: | ||
407 | + case MIPS_ABI_N64: | ||
408 | + case MIPS_ABI_O64: | ||
409 | + case MIPS_ABI_EABI64: | ||
410 | + return 8; | ||
411 | + case MIPS_ABI_UNKNOWN: | ||
412 | + case MIPS_ABI_LAST: | ||
413 | + default: | ||
414 | + return 0; | ||
415 | + } | ||
416 | +} | ||
417 | + | ||
418 | + | ||
419 | +/* $v0 or pair $v0, $v1 */ | ||
420 | +static const Dwarf_Op loc_intreg_o32[] = | ||
421 | + { | ||
422 | + { .atom = DW_OP_reg2 }, { .atom = DW_OP_piece, .number = 4 }, | ||
423 | + { .atom = DW_OP_reg3 }, { .atom = DW_OP_piece, .number = 4 }, | ||
424 | + }; | ||
425 | + | ||
426 | +static const Dwarf_Op loc_intreg[] = | ||
427 | + { | ||
428 | + { .atom = DW_OP_reg2 }, { .atom = DW_OP_piece, .number = 8 }, | ||
429 | + { .atom = DW_OP_reg3 }, { .atom = DW_OP_piece, .number = 8 }, | ||
430 | + }; | ||
431 | +#define nloc_intreg 1 | ||
432 | +#define nloc_intregpair 4 | ||
433 | + | ||
434 | +/* $f0 (float), or pair $f0, $f1 (double). | ||
435 | + * f2/f3 are used for COMPLEX (= 2 doubles) returns in Fortran */ | ||
436 | +static const Dwarf_Op loc_fpreg_o32[] = | ||
437 | + { | ||
438 | + { .atom = DW_OP_regx, .number = 32 }, { .atom = DW_OP_piece, .number = 4 }, | ||
439 | + { .atom = DW_OP_regx, .number = 33 }, { .atom = DW_OP_piece, .number = 4 }, | ||
440 | + { .atom = DW_OP_regx, .number = 34 }, { .atom = DW_OP_piece, .number = 4 }, | ||
441 | + { .atom = DW_OP_regx, .number = 35 }, { .atom = DW_OP_piece, .number = 4 }, | ||
442 | + }; | ||
443 | + | ||
444 | +/* $f0, or pair $f0, $f2. */ | ||
445 | +static const Dwarf_Op loc_fpreg[] = | ||
446 | + { | ||
447 | + { .atom = DW_OP_regx, .number = 32 }, { .atom = DW_OP_piece, .number = 8 }, | ||
448 | + { .atom = DW_OP_regx, .number = 34 }, { .atom = DW_OP_piece, .number = 8 }, | ||
449 | + }; | ||
450 | +#define nloc_fpreg 1 | ||
451 | +#define nloc_fpregpair 4 | ||
452 | +#define nloc_fpregquad 8 | ||
453 | + | ||
454 | +/* The return value is a structure and is actually stored in stack space | ||
455 | + passed in a hidden argument by the caller. But, the compiler | ||
456 | + helpfully returns the address of that space in $v0. */ | ||
457 | +static const Dwarf_Op loc_aggregate[] = | ||
458 | + { | ||
459 | + { .atom = DW_OP_breg2, .number = 0 } | ||
460 | + }; | ||
461 | +#define nloc_aggregate 1 | ||
462 | + | ||
463 | +int | ||
464 | +mips_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp) | ||
465 | +{ | ||
466 | + /* First find the ABI used by the elf object */ | ||
467 | + enum mips_abi abi = find_mips_abi(functypedie->cu->dbg->elf); | ||
468 | + | ||
469 | + /* Something went seriously wrong while trying to figure out the ABI */ | ||
470 | + if (abi == MIPS_ABI_LAST) | ||
471 | + return -1; | ||
472 | + | ||
473 | + /* We couldn't identify the ABI, but the file seems valid */ | ||
474 | + if (abi == MIPS_ABI_UNKNOWN) | ||
475 | + return -2; | ||
476 | + | ||
477 | + /* Can't handle EABI variants */ | ||
478 | + if ((abi == MIPS_ABI_EABI32) || (abi == MIPS_ABI_EABI64)) | ||
479 | + return -2; | ||
480 | + | ||
481 | + unsigned int regsize = mips_abi_regsize (abi); | ||
482 | + if (!regsize) | ||
483 | + return -2; | ||
484 | + | ||
485 | + /* Start with the function's type, and get the DW_AT_type attribute, | ||
486 | + which is the type of the return value. */ | ||
487 | + | ||
488 | + Dwarf_Attribute attr_mem; | ||
489 | + Dwarf_Attribute *attr = dwarf_attr_integrate (functypedie, DW_AT_type, &attr_mem); | ||
490 | + if (attr == NULL) | ||
491 | + /* The function has no return value, like a `void' function in C. */ | ||
492 | + return 0; | ||
493 | + | ||
494 | + Dwarf_Die die_mem; | ||
495 | + Dwarf_Die *typedie = dwarf_formref_die (attr, &die_mem); | ||
496 | + int tag = dwarf_tag (typedie); | ||
497 | + | ||
498 | + /* Follow typedefs and qualifiers to get to the actual type. */ | ||
499 | + while (tag == DW_TAG_typedef | ||
500 | + || tag == DW_TAG_const_type || tag == DW_TAG_volatile_type | ||
501 | + || tag == DW_TAG_restrict_type || tag == DW_TAG_mutable_type) | ||
502 | + { | ||
503 | + attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem); | ||
504 | + typedie = dwarf_formref_die (attr, &die_mem); | ||
505 | + tag = dwarf_tag (typedie); | ||
506 | + } | ||
507 | + | ||
508 | + switch (tag) | ||
509 | + { | ||
510 | + case -1: | ||
511 | + return -1; | ||
512 | + | ||
513 | + case DW_TAG_subrange_type: | ||
514 | + if (! dwarf_hasattr_integrate (typedie, DW_AT_byte_size)) | ||
515 | + { | ||
516 | + attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem); | ||
517 | + typedie = dwarf_formref_die (attr, &die_mem); | ||
518 | + tag = dwarf_tag (typedie); | ||
519 | + } | ||
520 | + /* Fall through. */ | ||
521 | + | ||
522 | + case DW_TAG_base_type: | ||
523 | + case DW_TAG_enumeration_type: | ||
524 | + case DW_TAG_pointer_type: | ||
525 | + case DW_TAG_ptr_to_member_type: | ||
526 | + { | ||
527 | + Dwarf_Word size; | ||
528 | + if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_byte_size, | ||
529 | + &attr_mem), &size) != 0) | ||
530 | + { | ||
531 | + if (tag == DW_TAG_pointer_type || tag == DW_TAG_ptr_to_member_type) | ||
532 | + size = regsize; | ||
533 | + else | ||
534 | + return -1; | ||
535 | + } | ||
536 | + if (tag == DW_TAG_base_type) | ||
537 | + { | ||
538 | + Dwarf_Word encoding; | ||
539 | + if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding, | ||
540 | + &attr_mem), &encoding) != 0) | ||
541 | + return -1; | ||
542 | + | ||
543 | +#define ABI_LOC(loc, regsize) ((regsize) == 4 ? (loc ## _o32) : (loc)) | ||
544 | + | ||
545 | + if (encoding == DW_ATE_float) | ||
546 | + { | ||
547 | + *locp = ABI_LOC(loc_fpreg, regsize); | ||
548 | + if (size <= regsize) | ||
549 | + return nloc_fpreg; | ||
550 | + | ||
551 | + if (size <= 2*regsize) | ||
552 | + return nloc_fpregpair; | ||
553 | + | ||
554 | + if (size <= 4*regsize && abi == MIPS_ABI_O32) | ||
555 | + return nloc_fpregquad; | ||
556 | + | ||
557 | + goto aggregate; | ||
558 | + } | ||
559 | + } | ||
560 | + *locp = ABI_LOC(loc_intreg, regsize); | ||
561 | + if (size <= regsize) | ||
562 | + return nloc_intreg; | ||
563 | + if (size <= 2*regsize) | ||
564 | + return nloc_intregpair; | ||
565 | + | ||
566 | + /* Else fall through. Shouldn't happen though (at least with gcc) */ | ||
567 | + } | ||
568 | + | ||
569 | + case DW_TAG_structure_type: | ||
570 | + case DW_TAG_class_type: | ||
571 | + case DW_TAG_union_type: | ||
572 | + case DW_TAG_array_type: | ||
573 | + aggregate: | ||
574 | + /* XXX TODO: Can't handle structure return with other ABI's yet :-/ */ | ||
575 | + if ((abi != MIPS_ABI_O32) && (abi != MIPS_ABI_O64)) | ||
576 | + return -2; | ||
577 | + | ||
578 | + *locp = loc_aggregate; | ||
579 | + return nloc_aggregate; | ||
580 | + } | ||
581 | + | ||
582 | + /* XXX We don't have a good way to return specific errors from ebl calls. | ||
583 | + This value means we do not understand the type, but it is well-formed | ||
584 | + DWARF and might be valid. */ | ||
585 | + return -2; | ||
586 | +} | ||
587 | Index: elfutils-0.155/backends/mips_symbol.c | ||
588 | =================================================================== | ||
589 | --- /dev/null | ||
590 | +++ elfutils-0.155/backends/mips_symbol.c | ||
591 | @@ -0,0 +1,52 @@ | ||
592 | +/* MIPS specific symbolic name handling. | ||
593 | + Copyright (C) 2002, 2003, 2005 Red Hat, Inc. | ||
594 | + This file is part of Red Hat elfutils. | ||
595 | + Written by Jakub Jelinek <jakub@redhat.com>, 2002. | ||
596 | + | ||
597 | + Red Hat elfutils is free software; you can redistribute it and/or modify | ||
598 | + it under the terms of the GNU General Public License as published by the | ||
599 | + Free Software Foundation; version 2 of the License. | ||
600 | + | ||
601 | + Red Hat elfutils is distributed in the hope that it will be useful, but | ||
602 | + WITHOUT ANY WARRANTY; without even the implied warranty of | ||
603 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
604 | + General Public License for more details. | ||
605 | + | ||
606 | + You should have received a copy of the GNU General Public License along | ||
607 | + with Red Hat elfutils; if not, write to the Free Software Foundation, | ||
608 | + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. | ||
609 | + | ||
610 | + Red Hat elfutils is an included package of the Open Invention Network. | ||
611 | + An included package of the Open Invention Network is a package for which | ||
612 | + Open Invention Network licensees cross-license their patents. No patent | ||
613 | + license is granted, either expressly or impliedly, by designation as an | ||
614 | + included package. Should you wish to participate in the Open Invention | ||
615 | + Network licensing program, please visit www.openinventionnetwork.com | ||
616 | + <http://www.openinventionnetwork.com>. */ | ||
617 | + | ||
618 | +#ifdef HAVE_CONFIG_H | ||
619 | +# include <config.h> | ||
620 | +#endif | ||
621 | + | ||
622 | +#include <elf.h> | ||
623 | +#include <stddef.h> | ||
624 | + | ||
625 | +#define BACKEND mips_ | ||
626 | +#include "libebl_CPU.h" | ||
627 | + | ||
628 | +/* Check for the simple reloc types. */ | ||
629 | +Elf_Type | ||
630 | +mips_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type) | ||
631 | +{ | ||
632 | + switch (type) | ||
633 | + { | ||
634 | + case R_MIPS_16: | ||
635 | + return ELF_T_HALF; | ||
636 | + case R_MIPS_32: | ||
637 | + return ELF_T_WORD; | ||
638 | + case R_MIPS_64: | ||
639 | + return ELF_T_XWORD; | ||
640 | + default: | ||
641 | + return ELF_T_NUM; | ||
642 | + } | ||
643 | +} | ||
644 | Index: elfutils-0.155/libebl/eblopenbackend.c | ||
645 | =================================================================== | ||
646 | --- elfutils-0.155.orig/libebl/eblopenbackend.c | ||
647 | +++ elfutils-0.155/libebl/eblopenbackend.c | ||
648 | @@ -71,6 +71,8 @@ static const struct | ||
649 | { "sparc", "elf_sparc", "sparc", 5, EM_SPARC, 0, 0 }, | ||
650 | { "sparc", "elf_sparcv8plus", "sparc", 5, EM_SPARC32PLUS, 0, 0 }, | ||
651 | { "s390", "ebl_s390", "s390", 4, EM_S390, 0, 0 }, | ||
652 | + { "mips", "elf_mips", "mips", 4, EM_MIPS, 0, 0 }, | ||
653 | + { "mips", "elf_mipsel", "mipsel", 4, EM_MIPS_RS3_LE, 0, 0 }, | ||
654 | |||
655 | { "m32", "elf_m32", "m32", 3, EM_M32, 0, 0 }, | ||
656 | { "m68k", "elf_m68k", "m68k", 4, EM_68K, 0, 0 }, | ||
657 | Index: elfutils-0.155/backends/common-reloc.c | ||
658 | =================================================================== | ||
659 | --- elfutils-0.155.orig/backends/common-reloc.c | ||
660 | +++ elfutils-0.155/backends/common-reloc.c | ||
661 | @@ -112,11 +112,13 @@ EBLHOOK(reloc_valid_use) (Elf *elf, int | ||
662 | } | ||
663 | |||
664 | |||
665 | +#ifndef NO_COPY_RELOC | ||
666 | bool | ||
667 | EBLHOOK(copy_reloc_p) (int reloc) | ||
668 | { | ||
669 | return reloc == R_TYPE (COPY); | ||
670 | } | ||
671 | +#endif | ||
672 | |||
673 | bool | ||
674 | EBLHOOK(none_reloc_p) (int reloc) | ||
675 | @@ -138,7 +140,9 @@ EBLHOOK(init_reloc) (Ebl *ebl) | ||
676 | ebl->reloc_type_name = EBLHOOK(reloc_type_name); | ||
677 | ebl->reloc_type_check = EBLHOOK(reloc_type_check); | ||
678 | ebl->reloc_valid_use = EBLHOOK(reloc_valid_use); | ||
679 | +#ifndef NO_COPY_RELOC | ||
680 | ebl->copy_reloc_p = EBLHOOK(copy_reloc_p); | ||
681 | +#endif | ||
682 | ebl->none_reloc_p = EBLHOOK(none_reloc_p); | ||
683 | #ifndef NO_RELATIVE_RELOC | ||
684 | ebl->relative_reloc_p = EBLHOOK(relative_reloc_p); | ||
685 | Index: elfutils-0.155/backends/Makefile.am | ||
686 | =================================================================== | ||
687 | --- elfutils-0.155.orig/backends/Makefile.am | ||
688 | +++ elfutils-0.155/backends/Makefile.am | ||
689 | @@ -32,7 +32,7 @@ INCLUDES += -I$(top_srcdir)/libebl -I$(t | ||
690 | -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw | ||
691 | |||
692 | |||
693 | -modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 tilegx parisc | ||
694 | +modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 tilegx parisc mips | ||
695 | libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \ | ||
696 | libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \ | ||
697 | libebl_sparc_pic.a libebl_ppc_pic.a libebl_ppc64_pic.a \ | ||
698 | @@ -107,6 +107,10 @@ parisc_SRCS = parisc_init.c parisc_symbo | ||
699 | libebl_parisc_pic_a_SOURCES = $(parisc_SRCS) | ||
700 | am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os) | ||
701 | |||
702 | +mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c | ||
703 | +libebl_mips_pic_a_SOURCES = $(mips_SRCS) | ||
704 | +am_libebl_mips_pic_a_OBJECTS = $(mips_SRCS:.c=.os) | ||
705 | + | ||
706 | libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw) | ||
707 | @rm -f $(@:.so=.map) | ||
708 | echo 'ELFUTILS_$(PACKAGE_VERSION) { global: $*_init; local: *; };' \ | ||
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/nm-Fix-size-passed-to-snprintf-for-invalid-sh_name-case.patch b/meta/recipes-devtools/elfutils/elfutils-0.155/nm-Fix-size-passed-to-snprintf-for-invalid-sh_name-case.patch new file mode 100644 index 0000000000..9a400da846 --- /dev/null +++ b/meta/recipes-devtools/elfutils/elfutils-0.155/nm-Fix-size-passed-to-snprintf-for-invalid-sh_name-case.patch | |||
@@ -0,0 +1,27 @@ | |||
1 | Upstream-Status: Backport | ||
2 | |||
3 | nm: Fix size passed to snprintf for invalid sh_name case. | ||
4 | native build failed as following on Fedora18: | ||
5 | nm.c: In function 'show_symbols_sysv': | ||
6 | nm.c:756:27: error: argument to 'sizeof' in 'snprintf' call is the same expression as the destination; did you mean to provide an explicit length? [-Werror=sizeof-pointer-memaccess] | ||
7 | snprintf (name, sizeof name, "[invalid sh_name %#" PRIx32 "]", | ||
8 | ^ | ||
9 | |||
10 | The original commit is http://git.fedorahosted.org/cgit/elfutils.git/commit/src/nm.c?id=57bd66cabf6e6b9ecf622cdbf350804897a8df58 | ||
11 | |||
12 | Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com> | ||
13 | |||
14 | --- elfutils-0.155/src/nm.c.org 2013-03-11 22:36:11.000000000 -0500 | ||
15 | +++ elfutils-0.155/src/nm.c 2013-03-11 22:46:09.000000000 -0500 | ||
16 | @@ -752,8 +752,9 @@ | ||
17 | gelf_getshdr (scn, &shdr_mem)->sh_name); | ||
18 | if (unlikely (name == NULL)) | ||
19 | { | ||
20 | - name = alloca (sizeof "[invalid sh_name 0x12345678]"); | ||
21 | - snprintf (name, sizeof name, "[invalid sh_name %#" PRIx32 "]", | ||
22 | + const size_t bufsz = sizeof "[invalid sh_name 0x12345678]"; | ||
23 | + name = alloca (bufsz); | ||
24 | + snprintf (name, bufsz, "[invalid sh_name %#" PRIx32 "]", | ||
25 | gelf_getshdr (scn, &shdr_mem)->sh_name); | ||
26 | } | ||
27 | scnnames[elf_ndxscn (scn)] = name; | ||
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/redhat-portability.diff b/meta/recipes-devtools/elfutils/elfutils-0.155/redhat-portability.diff new file mode 100644 index 0000000000..bf47ade8db --- /dev/null +++ b/meta/recipes-devtools/elfutils/elfutils-0.155/redhat-portability.diff | |||
@@ -0,0 +1,1775 @@ | |||
1 | Upstream-Status: Backport | ||
2 | |||
3 | Index: elfutils-0.155/backends/ChangeLog | ||
4 | =================================================================== | ||
5 | --- elfutils-0.155.orig/backends/ChangeLog | ||
6 | +++ elfutils-0.155/backends/ChangeLog | ||
7 | @@ -135,6 +135,10 @@ | ||
8 | * ppc_attrs.c (ppc_check_object_attribute): Handle tag | ||
9 | GNU_Power_ABI_Struct_Return. | ||
10 | |||
11 | +2009-01-23 Roland McGrath <roland@redhat.com> | ||
12 | + | ||
13 | + * Makefile.am (libebl_%.so): Use $(LD_AS_NEEDED). | ||
14 | + | ||
15 | 2008-10-04 Ulrich Drepper <drepper@redhat.com> | ||
16 | |||
17 | * i386_reloc.def: Fix entries for TLS_GOTDESC, TLS_DESC_CALL, and | ||
18 | @@ -462,6 +466,11 @@ | ||
19 | * sparc_init.c: Likewise. | ||
20 | * x86_64_init.c: Likewise. | ||
21 | |||
22 | +2005-11-22 Roland McGrath <roland@redhat.com> | ||
23 | + | ||
24 | + * Makefile.am (LD_AS_NEEDED): New variable, substituted by configure. | ||
25 | + (libebl_%.so rule): Use it in place of -Wl,--as-needed. | ||
26 | + | ||
27 | 2005-11-19 Roland McGrath <roland@redhat.com> | ||
28 | |||
29 | * ppc64_reloc.def: REL30 -> ADDR30. | ||
30 | @@ -484,6 +493,9 @@ | ||
31 | * Makefile.am (uninstall): Don't try to remove $(pkgincludedir). | ||
32 | (CLEANFILES): Add libebl_$(m).so. | ||
33 | |||
34 | + * Makefile.am (WEXTRA): New variable, substituted by configure. | ||
35 | + (AM_CFLAGS): Use it in place of -Wextra. | ||
36 | + | ||
37 | * ppc_reloc.def: Update bits per Alan Modra <amodra@bigpond.net.au>. | ||
38 | * ppc64_reloc.def: Likewise. | ||
39 | |||
40 | Index: elfutils-0.155/backends/Makefile.am | ||
41 | =================================================================== | ||
42 | --- elfutils-0.155.orig/backends/Makefile.am | ||
43 | +++ elfutils-0.155/backends/Makefile.am | ||
44 | @@ -111,7 +111,7 @@ libebl_%.so libebl_%.map: libebl_%_pic.a | ||
45 | $(LINK) -shared -o $(@:.map=.so) \ | ||
46 | -Wl,--whole-archive $< $(cpu_$*) -Wl,--no-whole-archive \ | ||
47 | -Wl,--version-script,$(@:.so=.map) \ | ||
48 | - -Wl,-z,defs -Wl,--as-needed $(libelf) $(libdw) $(libmudflap) | ||
49 | + -Wl,-z,defs $(LD_AS_NEEDED) $(libelf) $(libdw) $(libmudflap) | ||
50 | $(textrel_check) | ||
51 | |||
52 | libebl_i386.so: $(cpu_i386) | ||
53 | Index: elfutils-0.155/backends/Makefile.in | ||
54 | =================================================================== | ||
55 | --- elfutils-0.155.orig/backends/Makefile.in | ||
56 | +++ elfutils-0.155/backends/Makefile.in | ||
57 | @@ -38,7 +38,8 @@ build_triplet = @build@ | ||
58 | host_triplet = @host@ | ||
59 | DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ | ||
60 | $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog | ||
61 | -@MUDFLAP_TRUE@am__append_1 = -fmudflap | ||
62 | +@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror) | ||
63 | +@MUDFLAP_TRUE@am__append_2 = -fmudflap | ||
64 | subdir = backends | ||
65 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | ||
66 | am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ | ||
67 | @@ -172,6 +173,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ | ||
68 | INSTALL_SCRIPT = @INSTALL_SCRIPT@ | ||
69 | INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ | ||
70 | LDFLAGS = @LDFLAGS@ | ||
71 | +LD_AS_NEEDED = @LD_AS_NEEDED@ | ||
72 | LEX = @LEX@ | ||
73 | LEXLIB = @LEXLIB@ | ||
74 | LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ | ||
75 | @@ -201,6 +203,7 @@ SHELL = @SHELL@ | ||
76 | STRIP = @STRIP@ | ||
77 | USE_NLS = @USE_NLS@ | ||
78 | VERSION = @VERSION@ | ||
79 | +WEXTRA = @WEXTRA@ | ||
80 | XGETTEXT = @XGETTEXT@ | ||
81 | XGETTEXT_015 = @XGETTEXT_015@ | ||
82 | XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ | ||
83 | @@ -263,10 +266,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi | ||
84 | -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \ | ||
85 | -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw | ||
86 | AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ | ||
87 | - $($(*F)_no_Werror),,-Werror) $(if \ | ||
88 | - $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \ | ||
89 | + $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \ | ||
90 | $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \ | ||
91 | - $(am__append_1) | ||
92 | + $(am__append_1) $(am__append_2) | ||
93 | @MUDFLAP_FALSE@libmudflap = | ||
94 | @MUDFLAP_TRUE@libmudflap = -lmudflap | ||
95 | COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\ | ||
96 | @@ -725,7 +727,7 @@ libebl_%.so libebl_%.map: libebl_%_pic.a | ||
97 | $(LINK) -shared -o $(@:.map=.so) \ | ||
98 | -Wl,--whole-archive $< $(cpu_$*) -Wl,--no-whole-archive \ | ||
99 | -Wl,--version-script,$(@:.so=.map) \ | ||
100 | - -Wl,-z,defs -Wl,--as-needed $(libelf) $(libdw) $(libmudflap) | ||
101 | + -Wl,-z,defs $(LD_AS_NEEDED) $(libelf) $(libdw) $(libmudflap) | ||
102 | $(textrel_check) | ||
103 | |||
104 | libebl_i386.so: $(cpu_i386) | ||
105 | Index: elfutils-0.155/ChangeLog | ||
106 | =================================================================== | ||
107 | --- elfutils-0.155.orig/ChangeLog | ||
108 | +++ elfutils-0.155/ChangeLog | ||
109 | @@ -16,6 +16,8 @@ | ||
110 | |||
111 | 2012-01-24 Mark Wielaard <mjw@redhat.com> | ||
112 | |||
113 | + * configure.ac: Wrap AC_COMPILE_IFELSE sources in AC_LANG_SOURCE. | ||
114 | + | ||
115 | * COPYING: Fix address. Updated version from gnulib. | ||
116 | |||
117 | 2012-01-23 Mark Wielaard <mjw@redhat.com> | ||
118 | @@ -34,6 +36,9 @@ | ||
119 | |||
120 | 2011-10-08 Mike Frysinger <vapier@gentoo.org> | ||
121 | |||
122 | + * configure.ac (--disable-werror): Handle it, controlling BUILD_WERROR | ||
123 | + automake option. | ||
124 | + | ||
125 | * configure.ac: Fix use of AC_ARG_ENABLE to handle $enableval correctly. | ||
126 | |||
127 | 2011-10-02 Ulrich Drepper <drepper@gmail.com> | ||
128 | @@ -55,6 +60,10 @@ | ||
129 | |||
130 | * configure.ac (LOCALEDIR, DATADIRNAME): Removed. | ||
131 | |||
132 | +2009-11-22 Roland McGrath <roland@redhat.com> | ||
133 | + | ||
134 | + * configure.ac: Use sed and expr instead of modern bash extensions. | ||
135 | + | ||
136 | 2009-09-21 Ulrich Drepper <drepper@redhat.com> | ||
137 | |||
138 | * configure.ac: Update for more modern autoconf. | ||
139 | @@ -63,6 +72,10 @@ | ||
140 | |||
141 | * configure.ac (zip_LIBS): Check for liblzma too. | ||
142 | |||
143 | +2009-08-17 Roland McGrath <roland@redhat.com> | ||
144 | + | ||
145 | + * configure.ac: Check for -fgnu89-inline; add it to WEXTRA if it works. | ||
146 | + | ||
147 | 2009-04-19 Roland McGrath <roland@redhat.com> | ||
148 | |||
149 | * configure.ac (eu_version): Round down here, not in version.h macros. | ||
150 | @@ -74,6 +87,8 @@ | ||
151 | |||
152 | 2009-01-23 Roland McGrath <roland@redhat.com> | ||
153 | |||
154 | + * configure.ac: Check for __builtin_popcount. | ||
155 | + | ||
156 | * configure.ac (zlib check): Check for gzdirect, need zlib >= 1.2.2.3. | ||
157 | |||
158 | * configure.ac (__thread check): Use AC_LINK_IFELSE, in case of | ||
159 | @@ -154,6 +169,10 @@ | ||
160 | * configure.ac: Add dummy automake conditional to get dependencies | ||
161 | for non-generic linker right. See src/Makefile.am. | ||
162 | |||
163 | +2005-11-22 Roland McGrath <roland@redhat.com> | ||
164 | + | ||
165 | + * configure.ac: Check for --as-needed linker option. | ||
166 | + | ||
167 | 2005-11-18 Roland McGrath <roland@redhat.com> | ||
168 | |||
169 | * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): New variable. | ||
170 | @@ -201,6 +220,17 @@ | ||
171 | * Makefile.am (all_SUBDIRS): Add libdwfl. | ||
172 | * configure.ac: Write libdwfl/Makefile. | ||
173 | |||
174 | +2005-05-31 Roland McGrath <roland@redhat.com> | ||
175 | + | ||
176 | + * configure.ac (WEXTRA): Check for -Wextra and set this substitution. | ||
177 | + | ||
178 | + * configure.ac: Check for struct stat st_?tim members. | ||
179 | + * src/strip.c (process_file): Use st_?time if st_?tim are not there. | ||
180 | + | ||
181 | + * configure.ac: Check for futimes function. | ||
182 | + * src/strip.c (handle_elf) [! HAVE_FUTIMES]: Use utimes instead. | ||
183 | + (handle_ar) [! HAVE_FUTIMES]: Likewise. | ||
184 | + | ||
185 | 2005-05-19 Roland McGrath <roland@redhat.com> | ||
186 | |||
187 | * configure.ac [AH_BOTTOM] (INTDECL, _INTDECL): New macros. | ||
188 | Index: elfutils-0.155/config/ChangeLog | ||
189 | =================================================================== | ||
190 | --- elfutils-0.155.orig/config/ChangeLog | ||
191 | +++ elfutils-0.155/config/ChangeLog | ||
192 | @@ -19,6 +19,10 @@ | ||
193 | |||
194 | * known-dwarf.awk: Use gawk. | ||
195 | |||
196 | +2011-10-08 Mike Frysinger <vapier@gentoo.org> | ||
197 | + | ||
198 | + * eu.am [BUILD_WERROR]: Conditionalize -Werror use on this. | ||
199 | + | ||
200 | 2010-07-02 Ulrich Drepper <drepper@redhat.com> | ||
201 | |||
202 | * elfutils.spec.in: Add more BuildRequires. | ||
203 | Index: elfutils-0.155/config/eu.am | ||
204 | =================================================================== | ||
205 | --- elfutils-0.155.orig/config/eu.am | ||
206 | +++ elfutils-0.155/config/eu.am | ||
207 | @@ -1,6 +1,6 @@ | ||
208 | ## Common automake fragments for elfutils subdirectory makefiles. | ||
209 | ## | ||
210 | -## Copyright (C) 2010 Red Hat, Inc. | ||
211 | +## Copyright (C) 2010-2011 Red Hat, Inc. | ||
212 | ## | ||
213 | ## This file is part of elfutils. | ||
214 | ## | ||
215 | @@ -29,14 +29,20 @@ | ||
216 | ## not, see <http://www.gnu.org/licenses/>. | ||
217 | ## | ||
218 | |||
219 | +WEXTRA = @WEXTRA@ | ||
220 | +LD_AS_NEEDED = @LD_AS_NEEDED@ | ||
221 | + | ||
222 | DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -DLOCALEDIR='"${localedir}"' | ||
223 | INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. | ||
224 | AM_CFLAGS = -std=gnu99 -Wall -Wshadow \ | ||
225 | - $(if $($(*F)_no_Werror),,-Werror) \ | ||
226 | - $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ | ||
227 | + $(if $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) \ | ||
228 | $(if $($(*F)_no_Wformat),-Wno-format,-Wformat=2) \ | ||
229 | $($(*F)_CFLAGS) | ||
230 | |||
231 | +if BUILD_WERROR | ||
232 | +AM_CFLAGS += $(if $($(*F)_no_Werror),,-Werror) | ||
233 | +endif | ||
234 | + | ||
235 | if MUDFLAP | ||
236 | AM_CFLAGS += -fmudflap | ||
237 | libmudflap = -lmudflap | ||
238 | Index: elfutils-0.155/config/Makefile.in | ||
239 | =================================================================== | ||
240 | --- elfutils-0.155.orig/config/Makefile.in | ||
241 | +++ elfutils-0.155/config/Makefile.in | ||
242 | @@ -76,6 +76,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ | ||
243 | INSTALL_SCRIPT = @INSTALL_SCRIPT@ | ||
244 | INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ | ||
245 | LDFLAGS = @LDFLAGS@ | ||
246 | +LD_AS_NEEDED = @LD_AS_NEEDED@ | ||
247 | LEX = @LEX@ | ||
248 | LEXLIB = @LEXLIB@ | ||
249 | LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ | ||
250 | @@ -105,6 +106,7 @@ SHELL = @SHELL@ | ||
251 | STRIP = @STRIP@ | ||
252 | USE_NLS = @USE_NLS@ | ||
253 | VERSION = @VERSION@ | ||
254 | +WEXTRA = @WEXTRA@ | ||
255 | XGETTEXT = @XGETTEXT@ | ||
256 | XGETTEXT_015 = @XGETTEXT_015@ | ||
257 | XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ | ||
258 | Index: elfutils-0.155/config.h.in | ||
259 | =================================================================== | ||
260 | --- elfutils-0.155.orig/config.h.in | ||
261 | +++ elfutils-0.155/config.h.in | ||
262 | @@ -6,6 +6,9 @@ | ||
263 | /* Defined if libdw should support GNU ref_alt FORM, dwz multi files. */ | ||
264 | #undef ENABLE_DWZ | ||
265 | |||
266 | +/* Have __builtin_popcount. */ | ||
267 | +#undef HAVE_BUILTIN_POPCOUNT | ||
268 | + | ||
269 | /* $libdir subdirectory containing libebl modules. */ | ||
270 | #undef LIBEBL_SUBDIR | ||
271 | |||
272 | @@ -64,4 +67,7 @@ | ||
273 | /* Define for large files, on AIX-style hosts. */ | ||
274 | #undef _LARGE_FILES | ||
275 | |||
276 | +/* Stubbed out if missing compiler support. */ | ||
277 | +#undef __thread | ||
278 | + | ||
279 | #include <eu-config.h> | ||
280 | Index: elfutils-0.155/configure | ||
281 | =================================================================== | ||
282 | --- elfutils-0.155.orig/configure | ||
283 | +++ elfutils-0.155/configure | ||
284 | @@ -598,6 +598,8 @@ ZLIB_TRUE | ||
285 | LIBEBL_SUBDIR | ||
286 | TESTS_RPATH_FALSE | ||
287 | TESTS_RPATH_TRUE | ||
288 | +BUILD_WERROR_FALSE | ||
289 | +BUILD_WERROR_TRUE | ||
290 | BUILD_STATIC_FALSE | ||
291 | BUILD_STATIC_TRUE | ||
292 | GCOV_FALSE | ||
293 | @@ -612,6 +614,8 @@ NEVER_TRUE | ||
294 | base_cpu | ||
295 | NATIVE_LD_FALSE | ||
296 | NATIVE_LD_TRUE | ||
297 | +LD_AS_NEEDED | ||
298 | +WEXTRA | ||
299 | LEXLIB | ||
300 | LEX_OUTPUT_ROOT | ||
301 | LEX | ||
302 | @@ -725,6 +729,7 @@ enable_mudflap | ||
303 | enable_debugpred | ||
304 | enable_gprof | ||
305 | enable_gcov | ||
306 | +enable_werror | ||
307 | enable_tests_rpath | ||
308 | enable_libebl_subdir | ||
309 | with_zlib | ||
310 | @@ -1378,6 +1383,7 @@ Optional Features: | ||
311 | prediction | ||
312 | --enable-gprof build binaries with gprof support | ||
313 | --enable-gcov build binaries with gcov support | ||
314 | + --disable-werror do not build with -Werror | ||
315 | --enable-tests-rpath build $ORIGIN-using rpath into tests | ||
316 | --enable-libebl-subdir=DIR | ||
317 | install libebl_CPU modules in $(libdir)/DIR | ||
318 | @@ -3917,6 +3923,130 @@ if test "x$ac_cv_c99" != xyes; then : | ||
319 | as_fn_error $? "gcc with C99 support required" "$LINENO" 5 | ||
320 | fi | ||
321 | |||
322 | +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Wextra option to $CC" >&5 | ||
323 | +$as_echo_n "checking for -Wextra option to $CC... " >&6; } | ||
324 | +if ${ac_cv_cc_wextra+:} false; then : | ||
325 | + $as_echo_n "(cached) " >&6 | ||
326 | +else | ||
327 | + old_CFLAGS="$CFLAGS" | ||
328 | +CFLAGS="$CFLAGS -Wextra" | ||
329 | +cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
330 | +/* end confdefs.h. */ | ||
331 | +void foo (void) { } | ||
332 | +_ACEOF | ||
333 | +if ac_fn_c_try_compile "$LINENO"; then : | ||
334 | + ac_cv_cc_wextra=yes | ||
335 | +else | ||
336 | + ac_cv_cc_wextra=no | ||
337 | +fi | ||
338 | +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
339 | +CFLAGS="$old_CFLAGS" | ||
340 | +fi | ||
341 | +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cc_wextra" >&5 | ||
342 | +$as_echo "$ac_cv_cc_wextra" >&6; } | ||
343 | + | ||
344 | +if test "x$ac_cv_cc_wextra" = xyes; then : | ||
345 | + WEXTRA=-Wextra | ||
346 | +else | ||
347 | + WEXTRA=-W | ||
348 | +fi | ||
349 | + | ||
350 | +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fgnu89-inline option to $CC" >&5 | ||
351 | +$as_echo_n "checking for -fgnu89-inline option to $CC... " >&6; } | ||
352 | +if ${ac_cv_cc_gnu89_inline+:} false; then : | ||
353 | + $as_echo_n "(cached) " >&6 | ||
354 | +else | ||
355 | + old_CFLAGS="$CFLAGS" | ||
356 | +CFLAGS="$CFLAGS -fgnu89-inline -Werror" | ||
357 | +cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
358 | +/* end confdefs.h. */ | ||
359 | + | ||
360 | +void foo (void) | ||
361 | +{ | ||
362 | + inline void bar (void) {} | ||
363 | + bar (); | ||
364 | +} | ||
365 | +extern inline void baz (void) {} | ||
366 | + | ||
367 | +_ACEOF | ||
368 | +if ac_fn_c_try_compile "$LINENO"; then : | ||
369 | + ac_cv_cc_gnu89_inline=yes | ||
370 | +else | ||
371 | + ac_cv_cc_gnu89_inline=no | ||
372 | +fi | ||
373 | +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||
374 | +CFLAGS="$old_CFLAGS" | ||
375 | +fi | ||
376 | +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cc_gnu89_inline" >&5 | ||
377 | +$as_echo "$ac_cv_cc_gnu89_inline" >&6; } | ||
378 | +if test "x$ac_cv_cc_gnu89_inline" = xyes; then : | ||
379 | + WEXTRA="${WEXTRA:+$WEXTRA }-fgnu89-inline" | ||
380 | +fi | ||
381 | + | ||
382 | +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --as-needed linker option" >&5 | ||
383 | +$as_echo_n "checking for --as-needed linker option... " >&6; } | ||
384 | +if ${ac_cv_as_needed+:} false; then : | ||
385 | + $as_echo_n "(cached) " >&6 | ||
386 | +else | ||
387 | + cat > conftest.c <<EOF | ||
388 | +int main (void) { return 0; } | ||
389 | +EOF | ||
390 | +if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS | ||
391 | + -fPIC -shared -o conftest.so conftest.c | ||
392 | + -Wl,--as-needed 1>&5' | ||
393 | + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 | ||
394 | + (eval $ac_try) 2>&5 | ||
395 | + ac_status=$? | ||
396 | + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 | ||
397 | + test $ac_status = 0; }; } | ||
398 | +then | ||
399 | + ac_cv_as_needed=yes | ||
400 | +else | ||
401 | + ac_cv_as_needed=no | ||
402 | +fi | ||
403 | +rm -f conftest* | ||
404 | +fi | ||
405 | +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_as_needed" >&5 | ||
406 | +$as_echo "$ac_cv_as_needed" >&6; } | ||
407 | +if test "x$ac_cv_as_needed" = xyes; then : | ||
408 | + LD_AS_NEEDED=-Wl,--as-needed | ||
409 | +else | ||
410 | + LD_AS_NEEDED= | ||
411 | +fi | ||
412 | + | ||
413 | + | ||
414 | +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __builtin_popcount" >&5 | ||
415 | +$as_echo_n "checking for __builtin_popcount... " >&6; } | ||
416 | +if ${ac_cv_popcount+:} false; then : | ||
417 | + $as_echo_n "(cached) " >&6 | ||
418 | +else | ||
419 | + cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
420 | +/* end confdefs.h. */ | ||
421 | + | ||
422 | +int | ||
423 | +main () | ||
424 | +{ | ||
425 | +exit (__builtin_popcount (127)); | ||
426 | + ; | ||
427 | + return 0; | ||
428 | +} | ||
429 | +_ACEOF | ||
430 | +if ac_fn_c_try_link "$LINENO"; then : | ||
431 | + ac_cv_popcount=yes | ||
432 | +else | ||
433 | + ac_cv_popcount=no | ||
434 | +fi | ||
435 | +rm -f core conftest.err conftest.$ac_objext \ | ||
436 | + conftest$ac_exeext conftest.$ac_ext | ||
437 | +fi | ||
438 | +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_popcount" >&5 | ||
439 | +$as_echo "$ac_cv_popcount" >&6; } | ||
440 | +if test "x$ac_cv_popcount" = xyes; then : | ||
441 | + | ||
442 | +$as_echo "#define HAVE_BUILTIN_POPCOUNT 1" >>confdefs.h | ||
443 | + | ||
444 | +fi | ||
445 | + | ||
446 | { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __thread support" >&5 | ||
447 | $as_echo_n "checking for __thread support... " >&6; } | ||
448 | if ${ac_cv_tls+:} false; then : | ||
449 | @@ -3953,7 +4083,13 @@ fi | ||
450 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_tls" >&5 | ||
451 | $as_echo "$ac_cv_tls" >&6; } | ||
452 | if test "x$ac_cv_tls" != xyes; then : | ||
453 | - as_fn_error $? "__thread support required" "$LINENO" 5 | ||
454 | + if test "$use_locks" = yes; then : | ||
455 | + as_fn_error $? "--enable-thread-safety requires __thread support" "$LINENO" 5 | ||
456 | +else | ||
457 | + | ||
458 | +$as_echo "#define __thread /* empty: no multi-thread support */" >>confdefs.h | ||
459 | + | ||
460 | +fi | ||
461 | fi | ||
462 | |||
463 | # Check whether --enable-largefile was given. | ||
464 | @@ -4302,6 +4438,22 @@ else | ||
465 | fi | ||
466 | |||
467 | |||
468 | +# Check whether --enable-werror was given. | ||
469 | +if test "${enable_werror+set}" = set; then : | ||
470 | + enableval=$enable_werror; enable_werror=$enableval | ||
471 | +else | ||
472 | + enable_werror=yes | ||
473 | +fi | ||
474 | + | ||
475 | + if test "$enable_werror" = yes; then | ||
476 | + BUILD_WERROR_TRUE= | ||
477 | + BUILD_WERROR_FALSE='#' | ||
478 | +else | ||
479 | + BUILD_WERROR_TRUE='#' | ||
480 | + BUILD_WERROR_FALSE= | ||
481 | +fi | ||
482 | + | ||
483 | + | ||
484 | # Check whether --enable-tests-rpath was given. | ||
485 | if test "${enable_tests_rpath+set}" = set; then : | ||
486 | enableval=$enable_tests_rpath; tests_use_rpath=$enableval | ||
487 | @@ -5022,7 +5174,7 @@ case "$eu_version" in | ||
488 | esac | ||
489 | |||
490 | # Round up to the next release API (x.y) version. | ||
491 | -eu_version=$(( (eu_version + 999) / 1000 )) | ||
492 | +eu_version=`expr \( $eu_version + 999 \) / 1000` | ||
493 | |||
494 | cat >confcache <<\_ACEOF | ||
495 | # This file is a shell script that caches the results of configure | ||
496 | @@ -5185,6 +5337,10 @@ if test -z "${BUILD_STATIC_TRUE}" && tes | ||
497 | as_fn_error $? "conditional \"BUILD_STATIC\" was never defined. | ||
498 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | ||
499 | fi | ||
500 | +if test -z "${BUILD_WERROR_TRUE}" && test -z "${BUILD_WERROR_FALSE}"; then | ||
501 | + as_fn_error $? "conditional \"BUILD_WERROR\" was never defined. | ||
502 | +Usually this means the macro was only invoked conditionally." "$LINENO" 5 | ||
503 | +fi | ||
504 | if test -z "${TESTS_RPATH_TRUE}" && test -z "${TESTS_RPATH_FALSE}"; then | ||
505 | as_fn_error $? "conditional \"TESTS_RPATH\" was never defined. | ||
506 | Usually this means the macro was only invoked conditionally." "$LINENO" 5 | ||
507 | |||
508 | Index: elfutils-0.155/configure.ac | ||
509 | =================================================================== | ||
510 | --- elfutils-0.155.orig/configure.ac | ||
511 | +++ elfutils-0.155/configure.ac | ||
512 | @@ -90,6 +90,54 @@ CFLAGS="$old_CFLAGS"]) | ||
513 | AS_IF([test "x$ac_cv_c99" != xyes], | ||
514 | AC_MSG_ERROR([gcc with C99 support required])) | ||
515 | |||
516 | +AC_CACHE_CHECK([for -Wextra option to $CC], ac_cv_cc_wextra, [dnl | ||
517 | +old_CFLAGS="$CFLAGS" | ||
518 | +CFLAGS="$CFLAGS -Wextra" | ||
519 | +AC_COMPILE_IFELSE([AC_LANG_SOURCE([void foo (void) { }])], | ||
520 | + ac_cv_cc_wextra=yes, ac_cv_cc_wextra=no) | ||
521 | +CFLAGS="$old_CFLAGS"]) | ||
522 | +AC_SUBST(WEXTRA) | ||
523 | +AS_IF([test "x$ac_cv_cc_wextra" = xyes], [WEXTRA=-Wextra], [WEXTRA=-W]) | ||
524 | + | ||
525 | +AC_CACHE_CHECK([for -fgnu89-inline option to $CC], ac_cv_cc_gnu89_inline, [dnl | ||
526 | +old_CFLAGS="$CFLAGS" | ||
527 | +CFLAGS="$CFLAGS -fgnu89-inline -Werror" | ||
528 | +AC_COMPILE_IFELSE([AC_LANG_SOURCE([ | ||
529 | +void foo (void) | ||
530 | +{ | ||
531 | + inline void bar (void) {} | ||
532 | + bar (); | ||
533 | +} | ||
534 | +extern inline void baz (void) {} | ||
535 | +])], ac_cv_cc_gnu89_inline=yes, ac_cv_cc_gnu89_inline=no) | ||
536 | +CFLAGS="$old_CFLAGS"]) | ||
537 | +AS_IF([test "x$ac_cv_cc_gnu89_inline" = xyes], | ||
538 | + [WEXTRA="${WEXTRA:+$WEXTRA }-fgnu89-inline"]) | ||
539 | + | ||
540 | +AC_CACHE_CHECK([for --as-needed linker option], | ||
541 | + ac_cv_as_needed, [dnl | ||
542 | +cat > conftest.c <<EOF | ||
543 | +int main (void) { return 0; } | ||
544 | +EOF | ||
545 | +if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS | ||
546 | + -fPIC -shared -o conftest.so conftest.c | ||
547 | + -Wl,--as-needed 1>&AS_MESSAGE_LOG_FD]) | ||
548 | +then | ||
549 | + ac_cv_as_needed=yes | ||
550 | +else | ||
551 | + ac_cv_as_needed=no | ||
552 | +fi | ||
553 | +rm -f conftest*]) | ||
554 | +AS_IF([test "x$ac_cv_as_needed" = xyes], | ||
555 | + [LD_AS_NEEDED=-Wl,--as-needed], [LD_AS_NEEDED=]) | ||
556 | +AC_SUBST(LD_AS_NEEDED) | ||
557 | + | ||
558 | +AC_CACHE_CHECK([for __builtin_popcount], ac_cv_popcount, [dnl | ||
559 | +AC_LINK_IFELSE([AC_LANG_PROGRAM([], [[exit (__builtin_popcount (127));]])], | ||
560 | + ac_cv_popcount=yes, ac_cv_popcount=no)]) | ||
561 | +AS_IF([test "x$ac_cv_popcount" = xyes], | ||
562 | + [AC_DEFINE([HAVE_BUILTIN_POPCOUNT], [1], [Have __builtin_popcount.])]) | ||
563 | + | ||
564 | AC_CACHE_CHECK([for __thread support], ac_cv_tls, [dnl | ||
565 | # Use the same flags that we use for our DSOs, so the test is representative. | ||
566 | # Some old compiler/linker/libc combinations fail some ways and not others. | ||
567 | @@ -105,7 +153,10 @@ static __thread int a; int foo (int b) { | ||
568 | CFLAGS="$save_CFLAGS" | ||
569 | LDFLAGS="$save_LDFLAGS"]) | ||
570 | AS_IF([test "x$ac_cv_tls" != xyes], | ||
571 | - AC_MSG_ERROR([__thread support required])) | ||
572 | + [AS_IF([test "$use_locks" = yes], | ||
573 | + [AC_MSG_ERROR([--enable-thread-safety requires __thread support])], | ||
574 | + [AC_DEFINE([__thread], [/* empty: no multi-thread support */], | ||
575 | + [Stubbed out if missing compiler support.])])]) | ||
576 | |||
577 | dnl This test must come as early as possible after the compiler configuration | ||
578 | dnl tests, because the choice of the file model can (in principle) affect | ||
579 | @@ -193,6 +244,11 @@ AM_CONDITIONAL(GCOV, test "$use_gcov" = | ||
580 | AM_CONDITIONAL(BUILD_STATIC, [dnl | ||
581 | test "$use_mudflap" = yes -o "$use_gprof" = yes -o "$use_gcov" = yes]) | ||
582 | |||
583 | +AC_ARG_ENABLE([werror], | ||
584 | +AS_HELP_STRING([--disable-werror],[do not build with -Werror]), | ||
585 | + [enable_werror=$enableval], [enable_werror=yes]) | ||
586 | +AM_CONDITIONAL(BUILD_WERROR, test "$enable_werror" = yes) | ||
587 | + | ||
588 | AC_ARG_ENABLE([tests-rpath], | ||
589 | AS_HELP_STRING([--enable-tests-rpath],[build $ORIGIN-using rpath into tests]), | ||
590 | [tests_use_rpath=$enableval], [tests_use_rpath=no]) | ||
591 | @@ -304,6 +360,6 @@ case "$eu_version" in | ||
592 | esac | ||
593 | |||
594 | # Round up to the next release API (x.y) version. | ||
595 | -eu_version=$(( (eu_version + 999) / 1000 )) | ||
596 | +eu_version=`expr \( $eu_version + 999 \) / 1000` | ||
597 | |||
598 | AC_OUTPUT | ||
599 | Index: elfutils-0.155/lib/ChangeLog | ||
600 | =================================================================== | ||
601 | --- elfutils-0.155.orig/lib/ChangeLog | ||
602 | +++ elfutils-0.155/lib/ChangeLog | ||
603 | @@ -35,6 +35,9 @@ | ||
604 | |||
605 | 2009-01-23 Roland McGrath <roland@redhat.com> | ||
606 | |||
607 | + * eu-config.h [! HAVE_BUILTIN_POPCOUNT] | ||
608 | + (__builtin_popcount): New inline function. | ||
609 | + | ||
610 | * eu-config.h: Add multiple inclusion protection. | ||
611 | |||
612 | 2009-01-17 Ulrich Drepper <drepper@redhat.com> | ||
613 | @@ -91,6 +94,11 @@ | ||
614 | * Makefile.am (libeu_a_SOURCES): Add it. | ||
615 | * system.h: Declare crc32_file. | ||
616 | |||
617 | +2005-02-07 Roland McGrath <roland@redhat.com> | ||
618 | + | ||
619 | + * Makefile.am (WEXTRA): New variable, substituted by configure. | ||
620 | + (AM_CFLAGS): Use it in place of -Wextra. | ||
621 | + | ||
622 | 2005-04-30 Ulrich Drepper <drepper@redhat.com> | ||
623 | |||
624 | * Makefile.am: Use -ffunction-sections for xmalloc.c. | ||
625 | Index: elfutils-0.155/lib/eu-config.h | ||
626 | =================================================================== | ||
627 | --- elfutils-0.155.orig/lib/eu-config.h | ||
628 | +++ elfutils-0.155/lib/eu-config.h | ||
629 | @@ -162,6 +162,17 @@ asm (".section predict_data, \"aw\"; .pr | ||
630 | /* This macro is used by the tests conditionalize for standalone building. */ | ||
631 | #define ELFUTILS_HEADER(name) <lib##name.h> | ||
632 | |||
633 | +#ifndef HAVE_BUILTIN_POPCOUNT | ||
634 | +# define __builtin_popcount hakmem_popcount | ||
635 | +static inline unsigned int __attribute__ ((unused)) | ||
636 | +hakmem_popcount (unsigned int x) | ||
637 | +{ | ||
638 | + /* HAKMEM 169 */ | ||
639 | + unsigned int n = x - ((x >> 1) & 033333333333) - ((x >> 2) & 011111111111); | ||
640 | + return ((n + (n >> 3)) & 030707070707) % 63; | ||
641 | +} | ||
642 | +#endif /* HAVE_BUILTIN_POPCOUNT */ | ||
643 | + | ||
644 | |||
645 | #ifdef SHARED | ||
646 | # define OLD_VERSION(name, version) \ | ||
647 | Index: elfutils-0.155/lib/Makefile.in | ||
648 | =================================================================== | ||
649 | --- elfutils-0.155.orig/lib/Makefile.in | ||
650 | +++ elfutils-0.155/lib/Makefile.in | ||
651 | @@ -37,7 +37,8 @@ build_triplet = @build@ | ||
652 | host_triplet = @host@ | ||
653 | DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ | ||
654 | $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog | ||
655 | -@MUDFLAP_TRUE@am__append_1 = -fmudflap | ||
656 | +@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror) | ||
657 | +@MUDFLAP_TRUE@am__append_2 = -fmudflap | ||
658 | subdir = lib | ||
659 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | ||
660 | am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ | ||
661 | @@ -100,6 +101,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ | ||
662 | INSTALL_SCRIPT = @INSTALL_SCRIPT@ | ||
663 | INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ | ||
664 | LDFLAGS = @LDFLAGS@ | ||
665 | +LD_AS_NEEDED = @LD_AS_NEEDED@ | ||
666 | LEX = @LEX@ | ||
667 | LEXLIB = @LEXLIB@ | ||
668 | LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ | ||
669 | @@ -129,6 +131,7 @@ SHELL = @SHELL@ | ||
670 | STRIP = @STRIP@ | ||
671 | USE_NLS = @USE_NLS@ | ||
672 | VERSION = @VERSION@ | ||
673 | +WEXTRA = @WEXTRA@ | ||
674 | XGETTEXT = @XGETTEXT@ | ||
675 | XGETTEXT_015 = @XGETTEXT_015@ | ||
676 | XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ | ||
677 | @@ -190,10 +193,9 @@ zip_LIBS = @zip_LIBS@ | ||
678 | INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. \ | ||
679 | -I$(srcdir)/../libelf | ||
680 | AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ | ||
681 | - $($(*F)_no_Werror),,-Werror) $(if \ | ||
682 | - $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \ | ||
683 | + $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \ | ||
684 | $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \ | ||
685 | - $(am__append_1) -fpic | ||
686 | + $(am__append_1) $(am__append_2) -fpic | ||
687 | @MUDFLAP_FALSE@libmudflap = | ||
688 | @MUDFLAP_TRUE@libmudflap = -lmudflap | ||
689 | COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\ | ||
690 | Index: elfutils-0.155/libasm/ChangeLog | ||
691 | =================================================================== | ||
692 | --- elfutils-0.155.orig/libasm/ChangeLog | ||
693 | +++ elfutils-0.155/libasm/ChangeLog | ||
694 | @@ -71,6 +71,11 @@ | ||
695 | * asm_error.c: Add new error ASM_E_IOERROR. | ||
696 | * libasmP.h: Add ASM_E_IOERROR definition. | ||
697 | |||
698 | +2005-05-31 Roland McGrath <roland@redhat.com> | ||
699 | + | ||
700 | + * Makefile.am (WEXTRA): New variable, substituted by configure. | ||
701 | + (AM_CFLAGS): Use it in place of -Wextra. | ||
702 | + | ||
703 | 2005-02-15 Ulrich Drepper <drepper@redhat.com> | ||
704 | |||
705 | * Makefile.am (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2. | ||
706 | Index: elfutils-0.155/libasm/Makefile.in | ||
707 | =================================================================== | ||
708 | --- elfutils-0.155.orig/libasm/Makefile.in | ||
709 | +++ elfutils-0.155/libasm/Makefile.in | ||
710 | @@ -39,10 +39,11 @@ host_triplet = @host@ | ||
711 | DIST_COMMON = $(noinst_HEADERS) $(pkginclude_HEADERS) \ | ||
712 | $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ | ||
713 | $(top_srcdir)/config/eu.am ChangeLog | ||
714 | -@MUDFLAP_TRUE@am__append_1 = -fmudflap | ||
715 | +@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror) | ||
716 | +@MUDFLAP_TRUE@am__append_2 = -fmudflap | ||
717 | @MUDFLAP_FALSE@noinst_PROGRAMS = $(am__EXEEXT_1) | ||
718 | @MUDFLAP_TRUE@am_libasm_pic_a_OBJECTS = | ||
719 | -@MUDFLAP_FALSE@@USE_LOCKS_TRUE@am__append_2 = -lpthread | ||
720 | +@MUDFLAP_FALSE@@USE_LOCKS_TRUE@am__append_3 = -lpthread | ||
721 | subdir = libasm | ||
722 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | ||
723 | am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ | ||
724 | @@ -153,6 +154,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ | ||
725 | INSTALL_SCRIPT = @INSTALL_SCRIPT@ | ||
726 | INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ | ||
727 | LDFLAGS = @LDFLAGS@ | ||
728 | +LD_AS_NEEDED = @LD_AS_NEEDED@ | ||
729 | LEX = @LEX@ | ||
730 | LEXLIB = @LEXLIB@ | ||
731 | LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ | ||
732 | @@ -182,6 +184,7 @@ SHELL = @SHELL@ | ||
733 | STRIP = @STRIP@ | ||
734 | USE_NLS = @USE_NLS@ | ||
735 | VERSION = 1 | ||
736 | +WEXTRA = @WEXTRA@ | ||
737 | XGETTEXT = @XGETTEXT@ | ||
738 | XGETTEXT_015 = @XGETTEXT_015@ | ||
739 | XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ | ||
740 | @@ -244,10 +247,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi | ||
741 | -I$(top_srcdir)/libelf -I$(top_srcdir)/libebl \ | ||
742 | -I$(top_srcdir)/libdw | ||
743 | AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ | ||
744 | - $($(*F)_no_Werror),,-Werror) $(if \ | ||
745 | - $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \ | ||
746 | + $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \ | ||
747 | $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \ | ||
748 | - $(am__append_1) | ||
749 | + $(am__append_1) $(am__append_2) | ||
750 | @MUDFLAP_FALSE@libmudflap = | ||
751 | @MUDFLAP_TRUE@libmudflap = -lmudflap | ||
752 | COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\ | ||
753 | @@ -276,7 +278,7 @@ libasm_a_SOURCES = asm_begin.c asm_abort | ||
754 | |||
755 | @MUDFLAP_FALSE@libasm_pic_a_SOURCES = | ||
756 | @MUDFLAP_FALSE@am_libasm_pic_a_OBJECTS = $(libasm_a_SOURCES:.c=.os) | ||
757 | -@MUDFLAP_FALSE@libasm_so_LDLIBS = $(am__append_2) | ||
758 | +@MUDFLAP_FALSE@libasm_so_LDLIBS = $(am__append_3) | ||
759 | @MUDFLAP_FALSE@libasm_so_SOURCES = | ||
760 | noinst_HEADERS = libasmP.h symbolhash.h | ||
761 | EXTRA_DIST = libasm.map | ||
762 | Index: elfutils-0.155/libcpu/ChangeLog | ||
763 | =================================================================== | ||
764 | --- elfutils-0.155.orig/libcpu/ChangeLog | ||
765 | +++ elfutils-0.155/libcpu/ChangeLog | ||
766 | @@ -38,6 +38,9 @@ | ||
767 | |||
768 | 2009-01-23 Roland McGrath <roland@redhat.com> | ||
769 | |||
770 | + * i386_disasm.c (i386_disasm): Add abort after assert-constant for old | ||
771 | + compilers that don't realize it's noreturn. | ||
772 | + | ||
773 | * Makefile.am (i386_parse_CFLAGS): Use quotes around command | ||
774 | substitution that can produce leading whitespace. | ||
775 | |||
776 | @@ -367,6 +370,11 @@ | ||
777 | * defs/i386.doc: New file. | ||
778 | * defs/x86_64: New file. | ||
779 | |||
780 | +2005-04-04 Roland McGrath <roland@redhat.com> | ||
781 | + | ||
782 | + * Makefile.am (WEXTRA): New variable, substituted by configure. | ||
783 | + (AM_CFLAGS): Use it instead of -Wextra. | ||
784 | + | ||
785 | 2005-02-15 Ulrich Drepper <drepper@redhat.com> | ||
786 | |||
787 | * Makefile (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2. | ||
788 | Index: elfutils-0.155/libcpu/i386_disasm.c | ||
789 | =================================================================== | ||
790 | --- elfutils-0.155.orig/libcpu/i386_disasm.c | ||
791 | +++ elfutils-0.155/libcpu/i386_disasm.c | ||
792 | @@ -822,6 +822,7 @@ i386_disasm (const uint8_t **startp, con | ||
793 | |||
794 | default: | ||
795 | assert (! "INVALID not handled"); | ||
796 | + abort (); | ||
797 | } | ||
798 | } | ||
799 | else | ||
800 | Index: elfutils-0.155/libcpu/Makefile.in | ||
801 | =================================================================== | ||
802 | --- elfutils-0.155.orig/libcpu/Makefile.in | ||
803 | +++ elfutils-0.155/libcpu/Makefile.in | ||
804 | @@ -39,7 +39,8 @@ host_triplet = @host@ | ||
805 | DIST_COMMON = $(am__noinst_HEADERS_DIST) $(srcdir)/Makefile.am \ | ||
806 | $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog \ | ||
807 | i386_lex.c i386_parse.c | ||
808 | -@MUDFLAP_TRUE@am__append_1 = -fmudflap | ||
809 | +@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror) | ||
810 | +@MUDFLAP_TRUE@am__append_2 = -fmudflap | ||
811 | @MAINTAINER_MODE_TRUE@noinst_PROGRAMS = i386_gendis$(EXEEXT) | ||
812 | subdir = libcpu | ||
813 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | ||
814 | @@ -117,6 +118,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ | ||
815 | INSTALL_SCRIPT = @INSTALL_SCRIPT@ | ||
816 | INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ | ||
817 | LDFLAGS = @LDFLAGS@ | ||
818 | +LD_AS_NEEDED = @LD_AS_NEEDED@ | ||
819 | LEX = @LEX@ | ||
820 | LEXLIB = @LEXLIB@ | ||
821 | LEX_OUTPUT_ROOT = lex.$(<F:lex.l=) | ||
822 | @@ -146,6 +148,7 @@ SHELL = @SHELL@ | ||
823 | STRIP = @STRIP@ | ||
824 | USE_NLS = @USE_NLS@ | ||
825 | VERSION = @VERSION@ | ||
826 | +WEXTRA = @WEXTRA@ | ||
827 | XGETTEXT = @XGETTEXT@ | ||
828 | XGETTEXT_015 = @XGETTEXT_015@ | ||
829 | XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ | ||
830 | @@ -208,10 +211,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi | ||
831 | -I$(srcdir)/../libelf -I$(srcdir)/../libebl \ | ||
832 | -I$(srcdir)/../libdw -I$(srcdir)/../libasm | ||
833 | AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ | ||
834 | - $($(*F)_no_Werror),,-Werror) $(if \ | ||
835 | - $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \ | ||
836 | + $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \ | ||
837 | $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \ | ||
838 | - $(am__append_1) -fpic -fdollars-in-identifiers | ||
839 | + $(am__append_1) $(am__append_2) -fpic -fdollars-in-identifiers | ||
840 | @MUDFLAP_FALSE@libmudflap = | ||
841 | @MUDFLAP_TRUE@libmudflap = -lmudflap | ||
842 | COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\ | ||
843 | Index: elfutils-0.155/libdw/ChangeLog | ||
844 | =================================================================== | ||
845 | --- elfutils-0.155.orig/libdw/ChangeLog | ||
846 | +++ elfutils-0.155/libdw/ChangeLog | ||
847 | @@ -82,6 +82,10 @@ | ||
848 | |||
849 | * Makefile.am (known-dwarf.h): Run gawk on config/known-dwarf.awk. | ||
850 | |||
851 | +2011-07-20 Mark Wielaard <mjw@redhat.com> | ||
852 | + | ||
853 | + * dwarf_begin_elf.c: Add fallback for be64toh if not defined. | ||
854 | + | ||
855 | 2011-07-14 Mark Wielaard <mjw@redhat.com> | ||
856 | |||
857 | * libdw.h (dwarf_offdie): Fix documentation to mention .debug_info. | ||
858 | @@ -441,6 +445,10 @@ | ||
859 | |||
860 | * dwarf_hasattr_integrate.c: Integrate DW_AT_specification too. | ||
861 | |||
862 | +2009-08-17 Roland McGrath <roland@redhat.com> | ||
863 | + | ||
864 | + * libdw.h: Disable extern inlines for GCC 4.2. | ||
865 | + | ||
866 | 2009-08-10 Roland McGrath <roland@redhat.com> | ||
867 | |||
868 | * dwarf_getscopevar.c: Use dwarf_diename. | ||
869 | @@ -1209,6 +1217,11 @@ | ||
870 | |||
871 | 2005-05-31 Roland McGrath <roland@redhat.com> | ||
872 | |||
873 | + * Makefile.am (WEXTRA): New variable, substituted by configure. | ||
874 | + (AM_CFLAGS): Use it in place of -Wextra. | ||
875 | + | ||
876 | +2005-05-31 Roland McGrath <roland@redhat.com> | ||
877 | + | ||
878 | * dwarf_formref_die.c (dwarf_formref_die): Add CU header offset to | ||
879 | formref offset. | ||
880 | |||
881 | Index: elfutils-0.155/libdw/dwarf_begin_elf.c | ||
882 | =================================================================== | ||
883 | --- elfutils-0.155.orig/libdw/dwarf_begin_elf.c | ||
884 | +++ elfutils-0.155/libdw/dwarf_begin_elf.c | ||
885 | @@ -48,6 +48,14 @@ | ||
886 | #if USE_ZLIB | ||
887 | # include <endian.h> | ||
888 | # define crc32 loser_crc32 | ||
889 | +# ifndef be64toh | ||
890 | +# include <byteswap.h> | ||
891 | +# if __BYTE_ORDER == __LITTLE_ENDIAN | ||
892 | +# define be64toh(x) bswap_64 (x) | ||
893 | +# else | ||
894 | +# define be64toh(x) (x) | ||
895 | +# endif | ||
896 | +# endif | ||
897 | # include <zlib.h> | ||
898 | # undef crc32 | ||
899 | #endif | ||
900 | Index: elfutils-0.155/libdw/libdw.h | ||
901 | =================================================================== | ||
902 | --- elfutils-0.155.orig/libdw/libdw.h | ||
903 | +++ elfutils-0.155/libdw/libdw.h | ||
904 | @@ -831,7 +831,7 @@ extern Dwarf_OOM dwarf_new_oom_handler ( | ||
905 | |||
906 | |||
907 | /* Inline optimizations. */ | ||
908 | -#ifdef __OPTIMIZE__ | ||
909 | +#if defined __OPTIMIZE__ && !(__GNUC__ == 4 && __GNUC_MINOR__ == 2) | ||
910 | /* Return attribute code of given attribute. */ | ||
911 | __libdw_extern_inline unsigned int | ||
912 | dwarf_whatattr (Dwarf_Attribute *attr) | ||
913 | Index: elfutils-0.155/libdw/Makefile.in | ||
914 | =================================================================== | ||
915 | --- elfutils-0.155.orig/libdw/Makefile.in | ||
916 | +++ elfutils-0.155/libdw/Makefile.in | ||
917 | @@ -39,8 +39,9 @@ host_triplet = @host@ | ||
918 | DIST_COMMON = $(include_HEADERS) $(noinst_HEADERS) \ | ||
919 | $(pkginclude_HEADERS) $(srcdir)/Makefile.am \ | ||
920 | $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog | ||
921 | -@MUDFLAP_TRUE@am__append_1 = -fmudflap | ||
922 | -@BUILD_STATIC_TRUE@am__append_2 = -fpic | ||
923 | +@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror) | ||
924 | +@MUDFLAP_TRUE@am__append_2 = -fmudflap | ||
925 | +@BUILD_STATIC_TRUE@am__append_3 = -fpic | ||
926 | @MUDFLAP_FALSE@noinst_PROGRAMS = $(am__EXEEXT_1) | ||
927 | @MUDFLAP_TRUE@am_libdw_pic_a_OBJECTS = | ||
928 | subdir = libdw | ||
929 | @@ -198,6 +199,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ | ||
930 | INSTALL_SCRIPT = @INSTALL_SCRIPT@ | ||
931 | INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ | ||
932 | LDFLAGS = @LDFLAGS@ | ||
933 | +LD_AS_NEEDED = @LD_AS_NEEDED@ | ||
934 | LEX = @LEX@ | ||
935 | LEXLIB = @LEXLIB@ | ||
936 | LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ | ||
937 | @@ -227,6 +229,7 @@ SHELL = @SHELL@ | ||
938 | STRIP = @STRIP@ | ||
939 | USE_NLS = @USE_NLS@ | ||
940 | VERSION = 1 | ||
941 | +WEXTRA = @WEXTRA@ | ||
942 | XGETTEXT = @XGETTEXT@ | ||
943 | XGETTEXT_015 = @XGETTEXT_015@ | ||
944 | XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ | ||
945 | @@ -288,10 +291,9 @@ zip_LIBS = @zip_LIBS@ | ||
946 | INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. \ | ||
947 | -I$(srcdir)/../libelf | ||
948 | AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ | ||
949 | - $($(*F)_no_Werror),,-Werror) $(if \ | ||
950 | - $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \ | ||
951 | + $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \ | ||
952 | $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \ | ||
953 | - $(am__append_1) $(am__append_2) | ||
954 | + $(am__append_1) $(am__append_2) $(am__append_3) | ||
955 | @MUDFLAP_FALSE@libmudflap = | ||
956 | @MUDFLAP_TRUE@libmudflap = -lmudflap | ||
957 | COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\ | ||
958 | Index: elfutils-0.155/libdwfl/ChangeLog | ||
959 | =================================================================== | ||
960 | --- elfutils-0.155.orig/libdwfl/ChangeLog | ||
961 | +++ elfutils-0.155/libdwfl/ChangeLog | ||
962 | @@ -1420,6 +1420,11 @@ | ||
963 | |||
964 | 2005-07-21 Roland McGrath <roland@redhat.com> | ||
965 | |||
966 | + * Makefile.am (WEXTRA): New variable, substituted by configure. | ||
967 | + (AM_CFLAGS): Use it in place of -Wextra. | ||
968 | + | ||
969 | +2005-07-21 Roland McGrath <roland@redhat.com> | ||
970 | + | ||
971 | * Makefile.am (noinst_HEADERS): Add loc2c.c. | ||
972 | |||
973 | * test2.c (main): Check sscanf result to quiet warning. | ||
974 | Index: elfutils-0.155/libdwfl/Makefile.in | ||
975 | =================================================================== | ||
976 | --- elfutils-0.155.orig/libdwfl/Makefile.in | ||
977 | +++ elfutils-0.155/libdwfl/Makefile.in | ||
978 | @@ -38,11 +38,12 @@ host_triplet = @host@ | ||
979 | DIST_COMMON = $(noinst_HEADERS) $(pkginclude_HEADERS) \ | ||
980 | $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ | ||
981 | $(top_srcdir)/config/eu.am ChangeLog | ||
982 | -@MUDFLAP_TRUE@am__append_1 = -fmudflap | ||
983 | -@MUDFLAP_FALSE@am__append_2 = libdwfl_pic.a | ||
984 | -@ZLIB_TRUE@am__append_3 = gzip.c | ||
985 | -@BZLIB_TRUE@am__append_4 = bzip2.c | ||
986 | -@LZMA_TRUE@am__append_5 = lzma.c | ||
987 | +@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror) | ||
988 | +@MUDFLAP_TRUE@am__append_2 = -fmudflap | ||
989 | +@MUDFLAP_FALSE@am__append_3 = libdwfl_pic.a | ||
990 | +@ZLIB_TRUE@am__append_4 = gzip.c | ||
991 | +@BZLIB_TRUE@am__append_5 = bzip2.c | ||
992 | +@LZMA_TRUE@am__append_6 = lzma.c | ||
993 | @MUDFLAP_TRUE@am_libdwfl_pic_a_OBJECTS = | ||
994 | subdir = libdwfl | ||
995 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | ||
996 | @@ -188,6 +189,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ | ||
997 | INSTALL_SCRIPT = @INSTALL_SCRIPT@ | ||
998 | INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ | ||
999 | LDFLAGS = @LDFLAGS@ | ||
1000 | +LD_AS_NEEDED = @LD_AS_NEEDED@ | ||
1001 | LEX = @LEX@ | ||
1002 | LEXLIB = @LEXLIB@ | ||
1003 | LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ | ||
1004 | @@ -217,6 +219,7 @@ SHELL = @SHELL@ | ||
1005 | STRIP = @STRIP@ | ||
1006 | USE_NLS = @USE_NLS@ | ||
1007 | VERSION = 1 | ||
1008 | +WEXTRA = @WEXTRA@ | ||
1009 | XGETTEXT = @XGETTEXT@ | ||
1010 | XGETTEXT_015 = @XGETTEXT_015@ | ||
1011 | XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ | ||
1012 | @@ -279,10 +282,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi | ||
1013 | -I$(srcdir)/../libelf -I$(srcdir)/../libebl \ | ||
1014 | -I$(srcdir)/../libdw | ||
1015 | AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ | ||
1016 | - $($(*F)_no_Werror),,-Werror) $(if \ | ||
1017 | - $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \ | ||
1018 | + $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \ | ||
1019 | $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \ | ||
1020 | - $(am__append_1) | ||
1021 | + $(am__append_1) $(am__append_2) | ||
1022 | @MUDFLAP_FALSE@libmudflap = | ||
1023 | @MUDFLAP_TRUE@libmudflap = -lmudflap | ||
1024 | COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\ | ||
1025 | @@ -290,7 +292,7 @@ COMPILE.os = $(filter-out -fprofile-arcs | ||
1026 | |||
1027 | CLEANFILES = *.gcno *.gcda $(am_libdwfl_pic_a_OBJECTS) | ||
1028 | textrel_check = if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi | ||
1029 | -noinst_LIBRARIES = libdwfl.a $(am__append_2) | ||
1030 | +noinst_LIBRARIES = libdwfl.a $(am__append_3) | ||
1031 | pkginclude_HEADERS = libdwfl.h | ||
1032 | libdwfl_a_SOURCES = dwfl_begin.c dwfl_end.c dwfl_error.c \ | ||
1033 | dwfl_version.c dwfl_module.c dwfl_report_elf.c relocate.c \ | ||
1034 | @@ -311,8 +313,8 @@ libdwfl_a_SOURCES = dwfl_begin.c dwfl_en | ||
1035 | dwfl_module_getsym.c dwfl_module_addrname.c \ | ||
1036 | dwfl_module_addrsym.c dwfl_module_return_value_location.c \ | ||
1037 | dwfl_module_register_names.c dwfl_segment_report_module.c \ | ||
1038 | - link_map.c core-file.c open.c image-header.c $(am__append_3) \ | ||
1039 | - $(am__append_4) $(am__append_5) | ||
1040 | + link_map.c core-file.c open.c image-header.c $(am__append_4) \ | ||
1041 | + $(am__append_5) $(am__append_6) | ||
1042 | @MUDFLAP_FALSE@libdwfl = $(libdw) | ||
1043 | @MUDFLAP_TRUE@libdwfl = libdwfl.a $(libdw) $(libebl) $(libelf) $(libeu) | ||
1044 | @MUDFLAP_FALSE@libdw = ../libdw/libdw.so | ||
1045 | Index: elfutils-0.155/libebl/ChangeLog | ||
1046 | =================================================================== | ||
1047 | --- elfutils-0.155.orig/libebl/ChangeLog | ||
1048 | +++ elfutils-0.155/libebl/ChangeLog | ||
1049 | @@ -658,6 +658,11 @@ | ||
1050 | * Makefile.am (libebl_*_so_SOURCES): Set to $(*_SRCS) so dependency | ||
1051 | tracking works right. | ||
1052 | |||
1053 | +2005-05-31 Roland McGrath <roland@redhat.com> | ||
1054 | + | ||
1055 | + * Makefile.am (WEXTRA): New variable, substituted by configure. | ||
1056 | + (AM_CFLAGS): Use it in place of -Wextra. | ||
1057 | + | ||
1058 | 2005-05-21 Ulrich Drepper <drepper@redhat.com> | ||
1059 | |||
1060 | * libebl_x86_64.map: Add x86_64_core_note. | ||
1061 | Index: elfutils-0.155/libebl/Makefile.in | ||
1062 | =================================================================== | ||
1063 | --- elfutils-0.155.orig/libebl/Makefile.in | ||
1064 | +++ elfutils-0.155/libebl/Makefile.in | ||
1065 | @@ -38,7 +38,8 @@ host_triplet = @host@ | ||
1066 | DIST_COMMON = $(noinst_HEADERS) $(pkginclude_HEADERS) \ | ||
1067 | $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ | ||
1068 | $(top_srcdir)/config/eu.am ChangeLog | ||
1069 | -@MUDFLAP_TRUE@am__append_1 = -fmudflap | ||
1070 | +@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror) | ||
1071 | +@MUDFLAP_TRUE@am__append_2 = -fmudflap | ||
1072 | subdir = libebl | ||
1073 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | ||
1074 | am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ | ||
1075 | @@ -150,6 +151,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ | ||
1076 | INSTALL_SCRIPT = @INSTALL_SCRIPT@ | ||
1077 | INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ | ||
1078 | LDFLAGS = @LDFLAGS@ | ||
1079 | +LD_AS_NEEDED = @LD_AS_NEEDED@ | ||
1080 | LEX = @LEX@ | ||
1081 | LEXLIB = @LEXLIB@ | ||
1082 | LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ | ||
1083 | @@ -179,6 +181,7 @@ SHELL = @SHELL@ | ||
1084 | STRIP = @STRIP@ | ||
1085 | USE_NLS = @USE_NLS@ | ||
1086 | VERSION = 1 | ||
1087 | +WEXTRA = @WEXTRA@ | ||
1088 | XGETTEXT = @XGETTEXT@ | ||
1089 | XGETTEXT_015 = @XGETTEXT_015@ | ||
1090 | XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ | ||
1091 | @@ -241,10 +244,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi | ||
1092 | -I$(srcdir)/../libelf -I$(srcdir)/../libdw \ | ||
1093 | -I$(srcdir)/../libasm | ||
1094 | AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ | ||
1095 | - $($(*F)_no_Werror),,-Werror) $(if \ | ||
1096 | - $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \ | ||
1097 | + $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \ | ||
1098 | $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \ | ||
1099 | - $(am__append_1) -fpic | ||
1100 | + $(am__append_1) $(am__append_2) -fpic | ||
1101 | @MUDFLAP_FALSE@libmudflap = | ||
1102 | @MUDFLAP_TRUE@libmudflap = -lmudflap | ||
1103 | COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\ | ||
1104 | Index: elfutils-0.155/libelf/ChangeLog | ||
1105 | =================================================================== | ||
1106 | --- elfutils-0.155.orig/libelf/ChangeLog | ||
1107 | +++ elfutils-0.155/libelf/ChangeLog | ||
1108 | @@ -34,6 +34,11 @@ | ||
1109 | |||
1110 | * elf-knowledge.h (SECTION_STRIP_P): Remove < SHT_NUM check. | ||
1111 | |||
1112 | +2011-03-10 Roland McGrath <roland@redhat.com> | ||
1113 | + | ||
1114 | + * gnuhash_xlate.h (elf_cvt_gnuhash): Avoid post-increment in bswap_32 | ||
1115 | + argument, since some implementations are buggy macros. | ||
1116 | + | ||
1117 | 2011-02-26 Mark Wielaard <mjw@redhat.com> | ||
1118 | |||
1119 | * elf_end.c (elf_end): Call rwlock_unlock before rwlock_fini. | ||
1120 | @@ -711,6 +716,11 @@ | ||
1121 | |||
1122 | * elf.h: Update from glibc. | ||
1123 | |||
1124 | +2005-05-31 Roland McGrath <roland@redhat.com> | ||
1125 | + | ||
1126 | + * Makefile.am (WEXTRA): New variable, substituted by configure. | ||
1127 | + (AM_CFLAGS): Use it in place of -Wextra. | ||
1128 | + | ||
1129 | 2005-05-08 Roland McGrath <roland@redhat.com> | ||
1130 | |||
1131 | * elf_begin.c (read_file) [_MUDFLAP]: Don't use mmap for now. | ||
1132 | Index: elfutils-0.155/libelf/common.h | ||
1133 | =================================================================== | ||
1134 | --- elfutils-0.155.orig/libelf/common.h | ||
1135 | +++ elfutils-0.155/libelf/common.h | ||
1136 | @@ -139,7 +139,7 @@ libelf_release_all (Elf *elf) | ||
1137 | (Var) = (sizeof (Var) == 1 \ | ||
1138 | ? (unsigned char) (Var) \ | ||
1139 | : (sizeof (Var) == 2 \ | ||
1140 | - ? bswap_16 (Var) \ | ||
1141 | + ? (unsigned short int) bswap_16 (Var) \ | ||
1142 | : (sizeof (Var) == 4 \ | ||
1143 | ? bswap_32 (Var) \ | ||
1144 | : bswap_64 (Var)))) | ||
1145 | @@ -148,7 +148,7 @@ libelf_release_all (Elf *elf) | ||
1146 | (Dst) = (sizeof (Var) == 1 \ | ||
1147 | ? (unsigned char) (Var) \ | ||
1148 | : (sizeof (Var) == 2 \ | ||
1149 | - ? bswap_16 (Var) \ | ||
1150 | + ? (unsigned short int) bswap_16 (Var) \ | ||
1151 | : (sizeof (Var) == 4 \ | ||
1152 | ? bswap_32 (Var) \ | ||
1153 | : bswap_64 (Var)))) | ||
1154 | Index: elfutils-0.155/libelf/gnuhash_xlate.h | ||
1155 | =================================================================== | ||
1156 | --- elfutils-0.155.orig/libelf/gnuhash_xlate.h | ||
1157 | +++ elfutils-0.155/libelf/gnuhash_xlate.h | ||
1158 | @@ -1,5 +1,5 @@ | ||
1159 | /* Conversion functions for versioning information. | ||
1160 | - Copyright (C) 2006, 2007 Red Hat, Inc. | ||
1161 | + Copyright (C) 2006-2011 Red Hat, Inc. | ||
1162 | This file is part of elfutils. | ||
1163 | Written by Ulrich Drepper <drepper@redhat.com>, 2006. | ||
1164 | |||
1165 | @@ -68,7 +68,9 @@ elf_cvt_gnuhash (void *dest, const void | ||
1166 | dest32 = (Elf32_Word *) &dest64[bitmask_words]; | ||
1167 | while (len >= 4) | ||
1168 | { | ||
1169 | - *dest32++ = bswap_32 (*src32++); | ||
1170 | + *dest32 = bswap_32 (*src32); | ||
1171 | + ++dest32; | ||
1172 | + ++src32; | ||
1173 | len -= 4; | ||
1174 | } | ||
1175 | } | ||
1176 | Index: elfutils-0.155/libelf/Makefile.in | ||
1177 | =================================================================== | ||
1178 | --- elfutils-0.155.orig/libelf/Makefile.in | ||
1179 | +++ elfutils-0.155/libelf/Makefile.in | ||
1180 | @@ -39,11 +39,12 @@ host_triplet = @host@ | ||
1181 | DIST_COMMON = $(include_HEADERS) $(noinst_HEADERS) \ | ||
1182 | $(pkginclude_HEADERS) $(srcdir)/Makefile.am \ | ||
1183 | $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog | ||
1184 | -@MUDFLAP_TRUE@am__append_1 = -fmudflap | ||
1185 | -@BUILD_STATIC_TRUE@am__append_2 = -fpic | ||
1186 | +@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror) | ||
1187 | +@MUDFLAP_TRUE@am__append_2 = -fmudflap | ||
1188 | +@BUILD_STATIC_TRUE@am__append_3 = -fpic | ||
1189 | @MUDFLAP_FALSE@noinst_PROGRAMS = $(am__EXEEXT_1) | ||
1190 | @MUDFLAP_TRUE@am_libelf_pic_a_OBJECTS = | ||
1191 | -@MUDFLAP_FALSE@@USE_LOCKS_TRUE@am__append_3 = -lpthread | ||
1192 | +@MUDFLAP_FALSE@@USE_LOCKS_TRUE@am__append_4 = -lpthread | ||
1193 | subdir = libelf | ||
1194 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | ||
1195 | am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ | ||
1196 | @@ -195,6 +196,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ | ||
1197 | INSTALL_SCRIPT = @INSTALL_SCRIPT@ | ||
1198 | INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ | ||
1199 | LDFLAGS = @LDFLAGS@ | ||
1200 | +LD_AS_NEEDED = @LD_AS_NEEDED@ | ||
1201 | LEX = @LEX@ | ||
1202 | LEXLIB = @LEXLIB@ | ||
1203 | LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ | ||
1204 | @@ -224,6 +226,7 @@ SHELL = @SHELL@ | ||
1205 | STRIP = @STRIP@ | ||
1206 | USE_NLS = @USE_NLS@ | ||
1207 | VERSION = 1 | ||
1208 | +WEXTRA = @WEXTRA@ | ||
1209 | XGETTEXT = @XGETTEXT@ | ||
1210 | XGETTEXT_015 = @XGETTEXT_015@ | ||
1211 | XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ | ||
1212 | @@ -284,10 +287,9 @@ top_srcdir = @top_srcdir@ | ||
1213 | zip_LIBS = @zip_LIBS@ | ||
1214 | INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. | ||
1215 | AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ | ||
1216 | - $($(*F)_no_Werror),,-Werror) $(if \ | ||
1217 | - $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \ | ||
1218 | + $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \ | ||
1219 | $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \ | ||
1220 | - $(am__append_1) $(am__append_2) | ||
1221 | + $(am__append_1) $(am__append_2) $(am__append_3) | ||
1222 | @MUDFLAP_FALSE@libmudflap = | ||
1223 | @MUDFLAP_TRUE@libmudflap = -lmudflap | ||
1224 | COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\ | ||
1225 | @@ -352,7 +354,7 @@ libelf_a_SOURCES = elf_version.c elf_has | ||
1226 | |||
1227 | @MUDFLAP_FALSE@libelf_pic_a_SOURCES = | ||
1228 | @MUDFLAP_FALSE@am_libelf_pic_a_OBJECTS = $(libelf_a_SOURCES:.c=.os) | ||
1229 | -@MUDFLAP_FALSE@libelf_so_LDLIBS = $(am__append_3) | ||
1230 | +@MUDFLAP_FALSE@libelf_so_LDLIBS = $(am__append_4) | ||
1231 | @MUDFLAP_FALSE@libelf_so_SOURCES = | ||
1232 | noinst_HEADERS = elf.h abstract.h common.h exttypes.h gelf_xlate.h libelfP.h \ | ||
1233 | version_xlate.h gnuhash_xlate.h note_xlate.h dl-hash.h | ||
1234 | Index: elfutils-0.155/m4/Makefile.in | ||
1235 | =================================================================== | ||
1236 | --- elfutils-0.155.orig/m4/Makefile.in | ||
1237 | +++ elfutils-0.155/m4/Makefile.in | ||
1238 | @@ -75,6 +75,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ | ||
1239 | INSTALL_SCRIPT = @INSTALL_SCRIPT@ | ||
1240 | INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ | ||
1241 | LDFLAGS = @LDFLAGS@ | ||
1242 | +LD_AS_NEEDED = @LD_AS_NEEDED@ | ||
1243 | LEX = @LEX@ | ||
1244 | LEXLIB = @LEXLIB@ | ||
1245 | LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ | ||
1246 | @@ -104,6 +105,7 @@ SHELL = @SHELL@ | ||
1247 | STRIP = @STRIP@ | ||
1248 | USE_NLS = @USE_NLS@ | ||
1249 | VERSION = @VERSION@ | ||
1250 | +WEXTRA = @WEXTRA@ | ||
1251 | XGETTEXT = @XGETTEXT@ | ||
1252 | XGETTEXT_015 = @XGETTEXT_015@ | ||
1253 | XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ | ||
1254 | Index: elfutils-0.155/Makefile.in | ||
1255 | =================================================================== | ||
1256 | --- elfutils-0.155.orig/Makefile.in | ||
1257 | +++ elfutils-0.155/Makefile.in | ||
1258 | @@ -165,6 +165,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ | ||
1259 | INSTALL_SCRIPT = @INSTALL_SCRIPT@ | ||
1260 | INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ | ||
1261 | LDFLAGS = @LDFLAGS@ | ||
1262 | +LD_AS_NEEDED = @LD_AS_NEEDED@ | ||
1263 | LEX = @LEX@ | ||
1264 | LEXLIB = @LEXLIB@ | ||
1265 | LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ | ||
1266 | @@ -194,6 +195,7 @@ SHELL = @SHELL@ | ||
1267 | STRIP = @STRIP@ | ||
1268 | USE_NLS = @USE_NLS@ | ||
1269 | VERSION = @VERSION@ | ||
1270 | +WEXTRA = @WEXTRA@ | ||
1271 | XGETTEXT = @XGETTEXT@ | ||
1272 | XGETTEXT_015 = @XGETTEXT_015@ | ||
1273 | XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ | ||
1274 | Index: elfutils-0.155/src/addr2line.c | ||
1275 | =================================================================== | ||
1276 | --- elfutils-0.155.orig/src/addr2line.c | ||
1277 | +++ elfutils-0.155/src/addr2line.c | ||
1278 | @@ -447,10 +447,10 @@ handle_address (const char *string, Dwfl | ||
1279 | bool parsed = false; | ||
1280 | int i, j; | ||
1281 | char *name = NULL; | ||
1282 | - if (sscanf (string, "(%m[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2 | ||
1283 | + if (sscanf (string, "(%a[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2 | ||
1284 | && string[i] == '\0') | ||
1285 | parsed = adjust_to_section (name, &addr, dwfl); | ||
1286 | - switch (sscanf (string, "%m[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j)) | ||
1287 | + switch (sscanf (string, "%a[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j)) | ||
1288 | { | ||
1289 | default: | ||
1290 | break; | ||
1291 | Index: elfutils-0.155/src/ChangeLog | ||
1292 | =================================================================== | ||
1293 | --- elfutils-0.155.orig/src/ChangeLog | ||
1294 | +++ elfutils-0.155/src/ChangeLog | ||
1295 | @@ -606,8 +606,16 @@ | ||
1296 | * readelf.c (attr_callback): Use print_block only when we don't use | ||
1297 | print_ops. | ||
1298 | |||
1299 | +2009-08-17 Roland McGrath <roland@redhat.com> | ||
1300 | + | ||
1301 | + * ld.h: Disable extern inlines for GCC 4.2. | ||
1302 | + | ||
1303 | 2009-08-14 Roland McGrath <roland@redhat.com> | ||
1304 | |||
1305 | + * strings.c (read_block): Conditionalize posix_fadvise use | ||
1306 | + on [POSIX_FADV_SEQUENTIAL]. | ||
1307 | + From Petr Salinger <Petr.Salinger@seznam.cz>. | ||
1308 | + | ||
1309 | * ar.c (do_oper_extract): Use pathconf instead of statfs. | ||
1310 | |||
1311 | 2009-08-01 Ulrich Drepper <drepper@redhat.com> | ||
1312 | @@ -771,6 +779,8 @@ | ||
1313 | * readelf.c (print_debug_frame_section): Use t instead of j formats | ||
1314 | for ptrdiff_t OFFSET. | ||
1315 | |||
1316 | + * addr2line.c (handle_address): Use %a instead of %m for compatibility. | ||
1317 | + | ||
1318 | 2009-01-21 Ulrich Drepper <drepper@redhat.com> | ||
1319 | |||
1320 | * elflint.c (check_program_header): Fix typo in .eh_frame_hdr section | ||
1321 | @@ -954,6 +964,11 @@ | ||
1322 | that matches its PT_LOAD's p_flags &~ PF_W. On sparc, PF_X really | ||
1323 | is valid in RELRO. | ||
1324 | |||
1325 | +2008-03-01 Roland McGrath <roland@redhat.com> | ||
1326 | + | ||
1327 | + * readelf.c (dump_archive_index): Tweak portability hack | ||
1328 | + to match [__GNUC__ < 4] too. | ||
1329 | + | ||
1330 | 2008-02-29 Roland McGrath <roland@redhat.com> | ||
1331 | |||
1332 | * readelf.c (print_attributes): Add a cast. | ||
1333 | @@ -1205,6 +1220,8 @@ | ||
1334 | |||
1335 | * readelf.c (hex_dump): Fix rounding error in whitespace calculation. | ||
1336 | |||
1337 | + * Makefile.am (readelf_no_Werror): New variable. | ||
1338 | + | ||
1339 | 2007-10-15 Roland McGrath <roland@redhat.com> | ||
1340 | |||
1341 | * make-debug-archive.in: New file. | ||
1342 | @@ -1644,6 +1661,10 @@ | ||
1343 | * elflint.c (valid_e_machine): Add EM_ALPHA. | ||
1344 | Reported by Christian Aichinger <Greek0@gmx.net>. | ||
1345 | |||
1346 | + * strings.c (map_file): Define POSIX_MADV_SEQUENTIAL to | ||
1347 | + MADV_SEQUENTIAL if undefined. Don't call posix_madvise | ||
1348 | + if neither is defined. | ||
1349 | + | ||
1350 | 2006-08-08 Ulrich Drepper <drepper@redhat.com> | ||
1351 | |||
1352 | * elflint.c (check_dynamic): Don't require DT_HASH for DT_SYMTAB. | ||
1353 | @@ -1720,6 +1741,10 @@ | ||
1354 | * Makefile.am: Add hacks to create dependency files for non-generic | ||
1355 | linker. | ||
1356 | |||
1357 | +2006-04-05 Roland McGrath <roland@redhat.com> | ||
1358 | + | ||
1359 | + * strings.c (MAP_POPULATE): Define to 0 if undefined. | ||
1360 | + | ||
1361 | 2006-06-12 Ulrich Drepper <drepper@redhat.com> | ||
1362 | |||
1363 | * ldgeneric.c (ld_generic_generate_sections): Don't create .interp | ||
1364 | @@ -2068,6 +2093,11 @@ | ||
1365 | * readelf.c (print_debug_loc_section): Fix indentation for larger | ||
1366 | address size. | ||
1367 | |||
1368 | +2005-05-31 Roland McGrath <roland@redhat.com> | ||
1369 | + | ||
1370 | + * Makefile.am (WEXTRA): New variable, substituted by configure. | ||
1371 | + (AM_CFLAGS): Use it in place of -Wextra. | ||
1372 | + | ||
1373 | 2005-05-30 Roland McGrath <roland@redhat.com> | ||
1374 | |||
1375 | * readelf.c (print_debug_line_section): Print section offset of each | ||
1376 | Index: elfutils-0.155/src/findtextrel.c | ||
1377 | =================================================================== | ||
1378 | --- elfutils-0.155.orig/src/findtextrel.c | ||
1379 | +++ elfutils-0.155/src/findtextrel.c | ||
1380 | @@ -496,7 +496,11 @@ ptrcompare (const void *p1, const void * | ||
1381 | |||
1382 | |||
1383 | static void | ||
1384 | -check_rel (size_t nsegments, struct segments segments[nsegments], | ||
1385 | +check_rel (size_t nsegments, struct segments segments[ | ||
1386 | +#if __GNUC__ >= 4 | ||
1387 | + nsegments | ||
1388 | +#endif | ||
1389 | + ], | ||
1390 | GElf_Addr addr, Elf *elf, Elf_Scn *symscn, Dwarf *dw, | ||
1391 | const char *fname, bool more_than_one, void **knownsrcs) | ||
1392 | { | ||
1393 | Index: elfutils-0.155/src/ld.h | ||
1394 | =================================================================== | ||
1395 | --- elfutils-0.155.orig/src/ld.h | ||
1396 | +++ elfutils-0.155/src/ld.h | ||
1397 | @@ -1114,6 +1114,7 @@ extern bool dynamically_linked_p (void); | ||
1398 | |||
1399 | /* Checked whether the symbol is undefined and referenced from a DSO. */ | ||
1400 | extern bool linked_from_dso_p (struct scninfo *scninfo, size_t symidx); | ||
1401 | +#if defined __OPTIMIZE__ && !(__GNUC__ == 4 && __GNUC_MINOR__ == 2) | ||
1402 | #ifdef __GNUC_STDC_INLINE__ | ||
1403 | __attribute__ ((__gnu_inline__)) | ||
1404 | #endif | ||
1405 | @@ -1131,5 +1132,6 @@ linked_from_dso_p (struct scninfo *scnin | ||
1406 | |||
1407 | return sym->defined && sym->in_dso; | ||
1408 | } | ||
1409 | +#endif /* Optimizing and not GCC 4.2. */ | ||
1410 | |||
1411 | #endif /* ld.h */ | ||
1412 | Index: elfutils-0.155/src/Makefile.am | ||
1413 | =================================================================== | ||
1414 | --- elfutils-0.155.orig/src/Makefile.am | ||
1415 | +++ elfutils-0.155/src/Makefile.am | ||
1416 | @@ -95,6 +95,9 @@ addr2line_no_Wformat = yes | ||
1417 | # XXX While the file is not finished, don't warn about this | ||
1418 | ldgeneric_no_Wunused = yes | ||
1419 | |||
1420 | +# Buggy old compilers. | ||
1421 | +readelf_no_Werror = yes | ||
1422 | + | ||
1423 | readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl | ||
1424 | nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \ | ||
1425 | $(demanglelib) | ||
1426 | Index: elfutils-0.155/src/Makefile.in | ||
1427 | =================================================================== | ||
1428 | --- elfutils-0.155.orig/src/Makefile.in | ||
1429 | +++ elfutils-0.155/src/Makefile.in | ||
1430 | @@ -40,7 +40,8 @@ host_triplet = @host@ | ||
1431 | DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ | ||
1432 | $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog \ | ||
1433 | ldlex.c ldscript.c | ||
1434 | -@MUDFLAP_TRUE@am__append_1 = -fmudflap | ||
1435 | +@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror) | ||
1436 | +@MUDFLAP_TRUE@am__append_2 = -fmudflap | ||
1437 | bin_PROGRAMS = readelf$(EXEEXT) nm$(EXEEXT) size$(EXEEXT) \ | ||
1438 | strip$(EXEEXT) ld$(EXEEXT) elflint$(EXEEXT) \ | ||
1439 | findtextrel$(EXEEXT) addr2line$(EXEEXT) elfcmp$(EXEEXT) \ | ||
1440 | @@ -49,9 +50,9 @@ bin_PROGRAMS = readelf$(EXEEXT) nm$(EXEE | ||
1441 | @NATIVE_LD_FALSE@noinst_PROGRAMS = $(am__EXEEXT_1) | ||
1442 | # We never build this library but we need to get the dependency files | ||
1443 | # of all the linker backends that might be used in a non-generic linker. | ||
1444 | -@NEVER_TRUE@am__append_2 = libdummy.a | ||
1445 | +@NEVER_TRUE@am__append_3 = libdummy.a | ||
1446 | # -ldl is always needed for libebl. | ||
1447 | -@NATIVE_LD_TRUE@am__append_3 = libld_elf.a | ||
1448 | +@NATIVE_LD_TRUE@am__append_4 = libld_elf.a | ||
1449 | @NATIVE_LD_TRUE@am_libld_elf_i386_pic_a_OBJECTS = | ||
1450 | subdir = src | ||
1451 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | ||
1452 | @@ -115,7 +116,7 @@ am_ld_OBJECTS = ld.$(OBJEXT) ldgeneric.$ | ||
1453 | versionhash.$(OBJEXT) | ||
1454 | ld_OBJECTS = $(am_ld_OBJECTS) | ||
1455 | ld_DEPENDENCIES = $(libebl) $(libelf) $(libeu) $(am__DEPENDENCIES_1) \ | ||
1456 | - $(am__append_3) | ||
1457 | + $(am__append_4) | ||
1458 | ld_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(ld_LDFLAGS) $(LDFLAGS) -o \ | ||
1459 | $@ | ||
1460 | am_libld_elf_i386_so_OBJECTS = | ||
1461 | @@ -235,6 +236,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ | ||
1462 | INSTALL_SCRIPT = @INSTALL_SCRIPT@ | ||
1463 | INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ | ||
1464 | LDFLAGS = @LDFLAGS@ | ||
1465 | +LD_AS_NEEDED = @LD_AS_NEEDED@ | ||
1466 | LEX = @LEX@ | ||
1467 | LEXLIB = @LEXLIB@ | ||
1468 | LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ | ||
1469 | @@ -264,6 +266,7 @@ SHELL = @SHELL@ | ||
1470 | STRIP = @STRIP@ | ||
1471 | USE_NLS = @USE_NLS@ | ||
1472 | VERSION = @VERSION@ | ||
1473 | +WEXTRA = @WEXTRA@ | ||
1474 | XGETTEXT = @XGETTEXT@ | ||
1475 | XGETTEXT_015 = @XGETTEXT_015@ | ||
1476 | XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ | ||
1477 | @@ -327,10 +330,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi | ||
1478 | -I$(srcdir)/../libdw -I$(srcdir)/../libdwfl \ | ||
1479 | -I$(srcdir)/../libasm | ||
1480 | AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ | ||
1481 | - $($(*F)_no_Werror),,-Werror) $(if \ | ||
1482 | - $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \ | ||
1483 | + $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \ | ||
1484 | $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \ | ||
1485 | - $(am__append_1) | ||
1486 | + $(am__append_1) $(am__append_2) | ||
1487 | @MUDFLAP_FALSE@libmudflap = | ||
1488 | @MUDFLAP_TRUE@libmudflap = -lmudflap | ||
1489 | COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\ | ||
1490 | @@ -346,8 +348,8 @@ AM_LFLAGS = -Pld -olex.yy.c | ||
1491 | native_ld = @native_ld@ | ||
1492 | ld_dsos = libld_elf_i386_pic.a | ||
1493 | @NATIVE_LD_FALSE@noinst_LIBRARIES = libld_elf.a libar.a $(ld_dsos) \ | ||
1494 | -@NATIVE_LD_FALSE@ $(am__append_2) | ||
1495 | -@NATIVE_LD_TRUE@noinst_LIBRARIES = libld_elf.a libar.a $(am__append_2) | ||
1496 | +@NATIVE_LD_FALSE@ $(am__append_3) | ||
1497 | +@NATIVE_LD_TRUE@noinst_LIBRARIES = libld_elf.a libar.a $(am__append_3) | ||
1498 | @NATIVE_LD_TRUE@native_ld_cflags = -DBASE_ELF_NAME=elf_$(base_cpu) | ||
1499 | @NEVER_TRUE@libdummy_a_SOURCES = i386_ld.c | ||
1500 | ld_SOURCES = ld.c ldgeneric.c ldlex.l ldscript.y symbolhash.c sectionhash.c \ | ||
1501 | @@ -376,6 +378,9 @@ strings_no_Wformat = yes | ||
1502 | addr2line_no_Wformat = yes | ||
1503 | # XXX While the file is not finished, don't warn about this | ||
1504 | ldgeneric_no_Wunused = yes | ||
1505 | + | ||
1506 | +# Buggy old compilers. | ||
1507 | +readelf_no_Werror = yes | ||
1508 | readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl | ||
1509 | nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \ | ||
1510 | $(demanglelib) | ||
1511 | @@ -383,7 +388,7 @@ nm_LDADD = $(libdw) $(libebl) $(libelf) | ||
1512 | size_LDADD = $(libelf) $(libeu) $(libmudflap) | ||
1513 | strip_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl | ||
1514 | ld_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \ | ||
1515 | - $(am__append_3) | ||
1516 | + $(am__append_4) | ||
1517 | ld_LDFLAGS = -rdynamic | ||
1518 | elflint_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl | ||
1519 | findtextrel_LDADD = $(libdw) $(libelf) $(libmudflap) | ||
1520 | Index: elfutils-0.155/src/readelf.c | ||
1521 | =================================================================== | ||
1522 | --- elfutils-0.155.orig/src/readelf.c | ||
1523 | +++ elfutils-0.155/src/readelf.c | ||
1524 | @@ -3949,10 +3949,11 @@ struct listptr | ||
1525 | #define listptr_offset_size(p) ((p)->dwarf64 ? 8 : 4) | ||
1526 | #define listptr_address_size(p) ((p)->addr64 ? 8 : 4) | ||
1527 | |||
1528 | +static const char *listptr_name; | ||
1529 | static int | ||
1530 | -compare_listptr (const void *a, const void *b, void *arg) | ||
1531 | +compare_listptr (const void *a, const void *b) | ||
1532 | { | ||
1533 | - const char *name = arg; | ||
1534 | + const char *const name = listptr_name; | ||
1535 | struct listptr *p1 = (void *) a; | ||
1536 | struct listptr *p2 = (void *) b; | ||
1537 | |||
1538 | @@ -4033,8 +4034,11 @@ static void | ||
1539 | sort_listptr (struct listptr_table *table, const char *name) | ||
1540 | { | ||
1541 | if (table->n > 0) | ||
1542 | - qsort_r (table->table, table->n, sizeof table->table[0], | ||
1543 | - &compare_listptr, (void *) name); | ||
1544 | + { | ||
1545 | + listptr_name = name; | ||
1546 | + qsort (table->table, table->n, sizeof table->table[0], | ||
1547 | + &compare_listptr); | ||
1548 | + } | ||
1549 | } | ||
1550 | |||
1551 | static bool | ||
1552 | @@ -8442,7 +8446,7 @@ dump_archive_index (Elf *elf, const char | ||
1553 | if (unlikely (elf_rand (elf, as_off) == 0) | ||
1554 | || unlikely ((subelf = elf_begin (-1, ELF_C_READ_MMAP, elf)) | ||
1555 | == NULL)) | ||
1556 | -#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 7) | ||
1557 | +#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 7) || __GNUC__ < 4 | ||
1558 | while (1) | ||
1559 | #endif | ||
1560 | error (EXIT_FAILURE, 0, | ||
1561 | Index: elfutils-0.155/src/strings.c | ||
1562 | =================================================================== | ||
1563 | --- elfutils-0.155.orig/src/strings.c | ||
1564 | +++ elfutils-0.155/src/strings.c | ||
1565 | @@ -43,6 +43,10 @@ | ||
1566 | |||
1567 | #include <system.h> | ||
1568 | |||
1569 | +#ifndef MAP_POPULATE | ||
1570 | +# define MAP_POPULATE 0 | ||
1571 | +#endif | ||
1572 | + | ||
1573 | |||
1574 | /* Prototypes of local functions. */ | ||
1575 | static int read_fd (int fd, const char *fname, off64_t fdlen); | ||
1576 | @@ -483,8 +487,13 @@ map_file (int fd, off64_t start_off, off | ||
1577 | fd, start_off); | ||
1578 | if (mem != MAP_FAILED) | ||
1579 | { | ||
1580 | +#if !defined POSIX_MADV_SEQUENTIAL && defined MADV_SEQUENTIAL | ||
1581 | +# define POSIX_MADV_SEQUENTIAL MADV_SEQUENTIAL | ||
1582 | +#endif | ||
1583 | +#ifdef POSIX_MADV_SEQUENTIAL | ||
1584 | /* We will go through the mapping sequentially. */ | ||
1585 | (void) posix_madvise (mem, map_size, POSIX_MADV_SEQUENTIAL); | ||
1586 | +#endif | ||
1587 | break; | ||
1588 | } | ||
1589 | if (errno != EINVAL && errno != ENOMEM) | ||
1590 | @@ -576,9 +585,11 @@ read_block (int fd, const char *fname, o | ||
1591 | elfmap_off = from & ~(ps - 1); | ||
1592 | elfmap_base = elfmap = map_file (fd, elfmap_off, fdlen, &elfmap_size); | ||
1593 | |||
1594 | +#ifdef POSIX_FADV_SEQUENTIAL | ||
1595 | if (unlikely (elfmap == MAP_FAILED)) | ||
1596 | /* Let the kernel know we are going to read everything in sequence. */ | ||
1597 | (void) posix_fadvise (fd, 0, 0, POSIX_FADV_SEQUENTIAL); | ||
1598 | +#endif | ||
1599 | } | ||
1600 | |||
1601 | if (unlikely (elfmap == MAP_FAILED)) | ||
1602 | Index: elfutils-0.155/src/strip.c | ||
1603 | =================================================================== | ||
1604 | --- elfutils-0.155.orig/src/strip.c | ||
1605 | +++ elfutils-0.155/src/strip.c | ||
1606 | @@ -45,6 +45,12 @@ | ||
1607 | #include <libebl.h> | ||
1608 | #include <system.h> | ||
1609 | |||
1610 | +#ifdef HAVE_FUTIMES | ||
1611 | +# define FUTIMES(fd, fname, tvp) futimes (fd, tvp) | ||
1612 | +#else | ||
1613 | +# define FUTIMES(fd, fname, tvp) utimes (fname, tvp) | ||
1614 | +#endif | ||
1615 | + | ||
1616 | typedef uint8_t GElf_Byte; | ||
1617 | |||
1618 | /* Name and version of program. */ | ||
1619 | @@ -318,8 +324,18 @@ process_file (const char *fname) | ||
1620 | |||
1621 | /* If we have to preserve the timestamp, we need it in the | ||
1622 | format utimes() understands. */ | ||
1623 | +#ifdef HAVE_STRUCT_STAT_ST_ATIM | ||
1624 | TIMESPEC_TO_TIMEVAL (&tv[0], &pre_st.st_atim); | ||
1625 | +#else | ||
1626 | + tv[0].tv_sec = pre_st.st_atime; | ||
1627 | + tv[0].tv_usec = 0; | ||
1628 | +#endif | ||
1629 | +#ifdef HAVE_STRUCT_STAT_ST_MTIM | ||
1630 | TIMESPEC_TO_TIMEVAL (&tv[1], &pre_st.st_mtim); | ||
1631 | +#else | ||
1632 | + tv[1].tv_sec = pre_st.st_atime; | ||
1633 | + tv[1].tv_usec = 0; | ||
1634 | +#endif | ||
1635 | } | ||
1636 | |||
1637 | /* Open the file. */ | ||
1638 | @@ -2055,7 +2071,7 @@ while computing checksum for debug infor | ||
1639 | /* If requested, preserve the timestamp. */ | ||
1640 | if (tvp != NULL) | ||
1641 | { | ||
1642 | - if (futimes (fd, tvp) != 0) | ||
1643 | + if (FUTIMES (fd, output_fname, tvp) != 0) | ||
1644 | { | ||
1645 | error (0, errno, gettext ("\ | ||
1646 | cannot set access and modification date of '%s'"), | ||
1647 | @@ -2112,7 +2128,7 @@ handle_ar (int fd, Elf *elf, const char | ||
1648 | |||
1649 | if (tvp != NULL) | ||
1650 | { | ||
1651 | - if (unlikely (futimes (fd, tvp) != 0)) | ||
1652 | + if (unlikely (FUTIMES (fd, fname, tvp) != 0)) | ||
1653 | { | ||
1654 | error (0, errno, gettext ("\ | ||
1655 | cannot set access and modification date of '%s'"), fname); | ||
1656 | Index: elfutils-0.155/tests/ChangeLog | ||
1657 | =================================================================== | ||
1658 | --- elfutils-0.155.orig/tests/ChangeLog | ||
1659 | +++ elfutils-0.155/tests/ChangeLog | ||
1660 | @@ -439,6 +439,8 @@ | ||
1661 | |||
1662 | 2008-01-21 Roland McGrath <roland@redhat.com> | ||
1663 | |||
1664 | + * line2addr.c (main): Revert last change. | ||
1665 | + | ||
1666 | * testfile45.S.bz2: Add tests for cltq, cqto. | ||
1667 | * testfile45.expect.bz2: Adjust. | ||
1668 | |||
1669 | @@ -1147,6 +1149,11 @@ | ||
1670 | * Makefile.am (TESTS): Add run-elflint-test.sh. | ||
1671 | (EXTRA_DIST): Add run-elflint-test.sh and testfile18.bz2. | ||
1672 | |||
1673 | +2005-05-31 Roland McGrath <roland@redhat.com> | ||
1674 | + | ||
1675 | + * Makefile.am (WEXTRA): New variable, substituted by configure. | ||
1676 | + (AM_CFLAGS): Use it in place of -Wextra. | ||
1677 | + | ||
1678 | 2005-05-24 Ulrich Drepper <drepper@redhat.com> | ||
1679 | |||
1680 | * get-files.c (main): Use correct format specifier. | ||
1681 | Index: elfutils-0.155/tests/line2addr.c | ||
1682 | =================================================================== | ||
1683 | --- elfutils-0.155.orig/tests/line2addr.c | ||
1684 | +++ elfutils-0.155/tests/line2addr.c | ||
1685 | @@ -124,7 +124,7 @@ main (int argc, char *argv[]) | ||
1686 | { | ||
1687 | struct args a = { .arg = argv[cnt] }; | ||
1688 | |||
1689 | - switch (sscanf (a.arg, "%m[^:]:%d", &a.file, &a.line)) | ||
1690 | + switch (sscanf (a.arg, "%a[^:]:%d", &a.file, &a.line)) | ||
1691 | { | ||
1692 | default: | ||
1693 | case 0: | ||
1694 | Index: elfutils-0.155/tests/Makefile.in | ||
1695 | =================================================================== | ||
1696 | --- elfutils-0.155.orig/tests/Makefile.in | ||
1697 | +++ elfutils-0.155/tests/Makefile.in | ||
1698 | @@ -35,14 +35,15 @@ build_triplet = @build@ | ||
1699 | host_triplet = @host@ | ||
1700 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ | ||
1701 | $(top_srcdir)/config/eu.am ChangeLog | ||
1702 | -@MUDFLAP_TRUE@am__append_1 = -fmudflap | ||
1703 | -@STANDALONE_FALSE@am__append_2 = -I$(top_srcdir)/libasm -I$(top_srcdir)/libdw \ | ||
1704 | +@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror) | ||
1705 | +@MUDFLAP_TRUE@am__append_2 = -fmudflap | ||
1706 | +@STANDALONE_FALSE@am__append_3 = -I$(top_srcdir)/libasm -I$(top_srcdir)/libdw \ | ||
1707 | @STANDALONE_FALSE@ -I$(top_srcdir)/libdwfl \ | ||
1708 | @STANDALONE_FALSE@ -I$(top_srcdir)/libebl -I$(top_srcdir)/libelf \ | ||
1709 | @STANDALONE_FALSE@ -I$(top_srcdir)/lib -I.. | ||
1710 | |||
1711 | -@STANDALONE_FALSE@am__append_3 = -Wl,-rpath-link,../libasm:../libdw:../libelf | ||
1712 | -@TESTS_RPATH_TRUE@am__append_4 = -Wl,-rpath,$(BUILD_RPATH) | ||
1713 | +@STANDALONE_FALSE@am__append_4 = -Wl,-rpath-link,../libasm:../libdw:../libelf | ||
1714 | +@TESTS_RPATH_TRUE@am__append_5 = -Wl,-rpath,$(BUILD_RPATH) | ||
1715 | check_PROGRAMS = arextract$(EXEEXT) arsymtest$(EXEEXT) \ | ||
1716 | newfile$(EXEEXT) saridx$(EXEEXT) scnnames$(EXEEXT) \ | ||
1717 | sectiondump$(EXEEXT) showptable$(EXEEXT) update1$(EXEEXT) \ | ||
1718 | @@ -92,12 +93,12 @@ TESTS = run-arextract.sh run-arsymtest.s | ||
1719 | run-readelf-gdb_index.sh run-unstrip-n.sh run-low_high_pc.sh \ | ||
1720 | run-macro-test.sh run-elf_cntl_gelf_getshdr.sh \ | ||
1721 | run-test-archive64.sh $(am__EXEEXT_1) $(am__EXEEXT_3) \ | ||
1722 | - $(am__append_9) | ||
1723 | -@STANDALONE_FALSE@am__append_5 = msg_tst md5-sha1-test | ||
1724 | + $(am__append_10) | ||
1725 | @STANDALONE_FALSE@am__append_6 = msg_tst md5-sha1-test | ||
1726 | -@HAVE_LIBASM_TRUE@am__append_7 = $(asm_TESTS) | ||
1727 | +@STANDALONE_FALSE@am__append_7 = msg_tst md5-sha1-test | ||
1728 | @HAVE_LIBASM_TRUE@am__append_8 = $(asm_TESTS) | ||
1729 | -@ENABLE_DWZ_TRUE@am__append_9 = run-readelf-dwz-multi.sh | ||
1730 | +@HAVE_LIBASM_TRUE@am__append_9 = $(asm_TESTS) | ||
1731 | +@ENABLE_DWZ_TRUE@am__append_10 = run-readelf-dwz-multi.sh | ||
1732 | subdir = tests | ||
1733 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | ||
1734 | am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ | ||
1735 | @@ -412,6 +413,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ | ||
1736 | INSTALL_SCRIPT = @INSTALL_SCRIPT@ | ||
1737 | INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ | ||
1738 | LDFLAGS = @LDFLAGS@ | ||
1739 | +LD_AS_NEEDED = @LD_AS_NEEDED@ | ||
1740 | LEX = @LEX@ | ||
1741 | LEXLIB = @LEXLIB@ | ||
1742 | LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ | ||
1743 | @@ -441,6 +443,7 @@ SHELL = @SHELL@ | ||
1744 | STRIP = @STRIP@ | ||
1745 | USE_NLS = @USE_NLS@ | ||
1746 | VERSION = @VERSION@ | ||
1747 | +WEXTRA = @WEXTRA@ | ||
1748 | XGETTEXT = @XGETTEXT@ | ||
1749 | XGETTEXT_015 = @XGETTEXT_015@ | ||
1750 | XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ | ||
1751 | @@ -499,12 +502,11 @@ top_build_prefix = @top_build_prefix@ | ||
1752 | top_builddir = @top_builddir@ | ||
1753 | top_srcdir = @top_srcdir@ | ||
1754 | zip_LIBS = @zip_LIBS@ | ||
1755 | -INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. $(am__append_2) | ||
1756 | +INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. $(am__append_3) | ||
1757 | AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \ | ||
1758 | - $($(*F)_no_Werror),,-Werror) $(if \ | ||
1759 | - $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \ | ||
1760 | + $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \ | ||
1761 | $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \ | ||
1762 | - $(am__append_1) | ||
1763 | + $(am__append_1) $(am__append_2) | ||
1764 | @MUDFLAP_FALSE@libmudflap = | ||
1765 | @MUDFLAP_TRUE@libmudflap = -lmudflap | ||
1766 | COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\ | ||
1767 | @@ -514,7 +516,7 @@ CLEANFILES = *.gcno *.gcda | ||
1768 | textrel_check = if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi | ||
1769 | @MUDFLAP_FALSE@BUILD_RPATH = \$$ORIGIN/../libasm:\$$ORIGIN/../libdw:\$$ORIGIN/../backends:\$$ORIGIN/../libelf | ||
1770 | @MUDFLAP_TRUE@BUILD_RPATH = \$$ORIGIN/../backends | ||
1771 | -AM_LDFLAGS = $(am__append_3) $(am__append_4) | ||
1772 | +AM_LDFLAGS = $(am__append_4) $(am__append_5) | ||
1773 | @TESTS_RPATH_FALSE@tests_rpath = no | ||
1774 | @TESTS_RPATH_TRUE@tests_rpath = yes | ||
1775 | asm_TESTS = asm-tst1 asm-tst2 asm-tst3 asm-tst4 asm-tst5 \ | ||
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/redhat-robustify.diff b/meta/recipes-devtools/elfutils/elfutils-0.155/redhat-robustify.diff new file mode 100644 index 0000000000..8636998f66 --- /dev/null +++ b/meta/recipes-devtools/elfutils/elfutils-0.155/redhat-robustify.diff | |||
@@ -0,0 +1,1824 @@ | |||
1 | Upstream-Status: Backport | ||
2 | |||
3 | Index: elfutils-0.155/libelf/ChangeLog | ||
4 | =================================================================== | ||
5 | --- elfutils-0.155.orig/libdwfl/ChangeLog | ||
6 | +++ elfutils-0.155/libdwfl/ChangeLog | ||
7 | @@ -52,6 +52,11 @@ | ||
8 | * dwfl_module_getdwarf.c (open_elf): Clear errno before CBFAIL. | ||
9 | Reported by Kurt Roeckx <kurt@roeckx.be>. | ||
10 | |||
11 | +2011-03-23 Petr Machata <pmachata@redhat.com> | ||
12 | + | ||
13 | + * relocate.c (relocate_section): Use gelf_fsize instead of relying | ||
14 | + on shdr->sh_entsize. | ||
15 | + | ||
16 | 2011-02-11 Roland McGrath <roland@redhat.com> | ||
17 | |||
18 | * linux-kernel-modules.c (try_kernel_name): Try .gz, .bz2, .xz | ||
19 | --- elfutils/libdwfl/relocate.c | ||
20 | +++ elfutils/libdwfl/relocate.c | ||
21 | @@ -1,5 +1,5 @@ | ||
22 | /* Relocate debug information. | ||
23 | - Copyright (C) 2005-2010 Red Hat, Inc. | ||
24 | + Copyright (C) 2005-2011 Red Hat, Inc. | ||
25 | This file is part of elfutils. | ||
26 | |||
27 | This file is free software; you can redistribute it and/or modify | ||
28 | @@ -457,7 +457,10 @@ relocate_section (Dwfl_Module *mod, Elf | ||
29 | } | ||
30 | } | ||
31 | |||
32 | - size_t nrels = shdr->sh_size / shdr->sh_entsize; | ||
33 | + size_t sh_entsize | ||
34 | + = gelf_fsize (relocated, shdr->sh_type == SHT_REL ? ELF_T_REL : ELF_T_RELA, | ||
35 | + 1, EV_CURRENT); | ||
36 | + size_t nrels = shdr->sh_size / sh_entsize; | ||
37 | size_t complete = 0; | ||
38 | if (shdr->sh_type == SHT_REL) | ||
39 | for (size_t relidx = 0; !result && relidx < nrels; ++relidx) | ||
40 | @@ -559,7 +562,7 @@ relocate_section (Dwfl_Module *mod, Elf | ||
41 | nrels = next; | ||
42 | } | ||
43 | |||
44 | - shdr->sh_size = reldata->d_size = nrels * shdr->sh_entsize; | ||
45 | + shdr->sh_size = reldata->d_size = nrels * sh_entsize; | ||
46 | gelf_update_shdr (scn, shdr); | ||
47 | } | ||
48 | |||
49 | Index: elfutils-0.155/libelf/ChangeLog | ||
50 | =================================================================== | ||
51 | --- elfutils-0.155.orig/libelf/ChangeLog 2010-07-03 13:07:10.000000000 +0000 | ||
52 | +++ elfutils-0.155/libelf/ChangeLog 2010-07-03 13:07:11.000000000 +0000 | ||
53 | @@ -703,10 +703,53 @@ | ||
54 | If section content hasn't been read yet, do it before looking for the | ||
55 | block size. If no section data present, infer size of section header. | ||
56 | |||
57 | +2005-05-14 Jakub Jelinek <jakub@redhat.com> | ||
58 | + | ||
59 | + * libelfP.h (INVALID_NDX): Define. | ||
60 | + * gelf_getdyn.c (gelf_getdyn): Use it. Remove ndx < 0 test if any. | ||
61 | + * gelf_getlib.c (gelf_getlib): Likewise. | ||
62 | + * gelf_getmove.c (gelf_getmove): Likewise. | ||
63 | + * gelf_getrel.c (gelf_getrel): Likewise. | ||
64 | + * gelf_getrela.c (gelf_getrela): Likewise. | ||
65 | + * gelf_getsym.c (gelf_getsym): Likewise. | ||
66 | + * gelf_getsyminfo.c (gelf_getsyminfo): Likewise. | ||
67 | + * gelf_getsymshndx.c (gelf_getsymshndx): Likewise. | ||
68 | + * gelf_getversym.c (gelf_getversym): Likewise. | ||
69 | + * gelf_update_dyn.c (gelf_update_dyn): Likewise. | ||
70 | + * gelf_update_lib.c (gelf_update_lib): Likewise. | ||
71 | + * gelf_update_move.c (gelf_update_move): Likewise. | ||
72 | + * gelf_update_rel.c (gelf_update_rel): Likewise. | ||
73 | + * gelf_update_rela.c (gelf_update_rela): Likewise. | ||
74 | + * gelf_update_sym.c (gelf_update_sym): Likewise. | ||
75 | + * gelf_update_syminfo.c (gelf_update_syminfo): Likewise. | ||
76 | + * gelf_update_symshndx.c (gelf_update_symshndx): Likewise. | ||
77 | + * gelf_update_versym.c (gelf_update_versym): Likewise. | ||
78 | + * elf_newscn.c (elf_newscn): Check for overflow. | ||
79 | + * elf32_updatefile.c (__elfw2(LIBELFBITS,updatemmap)): Likewise. | ||
80 | + (__elfw2(LIBELFBITS,updatefile)): Likewise. | ||
81 | + * elf_begin.c (file_read_elf): Likewise. | ||
82 | + * elf32_newphdr.c (elfw2(LIBELFBITS,newphdr)): Likewise. | ||
83 | + * elf_getarsym.c (elf_getarsym): Likewise. | ||
84 | + * elf32_getshdr.c (elfw2(LIBELFBITS,getshdr)): Likewise. | ||
85 | 2005-05-11 Ulrich Drepper <drepper@redhat.com> | ||
86 | |||
87 | * elf.h: Update again. | ||
88 | |||
89 | +2005-05-17 Jakub Jelinek <jakub@redhat.com> | ||
90 | + | ||
91 | + * elf32_getphdr.c (elfw2(LIBELFBITS,getphdr)): Check if program header | ||
92 | + table fits into object's bounds. | ||
93 | + * elf_getshstrndx.c (elf_getshstrndx): Add elf->start_offset to | ||
94 | + elf->map_address. Check if first section header fits into object's | ||
95 | + bounds. | ||
96 | + * elf32_getshdr.c (elfw2(LIBELFBITS,getshdr)): | ||
97 | + Check if section header table fits into object's bounds. | ||
98 | + * elf_begin.c (get_shnum): Ensure section headers fits into | ||
99 | + object's bounds. | ||
100 | + (file_read_elf): Make sure scncnt is small enough to allocate both | ||
101 | + ElfXX_Shdr and Elf_Scn array. Make sure section and program header | ||
102 | + tables fit into object's bounds. Avoid memory leak on failure. | ||
103 | + | ||
104 | 2005-05-09 Ulrich Drepper <drepper@redhat.com> | ||
105 | |||
106 | * elf.h: Update from glibc. | ||
107 | Index: elfutils-0.155/libelf/elf32_getphdr.c | ||
108 | =================================================================== | ||
109 | --- elfutils-0.155.orig/libelf/elf32_getphdr.c 2010-04-21 14:26:40.000000000 +0000 | ||
110 | +++ elfutils-0.155/libelf/elf32_getphdr.c 2010-07-03 13:07:11.000000000 +0000 | ||
111 | @@ -93,6 +93,16 @@ __elfw2(LIBELFBITS,getphdr_wrlock) (elf) | ||
112 | |||
113 | if (elf->map_address != NULL) | ||
114 | { | ||
115 | + /* First see whether the information in the ELF header is | ||
116 | + valid and it does not ask for too much. */ | ||
117 | + if (unlikely (ehdr->e_phoff >= elf->maximum_size) | ||
118 | + || unlikely (elf->maximum_size - ehdr->e_phoff < size)) | ||
119 | + { | ||
120 | + /* Something is wrong. */ | ||
121 | + __libelf_seterrno (ELF_E_INVALID_PHDR); | ||
122 | + goto out; | ||
123 | + } | ||
124 | + | ||
125 | /* All the data is already mapped. Use it. */ | ||
126 | void *file_phdr = ((char *) elf->map_address | ||
127 | + elf->start_offset + ehdr->e_phoff); | ||
128 | Index: elfutils-0.155/libelf/elf32_getshdr.c | ||
129 | =================================================================== | ||
130 | --- elfutils-0.155.orig/libelf/elf32_getshdr.c 2009-06-13 22:41:42.000000000 +0000 | ||
131 | +++ elfutils-0.155/libelf/elf32_getshdr.c 2010-07-03 13:07:11.000000000 +0000 | ||
132 | @@ -60,7 +60,8 @@ load_shdr_wrlock (Elf_Scn *scn) | ||
133 | goto out; | ||
134 | |||
135 | size_t shnum; | ||
136 | - if (__elf_getshdrnum_rdlock (elf, &shnum) != 0) | ||
137 | + if (__elf_getshdrnum_rdlock (elf, &shnum) != 0 | ||
138 | + || shnum > SIZE_MAX / sizeof (ElfW2(LIBELFBITS,Shdr))) | ||
139 | goto out; | ||
140 | size_t size = shnum * sizeof (ElfW2(LIBELFBITS,Shdr)); | ||
141 | |||
142 | @@ -77,6 +78,16 @@ load_shdr_wrlock (Elf_Scn *scn) | ||
143 | |||
144 | if (elf->map_address != NULL) | ||
145 | { | ||
146 | + /* First see whether the information in the ELF header is | ||
147 | + valid and it does not ask for too much. */ | ||
148 | + if (unlikely (ehdr->e_shoff >= elf->maximum_size) | ||
149 | + || unlikely (elf->maximum_size - ehdr->e_shoff < size)) | ||
150 | + { | ||
151 | + /* Something is wrong. */ | ||
152 | + __libelf_seterrno (ELF_E_INVALID_SECTION_HEADER); | ||
153 | + goto free_and_out; | ||
154 | + } | ||
155 | + | ||
156 | ElfW2(LIBELFBITS,Shdr) *notcvt; | ||
157 | |||
158 | /* All the data is already mapped. If we could use it | ||
159 | Index: elfutils-0.155/libelf/elf32_newphdr.c | ||
160 | =================================================================== | ||
161 | --- elfutils-0.155.orig/libelf/elf32_newphdr.c 2010-01-12 16:57:54.000000000 +0000 | ||
162 | +++ elfutils-0.155/libelf/elf32_newphdr.c 2010-07-03 13:07:11.000000000 +0000 | ||
163 | @@ -114,6 +114,12 @@ elfw2(LIBELFBITS,newphdr) (elf, count) | ||
164 | || count == PN_XNUM | ||
165 | || elf->state.ELFW(elf,LIBELFBITS).phdr == NULL) | ||
166 | { | ||
167 | + if (unlikely (count > SIZE_MAX / sizeof (ElfW2(LIBELFBITS,Phdr)))) | ||
168 | + { | ||
169 | + result = NULL; | ||
170 | + goto out; | ||
171 | + } | ||
172 | + | ||
173 | /* Allocate a new program header with the appropriate number of | ||
174 | elements. */ | ||
175 | result = (ElfW2(LIBELFBITS,Phdr) *) | ||
176 | Index: elfutils-0.155/libelf/elf32_updatefile.c | ||
177 | =================================================================== | ||
178 | --- elfutils-0.155.orig/libelf/elf32_updatefile.c 2010-01-12 16:57:54.000000000 +0000 | ||
179 | +++ elfutils-0.155/libelf/elf32_updatefile.c 2010-07-03 13:07:11.000000000 +0000 | ||
180 | @@ -202,6 +202,9 @@ __elfw2(LIBELFBITS,updatemmap) (Elf *elf | ||
181 | /* Write all the sections. Well, only those which are modified. */ | ||
182 | if (shnum > 0) | ||
183 | { | ||
184 | + if (unlikely (shnum > SIZE_MAX / sizeof (Elf_Scn *))) | ||
185 | + return 1; | ||
186 | + | ||
187 | Elf_ScnList *list = &elf->state.ELFW(elf,LIBELFBITS).scns; | ||
188 | Elf_Scn **scns = (Elf_Scn **) alloca (shnum * sizeof (Elf_Scn *)); | ||
189 | char *const shdr_start = ((char *) elf->map_address + elf->start_offset | ||
190 | @@ -624,6 +627,10 @@ __elfw2(LIBELFBITS,updatefile) (Elf *elf | ||
191 | /* Write all the sections. Well, only those which are modified. */ | ||
192 | if (shnum > 0) | ||
193 | { | ||
194 | + if (unlikely (shnum > SIZE_MAX / (sizeof (Elf_Scn *) | ||
195 | + + sizeof (ElfW2(LIBELFBITS,Shdr))))) | ||
196 | + return 1; | ||
197 | + | ||
198 | off_t shdr_offset = elf->start_offset + ehdr->e_shoff; | ||
199 | #if EV_NUM != 2 | ||
200 | xfct_t shdr_fctp = __elf_xfctstom[__libelf_version - 1][EV_CURRENT - 1][ELFW(ELFCLASS, LIBELFBITS) - 1][ELF_T_SHDR]; | ||
201 | Index: elfutils-0.155/libelf/elf_begin.c | ||
202 | =================================================================== | ||
203 | --- elfutils-0.155.orig/libelf/elf_begin.c 2010-04-21 14:26:40.000000000 +0000 | ||
204 | +++ elfutils-0.155/libelf/elf_begin.c 2010-07-03 13:07:11.000000000 +0000 | ||
205 | @@ -144,7 +144,8 @@ get_shnum (void *map_address, unsigned c | ||
206 | |||
207 | if (unlikely (result == 0) && ehdr.e32->e_shoff != 0) | ||
208 | { | ||
209 | - if (ehdr.e32->e_shoff + sizeof (Elf32_Shdr) > maxsize) | ||
210 | + if (unlikely (ehdr.e32->e_shoff >= maxsize) | ||
211 | + || unlikely (maxsize - ehdr.e32->e_shoff < sizeof (Elf32_Shdr))) | ||
212 | /* Cannot read the first section header. */ | ||
213 | return 0; | ||
214 | |||
215 | @@ -192,7 +193,8 @@ get_shnum (void *map_address, unsigned c | ||
216 | |||
217 | if (unlikely (result == 0) && ehdr.e64->e_shoff != 0) | ||
218 | { | ||
219 | - if (ehdr.e64->e_shoff + sizeof (Elf64_Shdr) > maxsize) | ||
220 | + if (unlikely (ehdr.e64->e_shoff >= maxsize) | ||
221 | + || unlikely (ehdr.e64->e_shoff + sizeof (Elf64_Shdr) > maxsize)) | ||
222 | /* Cannot read the first section header. */ | ||
223 | return 0; | ||
224 | |||
225 | @@ -264,6 +266,15 @@ file_read_elf (int fildes, void *map_add | ||
226 | /* Could not determine the number of sections. */ | ||
227 | return NULL; | ||
228 | |||
229 | + /* Check for too many sections. */ | ||
230 | + if (e_ident[EI_CLASS] == ELFCLASS32) | ||
231 | + { | ||
232 | + if (scncnt > SIZE_MAX / (sizeof (Elf_Scn) + sizeof (Elf32_Shdr))) | ||
233 | + return NULL; | ||
234 | + } | ||
235 | + else if (scncnt > SIZE_MAX / (sizeof (Elf_Scn) + sizeof (Elf64_Shdr))) | ||
236 | + return NULL; | ||
237 | + | ||
238 | /* We can now allocate the memory. Even if there are no section headers, | ||
239 | we allocate space for a zeroth section in case we need it later. */ | ||
240 | const size_t scnmax = (scncnt ?: (cmd == ELF_C_RDWR || cmd == ELF_C_RDWR_MMAP) | ||
241 | @@ -303,6 +314,16 @@ file_read_elf (int fildes, void *map_add | ||
242 | { | ||
243 | /* We can use the mmapped memory. */ | ||
244 | elf->state.elf32.ehdr = ehdr; | ||
245 | + | ||
246 | + if (unlikely (ehdr->e_shoff >= maxsize) | ||
247 | + || unlikely (maxsize - ehdr->e_shoff | ||
248 | + < scncnt * sizeof (Elf32_Shdr))) | ||
249 | + { | ||
250 | + free_and_out: | ||
251 | + free (elf); | ||
252 | + __libelf_seterrno (ELF_E_INVALID_FILE); | ||
253 | + return NULL; | ||
254 | + } | ||
255 | elf->state.elf32.shdr | ||
256 | = (Elf32_Shdr *) ((char *) ehdr + ehdr->e_shoff); | ||
257 | |||
258 | @@ -389,6 +410,11 @@ file_read_elf (int fildes, void *map_add | ||
259 | { | ||
260 | /* We can use the mmapped memory. */ | ||
261 | elf->state.elf64.ehdr = ehdr; | ||
262 | + | ||
263 | + if (unlikely (ehdr->e_shoff >= maxsize) | ||
264 | + || unlikely (ehdr->e_shoff | ||
265 | + + scncnt * sizeof (Elf32_Shdr) > maxsize)) | ||
266 | + goto free_and_out; | ||
267 | elf->state.elf64.shdr | ||
268 | = (Elf64_Shdr *) ((char *) ehdr + ehdr->e_shoff); | ||
269 | |||
270 | Index: elfutils-0.155/libelf/elf_getarsym.c | ||
271 | =================================================================== | ||
272 | --- elfutils-0.155.orig/libelf/elf_getarsym.c 2009-01-08 20:56:37.000000000 +0000 | ||
273 | +++ elfutils-0.155/libelf/elf_getarsym.c 2010-07-03 13:07:11.000000000 +0000 | ||
274 | @@ -181,6 +181,9 @@ elf_getarsym (elf, ptr) | ||
275 | size_t index_size = atol (tmpbuf); | ||
276 | |||
277 | if (SARMAG + sizeof (struct ar_hdr) + index_size > elf->maximum_size | ||
278 | +#if SIZE_MAX <= 4294967295U | ||
279 | + || n >= SIZE_MAX / sizeof (Elf_Arsym) | ||
280 | +#endif | ||
281 | || n * w > index_size) | ||
282 | { | ||
283 | /* This index table cannot be right since it does not fit into | ||
284 | Index: elfutils-0.155/libelf/elf_getshdrstrndx.c | ||
285 | =================================================================== | ||
286 | --- elfutils-0.155.orig/libelf/elf_getshdrstrndx.c 2009-06-13 22:31:35.000000000 +0000 | ||
287 | +++ elfutils-0.155/libelf/elf_getshdrstrndx.c 2010-07-03 13:07:11.000000000 +0000 | ||
288 | @@ -104,10 +104,25 @@ elf_getshdrstrndx (elf, dst) | ||
289 | if (elf->map_address != NULL | ||
290 | && elf->state.elf32.ehdr->e_ident[EI_DATA] == MY_ELFDATA | ||
291 | && (ALLOW_UNALIGNED | ||
292 | - || (((size_t) ((char *) elf->map_address + offset)) | ||
293 | + || (((size_t) ((char *) elf->map_address | ||
294 | + + elf->start_offset + offset)) | ||
295 | & (__alignof__ (Elf32_Shdr) - 1)) == 0)) | ||
296 | - /* We can directly access the memory. */ | ||
297 | - num = ((Elf32_Shdr *) (elf->map_address + offset))->sh_link; | ||
298 | + { | ||
299 | + /* First see whether the information in the ELF header is | ||
300 | + valid and it does not ask for too much. */ | ||
301 | + if (unlikely (elf->maximum_size - offset | ||
302 | + < sizeof (Elf32_Shdr))) | ||
303 | + { | ||
304 | + /* Something is wrong. */ | ||
305 | + __libelf_seterrno (ELF_E_INVALID_SECTION_HEADER); | ||
306 | + result = -1; | ||
307 | + goto out; | ||
308 | + } | ||
309 | + | ||
310 | + /* We can directly access the memory. */ | ||
311 | + num = ((Elf32_Shdr *) (elf->map_address + elf->start_offset | ||
312 | + + offset))->sh_link; | ||
313 | + } | ||
314 | else | ||
315 | { | ||
316 | /* We avoid reading in all the section headers. Just read | ||
317 | @@ -142,10 +157,25 @@ elf_getshdrstrndx (elf, dst) | ||
318 | if (elf->map_address != NULL | ||
319 | && elf->state.elf64.ehdr->e_ident[EI_DATA] == MY_ELFDATA | ||
320 | && (ALLOW_UNALIGNED | ||
321 | - || (((size_t) ((char *) elf->map_address + offset)) | ||
322 | + || (((size_t) ((char *) elf->map_address | ||
323 | + + elf->start_offset + offset)) | ||
324 | & (__alignof__ (Elf64_Shdr) - 1)) == 0)) | ||
325 | - /* We can directly access the memory. */ | ||
326 | - num = ((Elf64_Shdr *) (elf->map_address + offset))->sh_link; | ||
327 | + { | ||
328 | + /* First see whether the information in the ELF header is | ||
329 | + valid and it does not ask for too much. */ | ||
330 | + if (unlikely (elf->maximum_size - offset | ||
331 | + < sizeof (Elf64_Shdr))) | ||
332 | + { | ||
333 | + /* Something is wrong. */ | ||
334 | + __libelf_seterrno (ELF_E_INVALID_SECTION_HEADER); | ||
335 | + result = -1; | ||
336 | + goto out; | ||
337 | + } | ||
338 | + | ||
339 | + /* We can directly access the memory. */ | ||
340 | + num = ((Elf64_Shdr *) (elf->map_address + elf->start_offset | ||
341 | + + offset))->sh_link; | ||
342 | + } | ||
343 | else | ||
344 | { | ||
345 | /* We avoid reading in all the section headers. Just read | ||
346 | Index: elfutils-0.155/libelf/elf_newscn.c | ||
347 | =================================================================== | ||
348 | --- elfutils-0.155.orig/libelf/elf_newscn.c 2009-01-08 20:56:37.000000000 +0000 | ||
349 | +++ elfutils-0.155/libelf/elf_newscn.c 2010-07-03 13:07:11.000000000 +0000 | ||
350 | @@ -83,10 +83,18 @@ elf_newscn (elf) | ||
351 | else | ||
352 | { | ||
353 | /* We must allocate a new element. */ | ||
354 | - Elf_ScnList *newp; | ||
355 | + Elf_ScnList *newp = NULL; | ||
356 | |||
357 | assert (elf->state.elf.scnincr > 0); | ||
358 | |||
359 | + if ( | ||
360 | +#if SIZE_MAX <= 4294967295U | ||
361 | + likely (elf->state.elf.scnincr | ||
362 | + < SIZE_MAX / 2 / sizeof (Elf_Scn) - sizeof (Elf_ScnList)) | ||
363 | +#else | ||
364 | + 1 | ||
365 | +#endif | ||
366 | + ) | ||
367 | newp = (Elf_ScnList *) calloc (sizeof (Elf_ScnList) | ||
368 | + ((elf->state.elf.scnincr *= 2) | ||
369 | * sizeof (Elf_Scn)), 1); | ||
370 | Index: elfutils-0.155/libelf/gelf_getdyn.c | ||
371 | =================================================================== | ||
372 | --- elfutils-0.155.orig/libelf/gelf_getdyn.c 2009-01-08 20:56:37.000000000 +0000 | ||
373 | +++ elfutils-0.155/libelf/gelf_getdyn.c 2010-07-03 13:07:11.000000000 +0000 | ||
374 | @@ -1,5 +1,5 @@ | ||
375 | /* Get information from dynamic table at the given index. | ||
376 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
377 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
378 | This file is part of elfutils. | ||
379 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
380 | |||
381 | @@ -72,7 +72,7 @@ gelf_getdyn (data, ndx, dst) | ||
382 | table entries has to be adopted. The user better has provided | ||
383 | a buffer where we can store the information. While copying the | ||
384 | data we are converting the format. */ | ||
385 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Dyn) > data_scn->d.d_size)) | ||
386 | + if (INVALID_NDX (ndx, Elf32_Dyn, &data_scn->d)) | ||
387 | { | ||
388 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
389 | goto out; | ||
390 | @@ -93,7 +93,7 @@ gelf_getdyn (data, ndx, dst) | ||
391 | |||
392 | /* The data is already in the correct form. Just make sure the | ||
393 | index is OK. */ | ||
394 | - if (unlikely ((ndx + 1) * sizeof (GElf_Dyn) > data_scn->d.d_size)) | ||
395 | + if (INVALID_NDX (ndx, GElf_Dyn, &data_scn->d)) | ||
396 | { | ||
397 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
398 | goto out; | ||
399 | Index: elfutils-0.155/libelf/gelf_getlib.c | ||
400 | =================================================================== | ||
401 | --- elfutils-0.155.orig/libelf/gelf_getlib.c 2009-01-08 20:56:37.000000000 +0000 | ||
402 | +++ elfutils-0.155/libelf/gelf_getlib.c 2010-07-03 13:07:11.000000000 +0000 | ||
403 | @@ -1,5 +1,5 @@ | ||
404 | /* Get library from table at the given index. | ||
405 | - Copyright (C) 2004 Red Hat, Inc. | ||
406 | + Copyright (C) 2004-2009 Red Hat, Inc. | ||
407 | This file is part of elfutils. | ||
408 | Written by Ulrich Drepper <drepper@redhat.com>, 2004. | ||
409 | |||
410 | @@ -65,7 +65,7 @@ gelf_getlib (data, ndx, dst) | ||
411 | /* The data is already in the correct form. Just make sure the | ||
412 | index is OK. */ | ||
413 | GElf_Lib *result = NULL; | ||
414 | - if (unlikely ((ndx + 1) * sizeof (GElf_Lib) > data->d_size)) | ||
415 | + if (INVALID_NDX (ndx, GElf_Lib, data)) | ||
416 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
417 | else | ||
418 | { | ||
419 | Index: elfutils-0.155/libelf/gelf_getmove.c | ||
420 | =================================================================== | ||
421 | --- elfutils-0.155.orig/libelf/gelf_getmove.c 2009-01-08 20:56:37.000000000 +0000 | ||
422 | +++ elfutils-0.155/libelf/gelf_getmove.c 2010-07-03 13:07:11.000000000 +0000 | ||
423 | @@ -1,5 +1,5 @@ | ||
424 | /* Get move structure at the given index. | ||
425 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
426 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
427 | This file is part of elfutils. | ||
428 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
429 | |||
430 | @@ -62,7 +62,7 @@ gelf_getmove (data, ndx, dst) | ||
431 | |||
432 | /* The data is already in the correct form. Just make sure the | ||
433 | index is OK. */ | ||
434 | - if (unlikely ((ndx + 1) * sizeof (GElf_Move) > data->d_size)) | ||
435 | + if (INVALID_NDX (ndx, GElf_Move, data)) | ||
436 | { | ||
437 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
438 | goto out; | ||
439 | Index: elfutils-0.155/libelf/gelf_getrela.c | ||
440 | =================================================================== | ||
441 | --- elfutils-0.155.orig/libelf/gelf_getrela.c 2009-01-08 20:56:37.000000000 +0000 | ||
442 | +++ elfutils-0.155/libelf/gelf_getrela.c 2010-07-03 13:07:11.000000000 +0000 | ||
443 | @@ -1,5 +1,5 @@ | ||
444 | /* Get RELA relocation information at given index. | ||
445 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
446 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
447 | This file is part of elfutils. | ||
448 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
449 | |||
450 | @@ -50,12 +50,6 @@ gelf_getrela (data, ndx, dst) | ||
451 | if (data_scn == NULL) | ||
452 | return NULL; | ||
453 | |||
454 | - if (unlikely (ndx < 0)) | ||
455 | - { | ||
456 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
457 | - return NULL; | ||
458 | - } | ||
459 | - | ||
460 | if (unlikely (data_scn->d.d_type != ELF_T_RELA)) | ||
461 | { | ||
462 | __libelf_seterrno (ELF_E_INVALID_HANDLE); | ||
463 | @@ -72,7 +66,7 @@ gelf_getrela (data, ndx, dst) | ||
464 | if (scn->elf->class == ELFCLASS32) | ||
465 | { | ||
466 | /* We have to convert the data. */ | ||
467 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Rela) > data_scn->d.d_size)) | ||
468 | + if (INVALID_NDX (ndx, Elf32_Rela, &data_scn->d)) | ||
469 | { | ||
470 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
471 | result = NULL; | ||
472 | @@ -93,7 +87,7 @@ gelf_getrela (data, ndx, dst) | ||
473 | { | ||
474 | /* Simply copy the data after we made sure we are actually getting | ||
475 | correct data. */ | ||
476 | - if (unlikely ((ndx + 1) * sizeof (Elf64_Rela) > data_scn->d.d_size)) | ||
477 | + if (INVALID_NDX (ndx, Elf64_Rela, &data_scn->d)) | ||
478 | { | ||
479 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
480 | result = NULL; | ||
481 | Index: elfutils-0.155/libelf/gelf_getrel.c | ||
482 | =================================================================== | ||
483 | --- elfutils-0.155.orig/libelf/gelf_getrel.c 2009-01-08 20:56:37.000000000 +0000 | ||
484 | +++ elfutils-0.155/libelf/gelf_getrel.c 2010-07-03 13:07:11.000000000 +0000 | ||
485 | @@ -1,5 +1,5 @@ | ||
486 | /* Get REL relocation information at given index. | ||
487 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
488 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
489 | This file is part of elfutils. | ||
490 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
491 | |||
492 | @@ -50,12 +50,6 @@ gelf_getrel (data, ndx, dst) | ||
493 | if (data_scn == NULL) | ||
494 | return NULL; | ||
495 | |||
496 | - if (unlikely (ndx < 0)) | ||
497 | - { | ||
498 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
499 | - return NULL; | ||
500 | - } | ||
501 | - | ||
502 | if (unlikely (data_scn->d.d_type != ELF_T_REL)) | ||
503 | { | ||
504 | __libelf_seterrno (ELF_E_INVALID_HANDLE); | ||
505 | @@ -72,7 +66,7 @@ gelf_getrel (data, ndx, dst) | ||
506 | if (scn->elf->class == ELFCLASS32) | ||
507 | { | ||
508 | /* We have to convert the data. */ | ||
509 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Rel) > data_scn->d.d_size)) | ||
510 | + if (INVALID_NDX (ndx, Elf32_Rel, &data_scn->d)) | ||
511 | { | ||
512 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
513 | result = NULL; | ||
514 | @@ -92,7 +86,7 @@ gelf_getrel (data, ndx, dst) | ||
515 | { | ||
516 | /* Simply copy the data after we made sure we are actually getting | ||
517 | correct data. */ | ||
518 | - if (unlikely ((ndx + 1) * sizeof (Elf64_Rel) > data_scn->d.d_size)) | ||
519 | + if (INVALID_NDX (ndx, Elf64_Rel, &data_scn->d)) | ||
520 | { | ||
521 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
522 | result = NULL; | ||
523 | Index: elfutils-0.155/libelf/gelf_getsym.c | ||
524 | =================================================================== | ||
525 | --- elfutils-0.155.orig/libelf/gelf_getsym.c 2009-01-08 20:56:37.000000000 +0000 | ||
526 | +++ elfutils-0.155/libelf/gelf_getsym.c 2010-07-03 13:07:11.000000000 +0000 | ||
527 | @@ -1,5 +1,5 @@ | ||
528 | /* Get symbol information from symbol table at the given index. | ||
529 | - Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc. | ||
530 | + Copyright (C) 1999-2009 Red Hat, Inc. | ||
531 | This file is part of elfutils. | ||
532 | Written by Ulrich Drepper <drepper@redhat.com>, 1999. | ||
533 | |||
534 | @@ -69,7 +69,7 @@ gelf_getsym (data, ndx, dst) | ||
535 | table entries has to be adopted. The user better has provided | ||
536 | a buffer where we can store the information. While copying the | ||
537 | data we are converting the format. */ | ||
538 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > data->d_size)) | ||
539 | + if (INVALID_NDX (ndx, Elf32_Sym, data)) | ||
540 | { | ||
541 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
542 | goto out; | ||
543 | @@ -98,7 +98,7 @@ gelf_getsym (data, ndx, dst) | ||
544 | |||
545 | /* The data is already in the correct form. Just make sure the | ||
546 | index is OK. */ | ||
547 | - if (unlikely ((ndx + 1) * sizeof (GElf_Sym) > data->d_size)) | ||
548 | + if (INVALID_NDX (ndx, GElf_Sym, data)) | ||
549 | { | ||
550 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
551 | goto out; | ||
552 | Index: elfutils-0.155/libelf/gelf_getsyminfo.c | ||
553 | =================================================================== | ||
554 | --- elfutils-0.155.orig/libelf/gelf_getsyminfo.c 2009-01-08 20:56:37.000000000 +0000 | ||
555 | +++ elfutils-0.155/libelf/gelf_getsyminfo.c 2010-07-03 13:07:11.000000000 +0000 | ||
556 | @@ -1,5 +1,5 @@ | ||
557 | /* Get additional symbol information from symbol table at the given index. | ||
558 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
559 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
560 | This file is part of elfutils. | ||
561 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
562 | |||
563 | @@ -63,7 +63,7 @@ gelf_getsyminfo (data, ndx, dst) | ||
564 | |||
565 | /* The data is already in the correct form. Just make sure the | ||
566 | index is OK. */ | ||
567 | - if (unlikely ((ndx + 1) * sizeof (GElf_Syminfo) > data->d_size)) | ||
568 | + if (INVALID_NDX (ndx, GElf_Syminfo, data)) | ||
569 | { | ||
570 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
571 | goto out; | ||
572 | Index: elfutils-0.155/libelf/gelf_getsymshndx.c | ||
573 | =================================================================== | ||
574 | --- elfutils-0.155.orig/libelf/gelf_getsymshndx.c 2009-01-08 20:56:37.000000000 +0000 | ||
575 | +++ elfutils-0.155/libelf/gelf_getsymshndx.c 2010-07-03 13:07:11.000000000 +0000 | ||
576 | @@ -1,6 +1,6 @@ | ||
577 | /* Get symbol information and separate section index from symbol table | ||
578 | at the given index. | ||
579 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
580 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
581 | This file is part of elfutils. | ||
582 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
583 | |||
584 | @@ -69,7 +69,7 @@ gelf_getsymshndx (symdata, shndxdata, nd | ||
585 | section index table. */ | ||
586 | if (likely (shndxdata_scn != NULL)) | ||
587 | { | ||
588 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Word) > shndxdata_scn->d.d_size)) | ||
589 | + if (INVALID_NDX (ndx, Elf32_Word, &shndxdata_scn->d)) | ||
590 | { | ||
591 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
592 | goto out; | ||
593 | @@ -89,7 +89,7 @@ gelf_getsymshndx (symdata, shndxdata, nd | ||
594 | table entries has to be adopted. The user better has provided | ||
595 | a buffer where we can store the information. While copying the | ||
596 | data we are converting the format. */ | ||
597 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > symdata->d_size)) | ||
598 | + if (INVALID_NDX (ndx, Elf32_Sym, symdata)) | ||
599 | { | ||
600 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
601 | goto out; | ||
602 | @@ -118,7 +118,7 @@ gelf_getsymshndx (symdata, shndxdata, nd | ||
603 | |||
604 | /* The data is already in the correct form. Just make sure the | ||
605 | index is OK. */ | ||
606 | - if (unlikely ((ndx + 1) * sizeof (GElf_Sym) > symdata->d_size)) | ||
607 | + if (INVALID_NDX (ndx, GElf_Sym, symdata)) | ||
608 | { | ||
609 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
610 | goto out; | ||
611 | Index: elfutils-0.155/libelf/gelf_getversym.c | ||
612 | =================================================================== | ||
613 | --- elfutils-0.155.orig/libelf/gelf_getversym.c 2009-01-08 20:56:37.000000000 +0000 | ||
614 | +++ elfutils-0.155/libelf/gelf_getversym.c 2010-07-03 13:07:11.000000000 +0000 | ||
615 | @@ -1,5 +1,5 @@ | ||
616 | /* Get symbol version information at the given index. | ||
617 | - Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc. | ||
618 | + Copyright (C) 1999-2009 Red Hat, Inc. | ||
619 | This file is part of elfutils. | ||
620 | Written by Ulrich Drepper <drepper@redhat.com>, 1999. | ||
621 | |||
622 | @@ -71,7 +71,7 @@ gelf_getversym (data, ndx, dst) | ||
623 | |||
624 | /* The data is already in the correct form. Just make sure the | ||
625 | index is OK. */ | ||
626 | - if (unlikely ((ndx + 1) * sizeof (GElf_Versym) > data->d_size)) | ||
627 | + if (INVALID_NDX (ndx, GElf_Versym, data)) | ||
628 | { | ||
629 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
630 | result = NULL; | ||
631 | Index: elfutils-0.155/libelf/gelf_update_dyn.c | ||
632 | =================================================================== | ||
633 | --- elfutils-0.155.orig/libelf/gelf_update_dyn.c 2009-01-08 20:56:37.000000000 +0000 | ||
634 | +++ elfutils-0.155/libelf/gelf_update_dyn.c 2010-07-03 13:07:11.000000000 +0000 | ||
635 | @@ -1,5 +1,5 @@ | ||
636 | /* Update information in dynamic table at the given index. | ||
637 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
638 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
639 | This file is part of elfutils. | ||
640 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
641 | |||
642 | @@ -50,12 +50,6 @@ gelf_update_dyn (data, ndx, src) | ||
643 | if (data == NULL) | ||
644 | return 0; | ||
645 | |||
646 | - if (unlikely (ndx < 0)) | ||
647 | - { | ||
648 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
649 | - return 0; | ||
650 | - } | ||
651 | - | ||
652 | if (unlikely (data_scn->d.d_type != ELF_T_DYN)) | ||
653 | { | ||
654 | /* The type of the data better should match. */ | ||
655 | @@ -81,7 +75,7 @@ gelf_update_dyn (data, ndx, src) | ||
656 | } | ||
657 | |||
658 | /* Check whether we have to resize the data buffer. */ | ||
659 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Dyn) > data_scn->d.d_size)) | ||
660 | + if (INVALID_NDX (ndx, Elf32_Dyn, &data_scn->d)) | ||
661 | { | ||
662 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
663 | goto out; | ||
664 | @@ -95,7 +89,7 @@ gelf_update_dyn (data, ndx, src) | ||
665 | else | ||
666 | { | ||
667 | /* Check whether we have to resize the data buffer. */ | ||
668 | - if (unlikely ((ndx + 1) * sizeof (Elf64_Dyn) > data_scn->d.d_size)) | ||
669 | + if (INVALID_NDX (ndx, Elf64_Dyn, &data_scn->d)) | ||
670 | { | ||
671 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
672 | goto out; | ||
673 | Index: elfutils-0.155/libelf/gelf_update_lib.c | ||
674 | =================================================================== | ||
675 | --- elfutils-0.155.orig/libelf/gelf_update_lib.c 2009-01-08 20:56:37.000000000 +0000 | ||
676 | +++ elfutils-0.155/libelf/gelf_update_lib.c 2010-07-03 13:07:11.000000000 +0000 | ||
677 | @@ -1,5 +1,5 @@ | ||
678 | /* Update library in table at the given index. | ||
679 | - Copyright (C) 2004 Red Hat, Inc. | ||
680 | + Copyright (C) 2004-2009 Red Hat, Inc. | ||
681 | This file is part of elfutils. | ||
682 | Written by Ulrich Drepper <drepper@redhat.com>, 2004. | ||
683 | |||
684 | @@ -47,12 +47,6 @@ gelf_update_lib (data, ndx, src) | ||
685 | if (data == NULL) | ||
686 | return 0; | ||
687 | |||
688 | - if (unlikely (ndx < 0)) | ||
689 | - { | ||
690 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
691 | - return 0; | ||
692 | - } | ||
693 | - | ||
694 | Elf_Data_Scn *data_scn = (Elf_Data_Scn *) data; | ||
695 | if (unlikely (data_scn->d.d_type != ELF_T_LIB)) | ||
696 | { | ||
697 | @@ -66,7 +60,7 @@ gelf_update_lib (data, ndx, src) | ||
698 | |||
699 | /* Check whether we have to resize the data buffer. */ | ||
700 | int result = 0; | ||
701 | - if (unlikely ((ndx + 1) * sizeof (Elf64_Lib) > data_scn->d.d_size)) | ||
702 | + if (INVALID_NDX (ndx, Elf64_Lib, &data_scn->d)) | ||
703 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
704 | else | ||
705 | { | ||
706 | Index: elfutils-0.155/libelf/gelf_update_move.c | ||
707 | =================================================================== | ||
708 | --- elfutils-0.155.orig/libelf/gelf_update_move.c 2009-01-08 20:56:37.000000000 +0000 | ||
709 | +++ elfutils-0.155/libelf/gelf_update_move.c 2010-07-03 13:07:11.000000000 +0000 | ||
710 | @@ -1,5 +1,5 @@ | ||
711 | /* Update move structure at the given index. | ||
712 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
713 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
714 | This file is part of elfutils. | ||
715 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
716 | |||
717 | @@ -54,8 +54,7 @@ gelf_update_move (data, ndx, src) | ||
718 | assert (sizeof (GElf_Move) == sizeof (Elf64_Move)); | ||
719 | |||
720 | /* Check whether we have to resize the data buffer. */ | ||
721 | - if (unlikely (ndx < 0) | ||
722 | - || unlikely ((ndx + 1) * sizeof (GElf_Move) > data_scn->d.d_size)) | ||
723 | + if (INVALID_NDX (ndx, GElf_Move, &data_scn->d)) | ||
724 | { | ||
725 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
726 | return 0; | ||
727 | Index: elfutils-0.155/libelf/gelf_update_rela.c | ||
728 | =================================================================== | ||
729 | --- elfutils-0.155.orig/libelf/gelf_update_rela.c 2009-01-08 20:56:37.000000000 +0000 | ||
730 | +++ elfutils-0.155/libelf/gelf_update_rela.c 2010-07-03 13:07:11.000000000 +0000 | ||
731 | @@ -1,5 +1,5 @@ | ||
732 | /* Update RELA relocation information at given index. | ||
733 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
734 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
735 | This file is part of elfutils. | ||
736 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
737 | |||
738 | @@ -47,12 +47,6 @@ gelf_update_rela (Elf_Data *dst, int ndx | ||
739 | if (dst == NULL) | ||
740 | return 0; | ||
741 | |||
742 | - if (unlikely (ndx < 0)) | ||
743 | - { | ||
744 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
745 | - return 0; | ||
746 | - } | ||
747 | - | ||
748 | if (unlikely (data_scn->d.d_type != ELF_T_RELA)) | ||
749 | { | ||
750 | /* The type of the data better should match. */ | ||
751 | @@ -80,7 +74,7 @@ gelf_update_rela (Elf_Data *dst, int ndx | ||
752 | } | ||
753 | |||
754 | /* Check whether we have to resize the data buffer. */ | ||
755 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Rela) > data_scn->d.d_size)) | ||
756 | + if (INVALID_NDX (ndx, Elf32_Rela, &data_scn->d)) | ||
757 | { | ||
758 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
759 | goto out; | ||
760 | @@ -96,7 +90,7 @@ gelf_update_rela (Elf_Data *dst, int ndx | ||
761 | else | ||
762 | { | ||
763 | /* Check whether we have to resize the data buffer. */ | ||
764 | - if (unlikely ((ndx + 1) * sizeof (Elf64_Rela) > data_scn->d.d_size)) | ||
765 | + if (INVALID_NDX (ndx, Elf64_Rela, &data_scn->d)) | ||
766 | { | ||
767 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
768 | goto out; | ||
769 | Index: elfutils-0.155/libelf/gelf_update_rel.c | ||
770 | =================================================================== | ||
771 | --- elfutils-0.155.orig/libelf/gelf_update_rel.c 2009-01-08 20:56:37.000000000 +0000 | ||
772 | +++ elfutils-0.155/libelf/gelf_update_rel.c 2010-07-03 13:07:11.000000000 +0000 | ||
773 | @@ -1,5 +1,5 @@ | ||
774 | /* Update REL relocation information at given index. | ||
775 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
776 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
777 | This file is part of elfutils. | ||
778 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
779 | |||
780 | @@ -47,12 +47,6 @@ gelf_update_rel (Elf_Data *dst, int ndx, | ||
781 | if (dst == NULL) | ||
782 | return 0; | ||
783 | |||
784 | - if (unlikely (ndx < 0)) | ||
785 | - { | ||
786 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
787 | - return 0; | ||
788 | - } | ||
789 | - | ||
790 | if (unlikely (data_scn->d.d_type != ELF_T_REL)) | ||
791 | { | ||
792 | /* The type of the data better should match. */ | ||
793 | @@ -78,7 +72,7 @@ gelf_update_rel (Elf_Data *dst, int ndx, | ||
794 | } | ||
795 | |||
796 | /* Check whether we have to resize the data buffer. */ | ||
797 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Rel) > data_scn->d.d_size)) | ||
798 | + if (INVALID_NDX (ndx, Elf32_Rel, &data_scn->d)) | ||
799 | { | ||
800 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
801 | goto out; | ||
802 | @@ -93,7 +87,7 @@ gelf_update_rel (Elf_Data *dst, int ndx, | ||
803 | else | ||
804 | { | ||
805 | /* Check whether we have to resize the data buffer. */ | ||
806 | - if (unlikely ((ndx + 1) * sizeof (Elf64_Rel) > data_scn->d.d_size)) | ||
807 | + if (INVALID_NDX (ndx, Elf64_Rel, &data_scn->d)) | ||
808 | { | ||
809 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
810 | goto out; | ||
811 | Index: elfutils-0.155/libelf/gelf_update_sym.c | ||
812 | =================================================================== | ||
813 | --- elfutils-0.155.orig/libelf/gelf_update_sym.c 2009-01-08 20:56:37.000000000 +0000 | ||
814 | +++ elfutils-0.155/libelf/gelf_update_sym.c 2010-07-03 13:07:11.000000000 +0000 | ||
815 | @@ -1,5 +1,5 @@ | ||
816 | /* Update symbol information in symbol table at the given index. | ||
817 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
818 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
819 | This file is part of elfutils. | ||
820 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
821 | |||
822 | @@ -51,12 +51,6 @@ gelf_update_sym (data, ndx, src) | ||
823 | if (data == NULL) | ||
824 | return 0; | ||
825 | |||
826 | - if (unlikely (ndx < 0)) | ||
827 | - { | ||
828 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
829 | - return 0; | ||
830 | - } | ||
831 | - | ||
832 | if (unlikely (data_scn->d.d_type != ELF_T_SYM)) | ||
833 | { | ||
834 | /* The type of the data better should match. */ | ||
835 | @@ -81,7 +75,7 @@ gelf_update_sym (data, ndx, src) | ||
836 | } | ||
837 | |||
838 | /* Check whether we have to resize the data buffer. */ | ||
839 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > data_scn->d.d_size)) | ||
840 | + if (INVALID_NDX (ndx, Elf32_Sym, &data_scn->d)) | ||
841 | { | ||
842 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
843 | goto out; | ||
844 | @@ -104,7 +98,7 @@ gelf_update_sym (data, ndx, src) | ||
845 | else | ||
846 | { | ||
847 | /* Check whether we have to resize the data buffer. */ | ||
848 | - if (unlikely ((ndx + 1) * sizeof (Elf64_Sym) > data_scn->d.d_size)) | ||
849 | + if (INVALID_NDX (ndx, Elf64_Sym, &data_scn->d)) | ||
850 | { | ||
851 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
852 | goto out; | ||
853 | Index: elfutils-0.155/libelf/gelf_update_syminfo.c | ||
854 | =================================================================== | ||
855 | --- elfutils-0.155.orig/libelf/gelf_update_syminfo.c 2009-01-08 20:56:37.000000000 +0000 | ||
856 | +++ elfutils-0.155/libelf/gelf_update_syminfo.c 2010-07-03 13:07:11.000000000 +0000 | ||
857 | @@ -1,5 +1,5 @@ | ||
858 | /* Update additional symbol information in symbol table at the given index. | ||
859 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
860 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
861 | This file is part of elfutils. | ||
862 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
863 | |||
864 | @@ -51,12 +51,6 @@ gelf_update_syminfo (data, ndx, src) | ||
865 | if (data == NULL) | ||
866 | return 0; | ||
867 | |||
868 | - if (unlikely (ndx < 0)) | ||
869 | - { | ||
870 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
871 | - return 0; | ||
872 | - } | ||
873 | - | ||
874 | if (unlikely (data_scn->d.d_type != ELF_T_SYMINFO)) | ||
875 | { | ||
876 | /* The type of the data better should match. */ | ||
877 | @@ -72,7 +66,7 @@ gelf_update_syminfo (data, ndx, src) | ||
878 | rwlock_wrlock (scn->elf->lock); | ||
879 | |||
880 | /* Check whether we have to resize the data buffer. */ | ||
881 | - if (unlikely ((ndx + 1) * sizeof (GElf_Syminfo) > data_scn->d.d_size)) | ||
882 | + if (INVALID_NDX (ndx, GElf_Syminfo, &data_scn->d)) | ||
883 | { | ||
884 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
885 | goto out; | ||
886 | Index: elfutils-0.155/libelf/gelf_update_symshndx.c | ||
887 | =================================================================== | ||
888 | --- elfutils-0.155.orig/libelf/gelf_update_symshndx.c 2009-01-08 20:56:37.000000000 +0000 | ||
889 | +++ elfutils-0.155/libelf/gelf_update_symshndx.c 2010-07-03 13:07:11.000000000 +0000 | ||
890 | @@ -1,6 +1,6 @@ | ||
891 | /* Update symbol information and section index in symbol table at the | ||
892 | given index. | ||
893 | - Copyright (C) 2000, 2001, 2002 Red Hat, Inc. | ||
894 | + Copyright (C) 2000-2009 Red Hat, Inc. | ||
895 | This file is part of elfutils. | ||
896 | Written by Ulrich Drepper <drepper@redhat.com>, 2000. | ||
897 | |||
898 | @@ -56,12 +56,6 @@ gelf_update_symshndx (symdata, shndxdata | ||
899 | if (symdata == NULL) | ||
900 | return 0; | ||
901 | |||
902 | - if (unlikely (ndx < 0)) | ||
903 | - { | ||
904 | - __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
905 | - return 0; | ||
906 | - } | ||
907 | - | ||
908 | if (unlikely (symdata_scn->d.d_type != ELF_T_SYM)) | ||
909 | { | ||
910 | /* The type of the data better should match. */ | ||
911 | @@ -107,7 +101,7 @@ gelf_update_symshndx (symdata, shndxdata | ||
912 | } | ||
913 | |||
914 | /* Check whether we have to resize the data buffer. */ | ||
915 | - if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > symdata_scn->d.d_size)) | ||
916 | + if (INVALID_NDX (ndx, Elf32_Sym, &symdata_scn->d)) | ||
917 | { | ||
918 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
919 | goto out; | ||
920 | @@ -130,7 +124,7 @@ gelf_update_symshndx (symdata, shndxdata | ||
921 | else | ||
922 | { | ||
923 | /* Check whether we have to resize the data buffer. */ | ||
924 | - if (unlikely ((ndx + 1) * sizeof (Elf64_Sym) > symdata_scn->d.d_size)) | ||
925 | + if (INVALID_NDX (ndx, Elf64_Sym, &symdata_scn->d)) | ||
926 | { | ||
927 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
928 | goto out; | ||
929 | Index: elfutils-0.155/libelf/gelf_update_versym.c | ||
930 | =================================================================== | ||
931 | --- elfutils-0.155.orig/libelf/gelf_update_versym.c 2009-01-08 20:56:37.000000000 +0000 | ||
932 | +++ elfutils-0.155/libelf/gelf_update_versym.c 2010-07-03 13:07:11.000000000 +0000 | ||
933 | @@ -1,5 +1,5 @@ | ||
934 | /* Update symbol version information. | ||
935 | - Copyright (C) 2001, 2002 Red Hat, Inc. | ||
936 | + Copyright (C) 2001-2009 Red Hat, Inc. | ||
937 | This file is part of elfutils. | ||
938 | Written by Ulrich Drepper <drepper@redhat.com>, 2001. | ||
939 | |||
940 | @@ -54,8 +54,7 @@ gelf_update_versym (data, ndx, src) | ||
941 | assert (sizeof (GElf_Versym) == sizeof (Elf64_Versym)); | ||
942 | |||
943 | /* Check whether we have to resize the data buffer. */ | ||
944 | - if (unlikely (ndx < 0) | ||
945 | - || unlikely ((ndx + 1) * sizeof (GElf_Versym) > data_scn->d.d_size)) | ||
946 | + if (INVALID_NDX (ndx, GElf_Versym, &data_scn->d)) | ||
947 | { | ||
948 | __libelf_seterrno (ELF_E_INVALID_INDEX); | ||
949 | return 0; | ||
950 | Index: elfutils-0.155/libelf/libelfP.h | ||
951 | =================================================================== | ||
952 | --- elfutils-0.155.orig/libelf/libelfP.h 2010-01-12 16:57:54.000000000 +0000 | ||
953 | +++ elfutils-0.155/libelf/libelfP.h 2010-07-03 13:07:11.000000000 +0000 | ||
954 | @@ -608,4 +608,8 @@ | ||
955 | /* Align offset to 4 bytes as needed for note name and descriptor data. */ | ||
956 | #define NOTE_ALIGN(n) (((n) + 3) & -4U) | ||
957 | |||
958 | +/* Convenience macro. */ | ||
959 | +#define INVALID_NDX(ndx, type, data) \ | ||
960 | + unlikely ((data)->d_size / sizeof (type) <= (unsigned int) (ndx)) | ||
961 | + | ||
962 | #endif /* libelfP.h */ | ||
963 | Index: elfutils-0.155/src/ChangeLog | ||
964 | =================================================================== | ||
965 | --- elfutils-0.155.orig/src/ChangeLog 2010-07-03 13:07:10.000000000 +0000 | ||
966 | +++ elfutils-0.155/src/ChangeLog 2010-07-03 13:07:11.000000000 +0000 | ||
967 | @@ -344,6 +344,12 @@ | ||
968 | |||
969 | * readelf.c (dwarf_attr_string): Grok DW_AT_GNU_odr_signature. | ||
970 | |||
971 | +2011-03-23 Petr Machata <pmachata@redhat.com> | ||
972 | + | ||
973 | + * readelf.c (handle_dynamic, handle_relocs_rel) | ||
974 | + (handle_relocs_rela, handle_versym, print_liblist): | ||
975 | + Use gelf_fsize instead of relying on shdr->sh_entsize. | ||
976 | + | ||
977 | 2011-02-11 Roland McGrath <roland@redhat.com> | ||
978 | |||
979 | * elfcmp.c (verbose): New variable. | ||
980 | @@ -2056,6 +2062,16 @@ | ||
981 | object symbols or symbols with unknown type. | ||
982 | (check_rel): Likewise. | ||
983 | |||
984 | +2005-06-09 Roland McGrath <roland@redhat.com> | ||
985 | + | ||
986 | + * readelf.c (handle_dynamic, handle_symtab): Check for bogus sh_link. | ||
987 | + (handle_verneed, handle_verdef, handle_versym, handle_hash): Likewise. | ||
988 | + (handle_scngrp): Check for bogus sh_info. | ||
989 | + | ||
990 | + * strip.c (handle_elf): Check for bogus values in sh_link, sh_info, | ||
991 | + st_shndx, e_shstrndx, and SHT_GROUP or SHT_SYMTAB_SHNDX data. | ||
992 | + Don't use assert on input values, instead bail with "illformed" error. | ||
993 | + | ||
994 | 2005-06-08 Roland McGrath <roland@redhat.com> | ||
995 | |||
996 | * readelf.c (print_ops): Add consts. | ||
997 | @@ -2101,6 +2117,19 @@ | ||
998 | |||
999 | * readelf.c (dwarf_tag_string): Add new tags. | ||
1000 | |||
1001 | +2005-05-17 Jakub Jelinek <jakub@redhat.com> | ||
1002 | + | ||
1003 | + * elflint.c (check_hash): Don't check entries beyond end of section. | ||
1004 | + (check_note): Don't crash if gelf_rawchunk fails. | ||
1005 | + (section_name): Return <invalid> if gelf_getshdr returns NULL. | ||
1006 | + | ||
1007 | +2005-05-14 Jakub Jelinek <jakub@redhat.com> | ||
1008 | + | ||
1009 | + * elflint.c (section_name): Return "<invalid>" instead of | ||
1010 | + crashing on invalid section name. | ||
1011 | + (check_symtab, is_rel_dyn, check_rela, check_rel, check_dynamic, | ||
1012 | + check_symtab_shndx, check_hash, check_versym): Robustify. | ||
1013 | + | ||
1014 | 2005-05-08 Roland McGrath <roland@redhat.com> | ||
1015 | |||
1016 | * strip.c (handle_elf): Don't translate hash and versym data formats, | ||
1017 | Index: elfutils-0.155/src/elflint.c | ||
1018 | =================================================================== | ||
1019 | --- elfutils-0.155.orig/src/elflint.c 2010-04-13 20:08:02.000000000 +0000 | ||
1020 | +++ elfutils-0.155/src/elflint.c 2010-07-03 13:07:11.000000000 +0000 | ||
1021 | @@ -123,6 +123,10 @@ static uint32_t shstrndx; | ||
1022 | /* Array to count references in section groups. */ | ||
1023 | static int *scnref; | ||
1024 | |||
1025 | +/* Numbers of sections and program headers. */ | ||
1026 | +static unsigned int shnum; | ||
1027 | +static unsigned int phnum; | ||
1028 | + | ||
1029 | |||
1030 | int | ||
1031 | main (int argc, char *argv[]) | ||
1032 | @@ -311,10 +315,19 @@ section_name (Ebl *ebl, int idx) | ||
1033 | { | ||
1034 | GElf_Shdr shdr_mem; | ||
1035 | GElf_Shdr *shdr; | ||
1036 | + const char *ret; | ||
1037 | + | ||
1038 | + if ((unsigned int) idx > shnum) | ||
1039 | + return "<invalid>"; | ||
1040 | |||
1041 | shdr = gelf_getshdr (elf_getscn (ebl->elf, idx), &shdr_mem); | ||
1042 | + if (shdr == NULL) | ||
1043 | + return "<invalid>"; | ||
1044 | |||
1045 | - return elf_strptr (ebl->elf, shstrndx, shdr->sh_name); | ||
1046 | + ret = elf_strptr (ebl->elf, shstrndx, shdr->sh_name); | ||
1047 | + if (ret == NULL) | ||
1048 | + return "<invalid>"; | ||
1049 | + return ret; | ||
1050 | } | ||
1051 | |||
1052 | |||
1053 | @@ -337,11 +350,6 @@ static const int valid_e_machine[] = | ||
1054 | (sizeof (valid_e_machine) / sizeof (valid_e_machine[0])) | ||
1055 | |||
1056 | |||
1057 | -/* Numbers of sections and program headers. */ | ||
1058 | -static unsigned int shnum; | ||
1059 | -static unsigned int phnum; | ||
1060 | - | ||
1061 | - | ||
1062 | static void | ||
1063 | check_elf_header (Ebl *ebl, GElf_Ehdr *ehdr, size_t size) | ||
1064 | { | ||
1065 | @@ -625,7 +633,8 @@ section [%2d] '%s': symbol table cannot | ||
1066 | } | ||
1067 | } | ||
1068 | |||
1069 | - if (shdr->sh_entsize != gelf_fsize (ebl->elf, ELF_T_SYM, 1, EV_CURRENT)) | ||
1070 | + size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_SYM, 1, EV_CURRENT); | ||
1071 | + if (shdr->sh_entsize != sh_entsize) | ||
1072 | ERROR (gettext ("\ | ||
1073 | section [%2u] '%s': entry size is does not match ElfXX_Sym\n"), | ||
1074 | idx, section_name (ebl, idx)); | ||
1075 | @@ -663,7 +672,7 @@ section [%2d] '%s': XINDEX for zeroth en | ||
1076 | xndxscnidx, section_name (ebl, xndxscnidx)); | ||
1077 | } | ||
1078 | |||
1079 | - for (size_t cnt = 1; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt) | ||
1080 | + for (size_t cnt = 1; cnt < shdr->sh_size / sh_entsize; ++cnt) | ||
1081 | { | ||
1082 | sym = gelf_getsymshndx (data, xndxdata, cnt, &sym_mem, &xndx); | ||
1083 | if (sym == NULL) | ||
1084 | @@ -683,7 +692,8 @@ section [%2d] '%s': symbol %zu: invalid | ||
1085 | else | ||
1086 | { | ||
1087 | name = elf_strptr (ebl->elf, shdr->sh_link, sym->st_name); | ||
1088 | - assert (name != NULL); | ||
1089 | + assert (name != NULL | ||
1090 | + || strshdr->sh_type != SHT_STRTAB); | ||
1091 | } | ||
1092 | |||
1093 | if (sym->st_shndx == SHN_XINDEX) | ||
1094 | @@ -1032,9 +1042,11 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e | ||
1095 | { | ||
1096 | GElf_Shdr rcshdr_mem; | ||
1097 | const GElf_Shdr *rcshdr = gelf_getshdr (scn, &rcshdr_mem); | ||
1098 | - assert (rcshdr != NULL); | ||
1099 | |||
1100 | - if (rcshdr->sh_type == SHT_DYNAMIC) | ||
1101 | + if (rcshdr == NULL) | ||
1102 | + break; | ||
1103 | + | ||
1104 | + if (rcshdr->sh_type == SHT_DYNAMIC && rcshdr->sh_entsize) | ||
1105 | { | ||
1106 | /* Found the dynamic section. Look through it. */ | ||
1107 | Elf_Data *d = elf_getdata (scn, NULL); | ||
1108 | @@ -1044,7 +1056,9 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e | ||
1109 | { | ||
1110 | GElf_Dyn dyn_mem; | ||
1111 | GElf_Dyn *dyn = gelf_getdyn (d, cnt, &dyn_mem); | ||
1112 | - assert (dyn != NULL); | ||
1113 | + | ||
1114 | + if (dyn == NULL) | ||
1115 | + break; | ||
1116 | |||
1117 | if (dyn->d_tag == DT_RELCOUNT) | ||
1118 | { | ||
1119 | @@ -1058,7 +1072,9 @@ section [%2d] '%s': DT_RELCOUNT used for | ||
1120 | /* Does the number specified number of relative | ||
1121 | relocations exceed the total number of | ||
1122 | relocations? */ | ||
1123 | - if (dyn->d_un.d_val > shdr->sh_size / shdr->sh_entsize) | ||
1124 | + if (shdr->sh_entsize != 0 | ||
1125 | + && dyn->d_un.d_val > (shdr->sh_size | ||
1126 | + / shdr->sh_entsize)) | ||
1127 | ERROR (gettext ("\ | ||
1128 | section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"), | ||
1129 | idx, section_name (ebl, idx), | ||
1130 | @@ -1218,7 +1234,8 @@ section [%2d] '%s': no relocations for m | ||
1131 | } | ||
1132 | } | ||
1133 | |||
1134 | - if (shdr->sh_entsize != gelf_fsize (ebl->elf, reltype, 1, EV_CURRENT)) | ||
1135 | + size_t sh_entsize = gelf_fsize (ebl->elf, reltype, 1, EV_CURRENT); | ||
1136 | + if (shdr->sh_entsize != sh_entsize) | ||
1137 | ERROR (gettext (reltype == ELF_T_RELA ? "\ | ||
1138 | section [%2d] '%s': section entry size does not match ElfXX_Rela\n" : "\ | ||
1139 | section [%2d] '%s': section entry size does not match ElfXX_Rel\n"), | ||
1140 | @@ -1441,7 +1458,8 @@ check_rela (Ebl *ebl, GElf_Ehdr *ehdr, G | ||
1141 | Elf_Data *symdata = elf_getdata (symscn, NULL); | ||
1142 | enum load_state state = state_undecided; | ||
1143 | |||
1144 | - for (size_t cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt) | ||
1145 | + size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_RELA, 1, EV_CURRENT); | ||
1146 | + for (size_t cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt) | ||
1147 | { | ||
1148 | GElf_Rela rela_mem; | ||
1149 | GElf_Rela *rela = gelf_getrela (data, cnt, &rela_mem); | ||
1150 | @@ -1491,7 +1509,8 @@ check_rel (Ebl *ebl, GElf_Ehdr *ehdr, GE | ||
1151 | Elf_Data *symdata = elf_getdata (symscn, NULL); | ||
1152 | enum load_state state = state_undecided; | ||
1153 | |||
1154 | - for (size_t cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt) | ||
1155 | + size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_REL, 1, EV_CURRENT); | ||
1156 | + for (size_t cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt) | ||
1157 | { | ||
1158 | GElf_Rel rel_mem; | ||
1159 | GElf_Rel *rel = gelf_getrel (data, cnt, &rel_mem); | ||
1160 | @@ -1590,7 +1609,8 @@ section [%2d] '%s': referenced as string | ||
1161 | shdr->sh_link, section_name (ebl, shdr->sh_link), | ||
1162 | idx, section_name (ebl, idx)); | ||
1163 | |||
1164 | - if (shdr->sh_entsize != gelf_fsize (ebl->elf, ELF_T_DYN, 1, EV_CURRENT)) | ||
1165 | + size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_DYN, 1, EV_CURRENT); | ||
1166 | + if (shdr->sh_entsize != sh_entsize) | ||
1167 | ERROR (gettext ("\ | ||
1168 | section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"), | ||
1169 | idx, section_name (ebl, idx)); | ||
1170 | @@ -1600,7 +1620,7 @@ section [%2d] '%s': section entry size d | ||
1171 | idx, section_name (ebl, idx)); | ||
1172 | |||
1173 | bool non_null_warned = false; | ||
1174 | - for (cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt) | ||
1175 | + for (cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt) | ||
1176 | { | ||
1177 | GElf_Dyn dyn_mem; | ||
1178 | GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dyn_mem); | ||
1179 | @@ -1872,6 +1892,8 @@ section [%2d] '%s': entry size does not | ||
1180 | idx, section_name (ebl, idx)); | ||
1181 | |||
1182 | if (symshdr != NULL | ||
1183 | + && shdr->sh_entsize | ||
1184 | + && symshdr->sh_entsize | ||
1185 | && (shdr->sh_size / shdr->sh_entsize | ||
1186 | < symshdr->sh_size / symshdr->sh_entsize)) | ||
1187 | ERROR (gettext ("\ | ||
1188 | @@ -1898,6 +1920,12 @@ section [%2d] '%s': extended section ind | ||
1189 | } | ||
1190 | |||
1191 | Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL); | ||
1192 | + if (data == NULL) | ||
1193 | + { | ||
1194 | + ERROR (gettext ("section [%2d] '%s': cannot get section data\n"), | ||
1195 | + idx, section_name (ebl, idx)); | ||
1196 | + return; | ||
1197 | + } | ||
1198 | |||
1199 | if (*((Elf32_Word *) data->d_buf) != 0) | ||
1200 | ERROR (gettext ("symbol 0 should have zero extended section index\n")); | ||
1201 | @@ -1940,7 +1968,7 @@ section [%2d] '%s': hash table section i | ||
1202 | |||
1203 | size_t maxidx = nchain; | ||
1204 | |||
1205 | - if (symshdr != NULL) | ||
1206 | + if (symshdr != NULL && symshdr->sh_entsize != 0) | ||
1207 | { | ||
1208 | size_t symsize = symshdr->sh_size / symshdr->sh_entsize; | ||
1209 | |||
1210 | @@ -1951,18 +1979,28 @@ section [%2d] '%s': hash table section i | ||
1211 | maxidx = symsize; | ||
1212 | } | ||
1213 | |||
1214 | + Elf32_Word *buf = (Elf32_Word *) data->d_buf; | ||
1215 | + Elf32_Word *end = (Elf32_Word *) ((char *) data->d_buf + shdr->sh_size); | ||
1216 | size_t cnt; | ||
1217 | for (cnt = 2; cnt < 2 + nbucket; ++cnt) | ||
1218 | - if (((Elf32_Word *) data->d_buf)[cnt] >= maxidx) | ||
1219 | + { | ||
1220 | + if (buf + cnt >= end) | ||
1221 | + break; | ||
1222 | + else if (buf[cnt] >= maxidx) | ||
1223 | ERROR (gettext ("\ | ||
1224 | section [%2d] '%s': hash bucket reference %zu out of bounds\n"), | ||
1225 | idx, section_name (ebl, idx), cnt - 2); | ||
1226 | + } | ||
1227 | |||
1228 | for (; cnt < 2 + nbucket + nchain; ++cnt) | ||
1229 | - if (((Elf32_Word *) data->d_buf)[cnt] >= maxidx) | ||
1230 | + { | ||
1231 | + if (buf + cnt >= end) | ||
1232 | + break; | ||
1233 | + else if (buf[cnt] >= maxidx) | ||
1234 | ERROR (gettext ("\ | ||
1235 | section [%2d] '%s': hash chain reference %zu out of bounds\n"), | ||
1236 | idx, section_name (ebl, idx), cnt - 2 - nbucket); | ||
1237 | + } | ||
1238 | } | ||
1239 | |||
1240 | |||
1241 | @@ -1992,18 +2030,28 @@ section [%2d] '%s': hash table section i | ||
1242 | maxidx = symsize; | ||
1243 | } | ||
1244 | |||
1245 | + Elf64_Xword *buf = (Elf64_Xword *) data->d_buf; | ||
1246 | + Elf64_Xword *end = (Elf64_Xword *) ((char *) data->d_buf + shdr->sh_size); | ||
1247 | size_t cnt; | ||
1248 | for (cnt = 2; cnt < 2 + nbucket; ++cnt) | ||
1249 | - if (((Elf64_Xword *) data->d_buf)[cnt] >= maxidx) | ||
1250 | + { | ||
1251 | + if (buf + cnt >= end) | ||
1252 | + break; | ||
1253 | + else if (buf[cnt] >= maxidx) | ||
1254 | ERROR (gettext ("\ | ||
1255 | section [%2d] '%s': hash bucket reference %zu out of bounds\n"), | ||
1256 | idx, section_name (ebl, idx), cnt - 2); | ||
1257 | + } | ||
1258 | |||
1259 | for (; cnt < 2 + nbucket + nchain; ++cnt) | ||
1260 | - if (((Elf64_Xword *) data->d_buf)[cnt] >= maxidx) | ||
1261 | + { | ||
1262 | + if (buf + cnt >= end) | ||
1263 | + break; | ||
1264 | + else if (buf[cnt] >= maxidx) | ||
1265 | ERROR (gettext ("\ | ||
1266 | section [%2d] '%s': hash chain reference %" PRIu64 " out of bounds\n"), | ||
1267 | - idx, section_name (ebl, idx), (uint64_t) (cnt - 2 - nbucket)); | ||
1268 | + idx, section_name (ebl, idx), (uint64_t) cnt - 2 - nbucket); | ||
1269 | + } | ||
1270 | } | ||
1271 | |||
1272 | |||
1273 | @@ -2028,7 +2076,7 @@ section [%2d] '%s': bitmask size not pow | ||
1274 | if (shdr->sh_size < (4 + bitmask_words + nbuckets) * sizeof (Elf32_Word)) | ||
1275 | { | ||
1276 | ERROR (gettext ("\ | ||
1277 | -section [%2d] '%s': hash table section is too small (is %ld, expected at least%ld)\n"), | ||
1278 | +section [%2d] '%s': hash table section is too small (is %ld, expected at least %ld)\n"), | ||
1279 | idx, section_name (ebl, idx), (long int) shdr->sh_size, | ||
1280 | (long int) ((4 + bitmask_words + nbuckets) * sizeof (Elf32_Word))); | ||
1281 | return; | ||
1282 | @@ -2700,8 +2748,9 @@ section [%2d] '%s' refers in sh_link to | ||
1283 | |||
1284 | /* The number of elements in the version symbol table must be the | ||
1285 | same as the number of symbols. */ | ||
1286 | - if (shdr->sh_size / shdr->sh_entsize | ||
1287 | - != symshdr->sh_size / symshdr->sh_entsize) | ||
1288 | + if (shdr->sh_entsize && symshdr->sh_entsize | ||
1289 | + && (shdr->sh_size / shdr->sh_entsize | ||
1290 | + != symshdr->sh_size / symshdr->sh_entsize)) | ||
1291 | ERROR (gettext ("\ | ||
1292 | section [%2d] '%s' has different number of entries than symbol table [%2d] '%s'\n"), | ||
1293 | idx, section_name (ebl, idx), | ||
1294 | Index: elfutils-0.155/src/readelf.c | ||
1295 | =================================================================== | ||
1296 | --- elfutils-0.155.orig/src/readelf.c 2010-07-03 13:07:10.000000000 +0000 | ||
1297 | +++ elfutils-0.155/src/readelf.c 2010-07-03 13:07:11.000000000 +0000 | ||
1298 | @@ -1189,6 +1189,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G | ||
1299 | Elf32_Word *grpref = (Elf32_Word *) data->d_buf; | ||
1300 | |||
1301 | GElf_Sym sym_mem; | ||
1302 | + GElf_Sym *sym = gelf_getsym (symdata, shdr->sh_info, &sym_mem); | ||
1303 | + | ||
1304 | printf ((grpref[0] & GRP_COMDAT) | ||
1305 | ? ngettext ("\ | ||
1306 | \nCOMDAT section group [%2zu] '%s' with signature '%s' contains %zu entry:\n", | ||
1307 | @@ -1201,8 +1203,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G | ||
1308 | data->d_size / sizeof (Elf32_Word) - 1), | ||
1309 | elf_ndxscn (scn), | ||
1310 | elf_strptr (ebl->elf, shstrndx, shdr->sh_name), | ||
1311 | - elf_strptr (ebl->elf, symshdr->sh_link, | ||
1312 | - gelf_getsym (symdata, shdr->sh_info, &sym_mem)->st_name) | ||
1313 | + (sym == NULL ? NULL | ||
1314 | + : elf_strptr (ebl->elf, symshdr->sh_link, sym->st_name)) | ||
1315 | ?: gettext ("<INVALID SYMBOL>"), | ||
1316 | data->d_size / sizeof (Elf32_Word) - 1); | ||
1317 | |||
1318 | @@ -1353,10 +1355,12 @@ static void | ||
1319 | handle_dynamic (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr) | ||
1320 | { | ||
1321 | int class = gelf_getclass (ebl->elf); | ||
1322 | - GElf_Shdr glink; | ||
1323 | + GElf_Shdr glink_mem; | ||
1324 | + GElf_Shdr *glink; | ||
1325 | Elf_Data *data; | ||
1326 | size_t cnt; | ||
1327 | size_t shstrndx; | ||
1328 | + size_t sh_entsize; | ||
1329 | |||
1330 | /* Get the data of the section. */ | ||
1331 | data = elf_getdata (scn, NULL); | ||
1332 | @@ -1368,21 +1372,26 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn, | ||
1333 | error (EXIT_FAILURE, 0, | ||
1334 | gettext ("cannot get section header string table index")); | ||
1335 | |||
1336 | + sh_entsize = gelf_fsize (ebl->elf, ELF_T_DYN, 1, EV_CURRENT); | ||
1337 | + | ||
1338 | + glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), &glink_mem); | ||
1339 | + if (glink == NULL) | ||
1340 | + error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"), | ||
1341 | + elf_ndxscn (scn)); | ||
1342 | + | ||
1343 | printf (ngettext ("\ | ||
1344 | \nDynamic segment contains %lu entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n", | ||
1345 | "\ | ||
1346 | \nDynamic segment contains %lu entries:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n", | ||
1347 | - shdr->sh_size / shdr->sh_entsize), | ||
1348 | - (unsigned long int) (shdr->sh_size / shdr->sh_entsize), | ||
1349 | + shdr->sh_size / sh_entsize), | ||
1350 | + (unsigned long int) (shdr->sh_size / sh_entsize), | ||
1351 | class == ELFCLASS32 ? 10 : 18, shdr->sh_addr, | ||
1352 | shdr->sh_offset, | ||
1353 | (int) shdr->sh_link, | ||
1354 | - elf_strptr (ebl->elf, shstrndx, | ||
1355 | - gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
1356 | - &glink)->sh_name)); | ||
1357 | + elf_strptr (ebl->elf, shstrndx, glink->sh_name)); | ||
1358 | fputs_unlocked (gettext (" Type Value\n"), stdout); | ||
1359 | |||
1360 | - for (cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt) | ||
1361 | + for (cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt) | ||
1362 | { | ||
1363 | GElf_Dyn dynmem; | ||
1364 | GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dynmem); | ||
1365 | @@ -1531,7 +1540,8 @@ static void | ||
1366 | handle_relocs_rel (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr) | ||
1367 | { | ||
1368 | int class = gelf_getclass (ebl->elf); | ||
1369 | - int nentries = shdr->sh_size / shdr->sh_entsize; | ||
1370 | + size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_REL, 1, EV_CURRENT); | ||
1371 | + int nentries = shdr->sh_size / sh_entsize; | ||
1372 | |||
1373 | /* Get the data of the section. */ | ||
1374 | Elf_Data *data = elf_getdata (scn, NULL); | ||
1375 | @@ -1717,7 +1727,8 @@ static void | ||
1376 | handle_relocs_rela (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr) | ||
1377 | { | ||
1378 | int class = gelf_getclass (ebl->elf); | ||
1379 | - int nentries = shdr->sh_size / shdr->sh_entsize; | ||
1380 | + size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_RELA, 1, EV_CURRENT); | ||
1381 | + int nentries = shdr->sh_size / sh_entsize; | ||
1382 | |||
1383 | /* Get the data of the section. */ | ||
1384 | Elf_Data *data = elf_getdata (scn, NULL); | ||
1385 | @@ -1964,6 +1975,13 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G | ||
1386 | error (EXIT_FAILURE, 0, | ||
1387 | gettext ("cannot get section header string table index")); | ||
1388 | |||
1389 | + GElf_Shdr glink_mem; | ||
1390 | + GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
1391 | + &glink_mem); | ||
1392 | + if (glink == NULL) | ||
1393 | + error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"), | ||
1394 | + elf_ndxscn (scn)); | ||
1395 | + | ||
1396 | /* Now we can compute the number of entries in the section. */ | ||
1397 | unsigned int nsyms = data->d_size / (class == ELFCLASS32 | ||
1398 | ? sizeof (Elf32_Sym) | ||
1399 | @@ -1974,15 +1992,12 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G | ||
1400 | nsyms), | ||
1401 | (unsigned int) elf_ndxscn (scn), | ||
1402 | elf_strptr (ebl->elf, shstrndx, shdr->sh_name), nsyms); | ||
1403 | - GElf_Shdr glink; | ||
1404 | printf (ngettext (" %lu local symbol String table: [%2u] '%s'\n", | ||
1405 | " %lu local symbols String table: [%2u] '%s'\n", | ||
1406 | shdr->sh_info), | ||
1407 | (unsigned long int) shdr->sh_info, | ||
1408 | (unsigned int) shdr->sh_link, | ||
1409 | - elf_strptr (ebl->elf, shstrndx, | ||
1410 | - gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
1411 | - &glink)->sh_name)); | ||
1412 | + elf_strptr (ebl->elf, shstrndx, glink->sh_name)); | ||
1413 | |||
1414 | fputs_unlocked (class == ELFCLASS32 | ||
1415 | ? gettext ("\ | ||
1416 | @@ -2218,7 +2233,13 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn, | ||
1417 | error (EXIT_FAILURE, 0, | ||
1418 | gettext ("cannot get section header string table index")); | ||
1419 | |||
1420 | - GElf_Shdr glink; | ||
1421 | + GElf_Shdr glink_mem; | ||
1422 | + GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
1423 | + &glink_mem); | ||
1424 | + if (glink == NULL) | ||
1425 | + error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"), | ||
1426 | + elf_ndxscn (scn)); | ||
1427 | + | ||
1428 | printf (ngettext ("\ | ||
1429 | \nVersion needs section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n", | ||
1430 | "\ | ||
1431 | @@ -2229,9 +2250,7 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn, | ||
1432 | class == ELFCLASS32 ? 10 : 18, shdr->sh_addr, | ||
1433 | shdr->sh_offset, | ||
1434 | (unsigned int) shdr->sh_link, | ||
1435 | - elf_strptr (ebl->elf, shstrndx, | ||
1436 | - gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
1437 | - &glink)->sh_name)); | ||
1438 | + elf_strptr (ebl->elf, shstrndx, glink->sh_name)); | ||
1439 | |||
1440 | unsigned int offset = 0; | ||
1441 | for (int cnt = shdr->sh_info; --cnt >= 0; ) | ||
1442 | @@ -2284,8 +2303,14 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G | ||
1443 | error (EXIT_FAILURE, 0, | ||
1444 | gettext ("cannot get section header string table index")); | ||
1445 | |||
1446 | + GElf_Shdr glink_mem; | ||
1447 | + GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
1448 | + &glink_mem); | ||
1449 | + if (glink == NULL) | ||
1450 | + error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"), | ||
1451 | + elf_ndxscn (scn)); | ||
1452 | + | ||
1453 | int class = gelf_getclass (ebl->elf); | ||
1454 | - GElf_Shdr glink; | ||
1455 | printf (ngettext ("\ | ||
1456 | \nVersion definition section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n", | ||
1457 | "\ | ||
1458 | @@ -2297,9 +2322,7 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G | ||
1459 | class == ELFCLASS32 ? 10 : 18, shdr->sh_addr, | ||
1460 | shdr->sh_offset, | ||
1461 | (unsigned int) shdr->sh_link, | ||
1462 | - elf_strptr (ebl->elf, shstrndx, | ||
1463 | - gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
1464 | - &glink)->sh_name)); | ||
1465 | + elf_strptr (ebl->elf, shstrndx, glink->sh_name)); | ||
1466 | |||
1467 | unsigned int offset = 0; | ||
1468 | for (int cnt = shdr->sh_info; --cnt >= 0; ) | ||
1469 | @@ -2561,25 +2584,30 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, G | ||
1470 | filename = NULL; | ||
1471 | } | ||
1472 | |||
1473 | + GElf_Shdr glink_mem; | ||
1474 | + GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
1475 | + &glink_mem); | ||
1476 | + size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_HALF, 1, EV_CURRENT); | ||
1477 | + if (glink == NULL) | ||
1478 | + error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"), | ||
1479 | + elf_ndxscn (scn)); | ||
1480 | + | ||
1481 | /* Print the header. */ | ||
1482 | - GElf_Shdr glink; | ||
1483 | printf (ngettext ("\ | ||
1484 | \nVersion symbols section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'", | ||
1485 | "\ | ||
1486 | \nVersion symbols section [%2u] '%s' contains %d entries:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'", | ||
1487 | - shdr->sh_size / shdr->sh_entsize), | ||
1488 | + shdr->sh_size / sh_entsize), | ||
1489 | (unsigned int) elf_ndxscn (scn), | ||
1490 | elf_strptr (ebl->elf, shstrndx, shdr->sh_name), | ||
1491 | - (int) (shdr->sh_size / shdr->sh_entsize), | ||
1492 | + (int) (shdr->sh_size / sh_entsize), | ||
1493 | class == ELFCLASS32 ? 10 : 18, shdr->sh_addr, | ||
1494 | shdr->sh_offset, | ||
1495 | (unsigned int) shdr->sh_link, | ||
1496 | - elf_strptr (ebl->elf, shstrndx, | ||
1497 | - gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
1498 | - &glink)->sh_name)); | ||
1499 | + elf_strptr (ebl->elf, shstrndx, glink->sh_name)); | ||
1500 | |||
1501 | /* Now we can finally look at the actual contents of this section. */ | ||
1502 | - for (unsigned int cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt) | ||
1503 | + for (unsigned int cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt) | ||
1504 | { | ||
1505 | if (cnt % 2 == 0) | ||
1506 | printf ("\n %4d:", cnt); | ||
1507 | @@ -2628,7 +2656,17 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn, | ||
1508 | for (Elf32_Word cnt = 0; cnt < nbucket; ++cnt) | ||
1509 | ++counts[lengths[cnt]]; | ||
1510 | |||
1511 | - GElf_Shdr glink; | ||
1512 | + GElf_Shdr glink_mem; | ||
1513 | + GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, | ||
1514 | + shdr->sh_link), | ||
1515 | + &glink_mem); | ||
1516 | + if (glink == NULL) | ||
1517 | + { | ||
1518 | + error (0, 0, gettext ("invalid sh_link value in section %Zu"), | ||
1519 | + elf_ndxscn (scn)); | ||
1520 | + return; | ||
1521 | + } | ||
1522 | + | ||
1523 | printf (ngettext ("\ | ||
1524 | \nHistogram for bucket list length in section [%2u] '%s' (total of %d bucket):\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n", | ||
1525 | "\ | ||
1526 | @@ -2641,9 +2679,7 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn, | ||
1527 | shdr->sh_addr, | ||
1528 | shdr->sh_offset, | ||
1529 | (unsigned int) shdr->sh_link, | ||
1530 | - elf_strptr (ebl->elf, shstrndx, | ||
1531 | - gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), | ||
1532 | - &glink)->sh_name)); | ||
1533 | + elf_strptr (ebl->elf, shstrndx, glink->sh_name)); | ||
1534 | |||
1535 | if (extrastr != NULL) | ||
1536 | fputs (extrastr, stdout); | ||
1537 | @@ -2903,7 +2939,8 @@ print_liblist (Ebl *ebl) | ||
1538 | |||
1539 | if (shdr != NULL && shdr->sh_type == SHT_GNU_LIBLIST) | ||
1540 | { | ||
1541 | - int nentries = shdr->sh_size / shdr->sh_entsize; | ||
1542 | + size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_LIB, 1, EV_CURRENT); | ||
1543 | + int nentries = shdr->sh_size / sh_entsize; | ||
1544 | printf (ngettext ("\ | ||
1545 | \nLibrary list section [%2zu] '%s' at offset %#0" PRIx64 " contains %d entry:\n", | ||
1546 | "\ | ||
1547 | @@ -4164,6 +4201,16 @@ print_debug_aranges_section (Dwfl_Module | ||
1548 | return; | ||
1549 | } | ||
1550 | |||
1551 | + GElf_Shdr glink_mem; | ||
1552 | + GElf_Shdr *glink; | ||
1553 | + glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), &glink_mem); | ||
1554 | + if (glink == NULL) | ||
1555 | + { | ||
1556 | + error (0, 0, gettext ("invalid sh_link value in section %Zu"), | ||
1557 | + elf_ndxscn (scn)); | ||
1558 | + return; | ||
1559 | + } | ||
1560 | + | ||
1561 | printf (ngettext ("\ | ||
1562 | \nDWARF section [%2zu] '%s' at offset %#" PRIx64 " contains %zu entry:\n", | ||
1563 | "\ | ||
1564 | Index: elfutils-0.155/src/strip.c | ||
1565 | =================================================================== | ||
1566 | --- elfutils-0.155.orig/src/strip.c 2010-07-03 13:07:10.000000000 +0000 | ||
1567 | +++ elfutils-0.155/src/strip.c 2010-07-03 13:07:11.000000000 +0000 | ||
1568 | @@ -564,6 +564,11 @@ handle_elf (int fd, Elf *elf, const char | ||
1569 | goto fail_close; | ||
1570 | } | ||
1571 | |||
1572 | + if (shstrndx >= shnum) | ||
1573 | + goto illformed; | ||
1574 | + | ||
1575 | +#define elf_assert(test) do { if (!(test)) goto illformed; } while (0) | ||
1576 | + | ||
1577 | /* Storage for section information. We leave room for two more | ||
1578 | entries since we unconditionally create a section header string | ||
1579 | table. Maybe some weird tool created an ELF file without one. | ||
1580 | @@ -585,7 +590,7 @@ handle_elf (int fd, Elf *elf, const char | ||
1581 | { | ||
1582 | /* This should always be true (i.e., there should not be any | ||
1583 | holes in the numbering). */ | ||
1584 | - assert (elf_ndxscn (scn) == cnt); | ||
1585 | + elf_assert (elf_ndxscn (scn) == cnt); | ||
1586 | |||
1587 | shdr_info[cnt].scn = scn; | ||
1588 | |||
1589 | @@ -598,6 +603,7 @@ handle_elf (int fd, Elf *elf, const char | ||
1590 | shdr_info[cnt].shdr.sh_name); | ||
1591 | if (shdr_info[cnt].name == NULL) | ||
1592 | { | ||
1593 | + illformed: | ||
1594 | error (0, 0, gettext ("illformed file '%s'"), fname); | ||
1595 | goto fail_close; | ||
1596 | } | ||
1597 | @@ -607,6 +613,8 @@ handle_elf (int fd, Elf *elf, const char | ||
1598 | |||
1599 | /* Remember the shdr.sh_link value. */ | ||
1600 | shdr_info[cnt].old_sh_link = shdr_info[cnt].shdr.sh_link; | ||
1601 | + if (shdr_info[cnt].old_sh_link >= shnum) | ||
1602 | + goto illformed; | ||
1603 | |||
1604 | /* Sections in files other than relocatable object files which | ||
1605 | are not loaded can be freely moved by us. In relocatable | ||
1606 | @@ -619,7 +627,7 @@ handle_elf (int fd, Elf *elf, const char | ||
1607 | appropriate reference. */ | ||
1608 | if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB_SHNDX)) | ||
1609 | { | ||
1610 | - assert (shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx == 0); | ||
1611 | + elf_assert (shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx == 0); | ||
1612 | shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx = cnt; | ||
1613 | } | ||
1614 | else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GROUP)) | ||
1615 | @@ -636,7 +644,12 @@ handle_elf (int fd, Elf *elf, const char | ||
1616 | for (inner = 1; | ||
1617 | inner < shdr_info[cnt].data->d_size / sizeof (Elf32_Word); | ||
1618 | ++inner) | ||
1619 | + { | ||
1620 | + if (grpref[inner] < shnum) | ||
1621 | shdr_info[grpref[inner]].group_idx = cnt; | ||
1622 | + else | ||
1623 | + goto illformed; | ||
1624 | + } | ||
1625 | |||
1626 | if (inner == 1 || (inner == 2 && (grpref[0] & GRP_COMDAT) == 0)) | ||
1627 | /* If the section group contains only one element and this | ||
1628 | @@ -647,7 +660,7 @@ handle_elf (int fd, Elf *elf, const char | ||
1629 | } | ||
1630 | else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GNU_versym)) | ||
1631 | { | ||
1632 | - assert (shdr_info[shdr_info[cnt].shdr.sh_link].version_idx == 0); | ||
1633 | + elf_assert (shdr_info[shdr_info[cnt].shdr.sh_link].version_idx == 0); | ||
1634 | shdr_info[shdr_info[cnt].shdr.sh_link].version_idx = cnt; | ||
1635 | } | ||
1636 | |||
1637 | @@ -655,7 +668,7 @@ handle_elf (int fd, Elf *elf, const char | ||
1638 | discarded right away. */ | ||
1639 | if ((shdr_info[cnt].shdr.sh_flags & SHF_GROUP) != 0) | ||
1640 | { | ||
1641 | - assert (shdr_info[cnt].group_idx != 0); | ||
1642 | + elf_assert (shdr_info[cnt].group_idx != 0); | ||
1643 | |||
1644 | if (shdr_info[shdr_info[cnt].group_idx].idx == 0) | ||
1645 | { | ||
1646 | @@ -731,10 +744,14 @@ handle_elf (int fd, Elf *elf, const char | ||
1647 | { | ||
1648 | /* If a relocation section is marked as being removed make | ||
1649 | sure the section it is relocating is removed, too. */ | ||
1650 | - if ((shdr_info[cnt].shdr.sh_type == SHT_REL | ||
1651 | + if (shdr_info[cnt].shdr.sh_type == SHT_REL | ||
1652 | || shdr_info[cnt].shdr.sh_type == SHT_RELA) | ||
1653 | - && shdr_info[shdr_info[cnt].shdr.sh_info].idx != 0) | ||
1654 | - shdr_info[cnt].idx = 1; | ||
1655 | + { | ||
1656 | + if (shdr_info[cnt].shdr.sh_info >= shnum) | ||
1657 | + goto illformed; | ||
1658 | + else if (shdr_info[shdr_info[cnt].shdr.sh_info].idx != 0) | ||
1659 | + shdr_info[cnt].idx = 1; | ||
1660 | + } | ||
1661 | |||
1662 | /* If a group section is marked as being removed make | ||
1663 | sure all the sections it contains are being removed, too. */ | ||
1664 | @@ -778,7 +795,7 @@ handle_elf (int fd, Elf *elf, const char | ||
1665 | if (shdr_info[cnt].symtab_idx != 0 | ||
1666 | && shdr_info[shdr_info[cnt].symtab_idx].data == NULL) | ||
1667 | { | ||
1668 | - assert (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB); | ||
1669 | + elf_assert (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB); | ||
1670 | |||
1671 | shdr_info[shdr_info[cnt].symtab_idx].data | ||
1672 | = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn, | ||
1673 | @@ -818,6 +835,9 @@ handle_elf (int fd, Elf *elf, const char | ||
1674 | else if (scnidx == SHN_XINDEX) | ||
1675 | scnidx = xndx; | ||
1676 | |||
1677 | + if (scnidx >= shnum) | ||
1678 | + goto illformed; | ||
1679 | + | ||
1680 | if (shdr_info[scnidx].idx == 0) | ||
1681 | /* This symbol table has a real symbol in | ||
1682 | a discarded section. So preserve the | ||
1683 | @@ -848,12 +868,16 @@ handle_elf (int fd, Elf *elf, const char | ||
1684 | } | ||
1685 | |||
1686 | /* Handle references through sh_info. */ | ||
1687 | - if (SH_INFO_LINK_P (&shdr_info[cnt].shdr) | ||
1688 | - && shdr_info[shdr_info[cnt].shdr.sh_info].idx == 0) | ||
1689 | + if (SH_INFO_LINK_P (&shdr_info[cnt].shdr)) | ||
1690 | + { | ||
1691 | + if (shdr_info[cnt].shdr.sh_info >= shnum) | ||
1692 | + goto illformed; | ||
1693 | + else if ( shdr_info[shdr_info[cnt].shdr.sh_info].idx == 0) | ||
1694 | { | ||
1695 | shdr_info[shdr_info[cnt].shdr.sh_info].idx = 1; | ||
1696 | changes |= shdr_info[cnt].shdr.sh_info < cnt; | ||
1697 | } | ||
1698 | + } | ||
1699 | |||
1700 | /* Mark the section as investigated. */ | ||
1701 | shdr_info[cnt].idx = 2; | ||
1702 | @@ -994,7 +1018,7 @@ handle_elf (int fd, Elf *elf, const char | ||
1703 | error (EXIT_FAILURE, 0, gettext ("while generating output file: %s"), | ||
1704 | elf_errmsg (-1)); | ||
1705 | |||
1706 | - assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx); | ||
1707 | + elf_assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx); | ||
1708 | |||
1709 | /* Add this name to the section header string table. */ | ||
1710 | shdr_info[cnt].se = ebl_strtabadd (shst, shdr_info[cnt].name, 0); | ||
1711 | @@ -1031,7 +1055,7 @@ handle_elf (int fd, Elf *elf, const char | ||
1712 | error (EXIT_FAILURE, 0, | ||
1713 | gettext ("while create section header section: %s"), | ||
1714 | elf_errmsg (-1)); | ||
1715 | - assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx); | ||
1716 | + elf_assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx); | ||
1717 | |||
1718 | shdr_info[cnt].data = elf_newdata (shdr_info[cnt].newscn); | ||
1719 | if (shdr_info[cnt].data == NULL) | ||
1720 | @@ -1087,7 +1111,7 @@ handle_elf (int fd, Elf *elf, const char | ||
1721 | error (EXIT_FAILURE, 0, | ||
1722 | gettext ("while create section header section: %s"), | ||
1723 | elf_errmsg (-1)); | ||
1724 | - assert (elf_ndxscn (shdr_info[cnt].newscn) == idx); | ||
1725 | + elf_assert (elf_ndxscn (shdr_info[cnt].newscn) == idx); | ||
1726 | |||
1727 | /* Finalize the string table and fill in the correct indices in the | ||
1728 | section headers. */ | ||
1729 | @@ -1177,20 +1201,20 @@ handle_elf (int fd, Elf *elf, const char | ||
1730 | shndxdata = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn, | ||
1731 | NULL); | ||
1732 | |||
1733 | - assert ((versiondata->d_size / sizeof (Elf32_Word)) | ||
1734 | + elf_assert ((versiondata->d_size / sizeof (Elf32_Word)) | ||
1735 | >= shdr_info[cnt].data->d_size / elsize); | ||
1736 | } | ||
1737 | |||
1738 | if (shdr_info[cnt].version_idx != 0) | ||
1739 | { | ||
1740 | - assert (shdr_info[cnt].shdr.sh_type == SHT_DYNSYM); | ||
1741 | + elf_assert (shdr_info[cnt].shdr.sh_type == SHT_DYNSYM); | ||
1742 | /* This section has associated version | ||
1743 | information. We have to modify that | ||
1744 | information, too. */ | ||
1745 | versiondata = elf_getdata (shdr_info[shdr_info[cnt].version_idx].scn, | ||
1746 | NULL); | ||
1747 | |||
1748 | - assert ((versiondata->d_size / sizeof (GElf_Versym)) | ||
1749 | + elf_assert ((versiondata->d_size / sizeof (GElf_Versym)) | ||
1750 | >= shdr_info[cnt].data->d_size / elsize); | ||
1751 | } | ||
1752 | |||
1753 | @@ -1245,7 +1269,7 @@ handle_elf (int fd, Elf *elf, const char | ||
1754 | sec = shdr_info[sym->st_shndx].idx; | ||
1755 | else | ||
1756 | { | ||
1757 | - assert (shndxdata != NULL); | ||
1758 | + elf_assert (shndxdata != NULL); | ||
1759 | |||
1760 | sec = shdr_info[xshndx].idx; | ||
1761 | } | ||
1762 | @@ -1266,7 +1290,7 @@ handle_elf (int fd, Elf *elf, const char | ||
1763 | nxshndx = sec; | ||
1764 | } | ||
1765 | |||
1766 | - assert (sec < SHN_LORESERVE || shndxdata != NULL); | ||
1767 | + elf_assert (sec < SHN_LORESERVE || shndxdata != NULL); | ||
1768 | |||
1769 | if ((inner != destidx || nshndx != sym->st_shndx | ||
1770 | || (shndxdata != NULL && nxshndx != xshndx)) | ||
1771 | @@ -1293,9 +1317,11 @@ handle_elf (int fd, Elf *elf, const char | ||
1772 | { | ||
1773 | size_t sidx = (sym->st_shndx != SHN_XINDEX | ||
1774 | ? sym->st_shndx : xshndx); | ||
1775 | - assert (GELF_ST_TYPE (sym->st_info) == STT_SECTION | ||
1776 | - || (shdr_info[sidx].shdr.sh_type == SHT_GROUP | ||
1777 | - && shdr_info[sidx].shdr.sh_info == inner)); | ||
1778 | + elf_assert (GELF_ST_TYPE (sym->st_info) == STT_SECTION | ||
1779 | + || ((shdr_info[sidx].shdr.sh_type | ||
1780 | + == SHT_GROUP) | ||
1781 | + && (shdr_info[sidx].shdr.sh_info | ||
1782 | + == inner))); | ||
1783 | } | ||
1784 | } | ||
1785 | |||
1786 | @@ -1483,11 +1509,11 @@ handle_elf (int fd, Elf *elf, const char | ||
1787 | { | ||
1788 | GElf_Sym sym_mem; | ||
1789 | GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem); | ||
1790 | - assert (sym != NULL); | ||
1791 | + elf_assert (sym != NULL); | ||
1792 | |||
1793 | const char *name = elf_strptr (elf, strshndx, | ||
1794 | sym->st_name); | ||
1795 | - assert (name != NULL); | ||
1796 | + elf_assert (name != NULL); | ||
1797 | size_t hidx = elf_hash (name) % nbucket; | ||
1798 | |||
1799 | if (bucket[hidx] == 0) | ||
1800 | @@ -1506,8 +1532,8 @@ handle_elf (int fd, Elf *elf, const char | ||
1801 | else | ||
1802 | { | ||
1803 | /* Alpha and S390 64-bit use 64-bit SHT_HASH entries. */ | ||
1804 | - assert (shdr_info[cnt].shdr.sh_entsize | ||
1805 | - == sizeof (Elf64_Xword)); | ||
1806 | + elf_assert (shdr_info[cnt].shdr.sh_entsize | ||
1807 | + == sizeof (Elf64_Xword)); | ||
1808 | |||
1809 | Elf64_Xword *bucket = (Elf64_Xword *) hashd->d_buf; | ||
1810 | |||
1811 | @@ -1537,11 +1563,11 @@ handle_elf (int fd, Elf *elf, const char | ||
1812 | { | ||
1813 | GElf_Sym sym_mem; | ||
1814 | GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem); | ||
1815 | - assert (sym != NULL); | ||
1816 | + elf_assert (sym != NULL); | ||
1817 | |||
1818 | const char *name = elf_strptr (elf, strshndx, | ||
1819 | sym->st_name); | ||
1820 | - assert (name != NULL); | ||
1821 | + elf_assert (name != NULL); | ||
1822 | size_t hidx = elf_hash (name) % nbucket; | ||
1823 | |||
1824 | if (bucket[hidx] == 0) | ||
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/uclibc-support.patch b/meta/recipes-devtools/elfutils/elfutils-0.155/uclibc-support.patch new file mode 100644 index 0000000000..fbaf1e9dcd --- /dev/null +++ b/meta/recipes-devtools/elfutils/elfutils-0.155/uclibc-support.patch | |||
@@ -0,0 +1,91 @@ | |||
1 | on uclibc systems libintl and libuargp are separate from libc. | ||
2 | so they need to be specified on commandline when we use proxy-libintl | ||
3 | then libintl is a static archive so it should be listed last since | ||
4 | elfutils does not respect disable-nls we need to link in libintl | ||
5 | |||
6 | We add a new option --enable-uclibc which will be used to control | ||
7 | the uclibc specific configurations during build. | ||
8 | |||
9 | Signed-off-by: Khem Raj <raj.khem> | ||
10 | |||
11 | Upstream-Status: Inappropriate [uclibc specific] | ||
12 | |||
13 | Index: elfutils-0.155/configure.ac | ||
14 | =================================================================== | ||
15 | --- elfutils-0.155.orig/configure.ac | ||
16 | +++ elfutils-0.155/configure.ac | ||
17 | @@ -55,9 +55,16 @@ AS_IF([test "$use_locks" = yes], [AC_DEF | ||
18 | |||
19 | AH_TEMPLATE([USE_LOCKS], [Defined if libraries should be thread-safe.]) | ||
20 | |||
21 | +AC_ARG_ENABLE([uclibc], | ||
22 | +AS_HELP_STRING([--enable-uclibc], [Use uclibc for system libraries]), | ||
23 | +use_uclibc=yes, use_uclibc=no) | ||
24 | +AM_CONDITIONAL(USE_UCLIBC, test "$use_uclibc" = yes) | ||
25 | +AS_IF([test "$use_uclibc" = yes], [AC_DEFINE(USE_UCLIBC)]) | ||
26 | + | ||
27 | +AH_TEMPLATE([USE_UCLIBC], [Defined if uclibc libraries are used.]) | ||
28 | + | ||
29 | dnl Add all the languages for which translations are available. | ||
30 | ALL_LINGUAS= | ||
31 | - | ||
32 | AC_PROG_CC | ||
33 | AC_PROG_RANLIB | ||
34 | AC_PROG_YACC | ||
35 | Index: elfutils-0.155/libelf/Makefile.am | ||
36 | =================================================================== | ||
37 | --- elfutils-0.155.orig/libelf/Makefile.am | ||
38 | +++ elfutils-0.155/libelf/Makefile.am | ||
39 | @@ -93,7 +93,12 @@ if !MUDFLAP | ||
40 | libelf_pic_a_SOURCES = | ||
41 | am_libelf_pic_a_OBJECTS = $(libelf_a_SOURCES:.c=.os) | ||
42 | |||
43 | + | ||
44 | libelf_so_LDLIBS = | ||
45 | +if USE_UCLIBC | ||
46 | +libelf_so_LDLIBS += -lintl -luargp | ||
47 | +endif | ||
48 | + | ||
49 | if USE_LOCKS | ||
50 | libelf_so_LDLIBS += -lpthread | ||
51 | endif | ||
52 | Index: elfutils-0.155/libdw/Makefile.am | ||
53 | =================================================================== | ||
54 | --- elfutils-0.155.orig/libdw/Makefile.am | ||
55 | +++ elfutils-0.155/libdw/Makefile.am | ||
56 | @@ -98,6 +98,11 @@ if !MUDFLAP | ||
57 | libdw_pic_a_SOURCES = | ||
58 | am_libdw_pic_a_OBJECTS = $(libdw_a_SOURCES:.c=.os) | ||
59 | |||
60 | +libdw_so_LDLIBS = | ||
61 | +if USE_UCLIBC | ||
62 | +libdw_so_LDLIBS += -lintl -luargp | ||
63 | +endif | ||
64 | + | ||
65 | libdw_so_SOURCES = | ||
66 | libdw.so: $(srcdir)/libdw.map libdw_pic.a \ | ||
67 | ../libdwfl/libdwfl_pic.a ../libebl/libebl.a \ | ||
68 | @@ -108,7 +113,7 @@ libdw.so: $(srcdir)/libdw.map libdw_pic. | ||
69 | -Wl,--enable-new-dtags,-rpath,$(pkglibdir) \ | ||
70 | -Wl,--version-script,$<,--no-undefined \ | ||
71 | -Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\ | ||
72 | - -ldl $(zip_LIBS) | ||
73 | + -ldl $(zip_LIBS) $(libdw_so_LDLIBS) | ||
74 | if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi | ||
75 | ln -fs $@ $@.$(VERSION) | ||
76 | |||
77 | Index: elfutils-0.155/libcpu/Makefile.am | ||
78 | =================================================================== | ||
79 | --- elfutils-0.155.orig/libcpu/Makefile.am | ||
80 | +++ elfutils-0.155/libcpu/Makefile.am | ||
81 | @@ -63,6 +63,10 @@ i386_parse_CFLAGS = -DNMNES="`wc -l < i3 | ||
82 | i386_lex.o: i386_parse.h | ||
83 | i386_gendis_LDADD = $(libeu) -lm $(libmudflap) | ||
84 | |||
85 | +if USE_UCLIBC | ||
86 | +i386_gendis_LDADD += -luargp -lintl | ||
87 | +endif | ||
88 | + | ||
89 | i386_parse.h: i386_parse.c ; | ||
90 | |||
91 | noinst_HEADERS = memory-access.h i386_parse.h i386_data.h | ||
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/x86_64_dis.h b/meta/recipes-devtools/elfutils/elfutils-0.155/x86_64_dis.h new file mode 100644 index 0000000000..a0198bed97 --- /dev/null +++ b/meta/recipes-devtools/elfutils/elfutils-0.155/x86_64_dis.h | |||
@@ -0,0 +1,1632 @@ | |||
1 | #define MNEMONIC_BITS 10 | ||
2 | #define SUFFIX_BITS 3 | ||
3 | #define FCT1_BITS 7 | ||
4 | #define STR1_BITS 4 | ||
5 | #define OFF1_1_BITS 7 | ||
6 | #define OFF1_1_BIAS 3 | ||
7 | #define OFF1_2_BITS 7 | ||
8 | #define OFF1_2_BIAS 4 | ||
9 | #define OFF1_3_BITS 1 | ||
10 | #define OFF1_3_BIAS 7 | ||
11 | #define FCT2_BITS 6 | ||
12 | #define STR2_BITS 2 | ||
13 | #define OFF2_1_BITS 7 | ||
14 | #define OFF2_1_BIAS 5 | ||
15 | #define OFF2_2_BITS 7 | ||
16 | #define OFF2_2_BIAS 4 | ||
17 | #define OFF2_3_BITS 4 | ||
18 | #define OFF2_3_BIAS 7 | ||
19 | #define FCT3_BITS 4 | ||
20 | #define STR3_BITS 1 | ||
21 | #define OFF3_1_BITS 6 | ||
22 | #define OFF3_1_BIAS 10 | ||
23 | #define OFF3_2_BITS 1 | ||
24 | #define OFF3_2_BIAS 21 | ||
25 | |||
26 | #include <i386_data.h> | ||
27 | |||
28 | #define suffix_none 0 | ||
29 | #define suffix_w 1 | ||
30 | #define suffix_w0 2 | ||
31 | #define suffix_W 3 | ||
32 | #define suffix_tttn 4 | ||
33 | #define suffix_D 7 | ||
34 | #define suffix_w1 5 | ||
35 | #define suffix_W1 6 | ||
36 | |||
37 | static const opfct_t op1_fct[] = | ||
38 | { | ||
39 | NULL, | ||
40 | FCT_MOD$R_M, | ||
41 | FCT_Mod$R_m, | ||
42 | FCT_abs, | ||
43 | FCT_ax, | ||
44 | FCT_ax$w, | ||
45 | FCT_ccc, | ||
46 | FCT_ddd, | ||
47 | FCT_disp8, | ||
48 | FCT_ds_bx, | ||
49 | FCT_ds_si, | ||
50 | FCT_dx, | ||
51 | FCT_es_di, | ||
52 | FCT_freg, | ||
53 | FCT_imm$s, | ||
54 | FCT_imm$w, | ||
55 | FCT_imm16, | ||
56 | FCT_imm64$w, | ||
57 | FCT_imm8, | ||
58 | FCT_imms8, | ||
59 | FCT_mmxreg, | ||
60 | FCT_mod$16r_m, | ||
61 | FCT_mod$64r_m, | ||
62 | FCT_mod$8r_m, | ||
63 | FCT_mod$r_m, | ||
64 | FCT_mod$r_m$w, | ||
65 | FCT_reg, | ||
66 | FCT_reg$w, | ||
67 | FCT_reg64, | ||
68 | FCT_rel, | ||
69 | FCT_sel, | ||
70 | FCT_sreg2, | ||
71 | FCT_sreg3, | ||
72 | FCT_string, | ||
73 | FCT_xmmreg, | ||
74 | }; | ||
75 | static const char op1_str[] = | ||
76 | "%ax\0" | ||
77 | "%cl\0" | ||
78 | "%rax\0" | ||
79 | "%st\0" | ||
80 | "%xmm0\0" | ||
81 | "*"; | ||
82 | static const uint8_t op1_str_idx[] = { | ||
83 | 0, | ||
84 | 4, | ||
85 | 8, | ||
86 | 13, | ||
87 | 17, | ||
88 | 23, | ||
89 | }; | ||
90 | static const opfct_t op2_fct[] = | ||
91 | { | ||
92 | NULL, | ||
93 | FCT_MOD$R_M, | ||
94 | FCT_Mod$R_m, | ||
95 | FCT_abs, | ||
96 | FCT_absval, | ||
97 | FCT_ax$w, | ||
98 | FCT_ccc, | ||
99 | FCT_ddd, | ||
100 | FCT_ds_si, | ||
101 | FCT_dx, | ||
102 | FCT_es_di, | ||
103 | FCT_freg, | ||
104 | FCT_imm8, | ||
105 | FCT_mmxreg, | ||
106 | FCT_mod$64r_m, | ||
107 | FCT_mod$r_m, | ||
108 | FCT_mod$r_m$w, | ||
109 | FCT_oreg, | ||
110 | FCT_oreg$w, | ||
111 | FCT_reg, | ||
112 | FCT_reg$w, | ||
113 | FCT_reg64, | ||
114 | FCT_sreg3, | ||
115 | FCT_string, | ||
116 | FCT_xmmreg, | ||
117 | }; | ||
118 | static const char op2_str[] = | ||
119 | "%rcx\0" | ||
120 | "%st"; | ||
121 | static const uint8_t op2_str_idx[] = { | ||
122 | 0, | ||
123 | 5, | ||
124 | }; | ||
125 | static const opfct_t op3_fct[] = | ||
126 | { | ||
127 | NULL, | ||
128 | FCT_mmxreg, | ||
129 | FCT_mod$r_m, | ||
130 | FCT_reg, | ||
131 | FCT_string, | ||
132 | FCT_xmmreg, | ||
133 | }; | ||
134 | static const char op3_str[] = | ||
135 | "%rdx"; | ||
136 | static const uint8_t op3_str_idx[] = { | ||
137 | 0, | ||
138 | }; | ||
139 | static const struct instr_enc instrtab[] = | ||
140 | { | ||
141 | { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
142 | { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
143 | { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
144 | { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
145 | { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
146 | { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
147 | { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
148 | { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
149 | { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
150 | { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
151 | { .mnemonic = MNE_addsubpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
152 | { .mnemonic = MNE_addsubps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
153 | { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
154 | { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
155 | { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
156 | { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
157 | { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
158 | { .mnemonic = MNE_andpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
159 | { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
160 | { .mnemonic = MNE_andnpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
161 | { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
162 | { .mnemonic = MNE_movslq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 21, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
163 | { .mnemonic = MNE_bsf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
164 | { .mnemonic = MNE_bsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
165 | { .mnemonic = MNE_bswap, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 26, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
166 | { .mnemonic = MNE_bt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
167 | { .mnemonic = MNE_bt, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
168 | { .mnemonic = MNE_btc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
169 | { .mnemonic = MNE_btc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
170 | { .mnemonic = MNE_btr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
171 | { .mnemonic = MNE_btr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
172 | { .mnemonic = MNE_bts, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
173 | { .mnemonic = MNE_bts, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
174 | { .mnemonic = MNE_call, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
175 | { .mnemonic = MNE_call, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 22, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
176 | { .mnemonic = MNE_lcall, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 22, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
177 | { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
178 | { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
179 | { .mnemonic = MNE_clc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
180 | { .mnemonic = MNE_cld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
181 | { .mnemonic = MNE_cli, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
182 | { .mnemonic = MNE_syscall, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
183 | { .mnemonic = MNE_clts, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
184 | { .mnemonic = MNE_sysret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
185 | { .mnemonic = MNE_sysenter, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
186 | { .mnemonic = MNE_sysexit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
187 | { .mnemonic = MNE_cmc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
188 | { .mnemonic = MNE_cmov, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
189 | { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
190 | { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
191 | { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
192 | { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
193 | { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
194 | { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
195 | { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
196 | { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
197 | { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
198 | { .mnemonic = MNE_cmps, .rep = 0, .repe = 1, .suffix = 1, .modrm = 0, .fct1 = 12, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 8, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
199 | { .mnemonic = MNE_cmpxchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 15, .off1_2 = 11, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 8, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
200 | { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
201 | { .mnemonic = MNE_cpuid, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
202 | { .mnemonic = MNE_cvtdq2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
203 | { .mnemonic = MNE_cvtpd2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
204 | { .mnemonic = MNE_cvttpd2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
205 | { .mnemonic = MNE_dec, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
206 | { .mnemonic = MNE_div, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
207 | { .mnemonic = MNE_emms, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
208 | { .mnemonic = MNE_enter, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 12, .str2 = 0, .off2_1 = 19, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
209 | { .mnemonic = MNE_fnop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
210 | { .mnemonic = MNE_fchs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
211 | { .mnemonic = MNE_fabs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
212 | { .mnemonic = MNE_ftst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
213 | { .mnemonic = MNE_fxam, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
214 | { .mnemonic = MNE_fld1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
215 | { .mnemonic = MNE_fldl2t, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
216 | { .mnemonic = MNE_fldl2e, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
217 | { .mnemonic = MNE_fldpi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
218 | { .mnemonic = MNE_fldlg2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
219 | { .mnemonic = MNE_fldln2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
220 | { .mnemonic = MNE_fldz, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
221 | { .mnemonic = MNE_f2xm1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
222 | { .mnemonic = MNE_fyl2x, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
223 | { .mnemonic = MNE_fptan, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
224 | { .mnemonic = MNE_fpatan, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
225 | { .mnemonic = MNE_fxtract, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
226 | { .mnemonic = MNE_fprem1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
227 | { .mnemonic = MNE_fdecstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
228 | { .mnemonic = MNE_fincstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
229 | { .mnemonic = MNE_fprem, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
230 | { .mnemonic = MNE_fyl2xp1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
231 | { .mnemonic = MNE_fsqrt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
232 | { .mnemonic = MNE_fsincos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
233 | { .mnemonic = MNE_frndint, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
234 | { .mnemonic = MNE_fscale, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
235 | { .mnemonic = MNE_fsin, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
236 | { .mnemonic = MNE_fcos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
237 | { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
238 | { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
239 | { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
240 | { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
241 | { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
242 | { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
243 | { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
244 | { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
245 | { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
246 | { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
247 | { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
248 | { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
249 | { .mnemonic = MNE_fst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
250 | { .mnemonic = MNE_fst, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
251 | { .mnemonic = MNE_fstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
252 | { .mnemonic = MNE_fstp, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
253 | { .mnemonic = MNE_fldenv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
254 | { .mnemonic = MNE_fldcw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
255 | { .mnemonic = MNE_fnstenv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
256 | { .mnemonic = MNE_fnstcw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
257 | { .mnemonic = MNE_fxch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
258 | { .mnemonic = MNE_faddp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
259 | { .mnemonic = MNE_fcmovb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
260 | { .mnemonic = MNE_fiadd, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
261 | { .mnemonic = MNE_fcmove, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
262 | { .mnemonic = MNE_fmulp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
263 | { .mnemonic = MNE_fimul, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
264 | { .mnemonic = MNE_fsubp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
265 | { .mnemonic = MNE_fisub, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
266 | { .mnemonic = MNE_fsubrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
267 | { .mnemonic = MNE_fisubr, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
268 | { .mnemonic = MNE_fnstsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 1, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
269 | { .mnemonic = MNE_fbld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
270 | { .mnemonic = MNE_fcomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
271 | { .mnemonic = MNE_fbstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
272 | { .mnemonic = MNE_fchs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
273 | { .mnemonic = MNE_fclex, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
274 | { .mnemonic = MNE_finit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
275 | { .mnemonic = MNE_fwait, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
276 | { .mnemonic = MNE_fnclex, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
277 | { .mnemonic = MNE_fcmovb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
278 | { .mnemonic = MNE_fcmove, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
279 | { .mnemonic = MNE_fcmovbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
280 | { .mnemonic = MNE_fcmovu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
281 | { .mnemonic = MNE_fcmovnb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
282 | { .mnemonic = MNE_fcmovne, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
283 | { .mnemonic = MNE_fcmovnbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
284 | { .mnemonic = MNE_fcmovnu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
285 | { .mnemonic = MNE_fcom, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
286 | { .mnemonic = MNE_fcom, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
287 | { .mnemonic = MNE_fcomp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
288 | { .mnemonic = MNE_fcomp, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
289 | { .mnemonic = MNE_fcompp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
290 | { .mnemonic = MNE_fcomi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
291 | { .mnemonic = MNE_fcomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
292 | { .mnemonic = MNE_fucomi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
293 | { .mnemonic = MNE_fucomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
294 | { .mnemonic = MNE_fcos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
295 | { .mnemonic = MNE_fdecstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
296 | { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
297 | { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
298 | { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
299 | { .mnemonic = MNE_fidivl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
300 | { .mnemonic = MNE_fdivp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
301 | { .mnemonic = MNE_fidiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
302 | { .mnemonic = MNE_fdivrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
303 | { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
304 | { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
305 | { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
306 | { .mnemonic = MNE_fidivrl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
307 | { .mnemonic = MNE_fidivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
308 | { .mnemonic = MNE_fdivrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
309 | { .mnemonic = MNE_ffree, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
310 | { .mnemonic = MNE_fcmovbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
311 | { .mnemonic = MNE_ficom, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
312 | { .mnemonic = MNE_fcmovu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
313 | { .mnemonic = MNE_ficomp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
314 | { .mnemonic = MNE_fild, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
315 | { .mnemonic = MNE_fildl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
316 | { .mnemonic = MNE_fildll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
317 | { .mnemonic = MNE_fincstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
318 | { .mnemonic = MNE_fninit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
319 | { .mnemonic = MNE_fist, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
320 | { .mnemonic = MNE_fistp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
321 | { .mnemonic = MNE_fistpll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
322 | { .mnemonic = MNE_fisttp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
323 | { .mnemonic = MNE_fisttpll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
324 | { .mnemonic = MNE_fldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
325 | { .mnemonic = MNE_fstpt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
326 | { .mnemonic = MNE_fld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
327 | { .mnemonic = MNE_fld, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
328 | { .mnemonic = MNE_fucom, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
329 | { .mnemonic = MNE_frstor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
330 | { .mnemonic = MNE_fucomp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
331 | { .mnemonic = MNE_fnsave, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
332 | { .mnemonic = MNE_fnstsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
333 | { .mnemonic = MNE_hlt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
334 | { .mnemonic = MNE_idiv, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
335 | { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
336 | { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
337 | { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 14, .str1 = 0, .off1_1 = 13, .off1_2 = 2, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
338 | { .mnemonic = MNE_in, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
339 | { .mnemonic = MNE_in, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 11, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
340 | { .mnemonic = MNE_inc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
341 | { .mnemonic = MNE_ins, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 11, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
342 | { .mnemonic = MNE_int, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
343 | { .mnemonic = MNE_int3, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
344 | { .mnemonic = MNE_invd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
345 | { .mnemonic = MNE_swapgs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
346 | { .mnemonic = MNE_invlpg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
347 | { .mnemonic = MNE_iret, .rep = 0, .repe = 0, .suffix = 6, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
348 | { .mnemonic = MNE_j, .rep = 0, .repe = 0, .suffix = 4, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
349 | { .mnemonic = MNE_j, .rep = 0, .repe = 0, .suffix = 4, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
350 | { .mnemonic = MNE_set, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
351 | { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
352 | { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
353 | { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
354 | { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 22, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
355 | { .mnemonic = MNE_ljmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 30, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 4, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
356 | { .mnemonic = MNE_ljmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 22, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
357 | { .mnemonic = MNE_lahf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
358 | { .mnemonic = MNE_lar, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
359 | { .mnemonic = MNE_lea, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
360 | { .mnemonic = MNE_leave, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
361 | { .mnemonic = MNE_lfs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
362 | { .mnemonic = MNE_lgs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
363 | { .mnemonic = MNE_lgdt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
364 | { .mnemonic = MNE_lidt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
365 | { .mnemonic = MNE_lldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
366 | { .mnemonic = MNE_lmsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
367 | { .mnemonic = MNE_lock, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
368 | { .mnemonic = MNE_lods, .rep = 1, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
369 | { .mnemonic = MNE_loop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
370 | { .mnemonic = MNE_loope, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
371 | { .mnemonic = MNE_loopne, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
372 | { .mnemonic = MNE_lsl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
373 | { .mnemonic = MNE_lss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
374 | { .mnemonic = MNE_ltr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
375 | { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
376 | { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
377 | { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
378 | { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
379 | { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 3, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 35, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
380 | { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 37, .off1_2 = 3, .off1_3 = 0, .fct2 = 3, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
381 | { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 6, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 21, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
382 | { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 6, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
383 | { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 7, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 21, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
384 | { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 7, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
385 | { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
386 | { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 22, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
387 | { .mnemonic = MNE_movs, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
388 | { .mnemonic = MNE_movsbl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
389 | { .mnemonic = MNE_movswl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
390 | { .mnemonic = MNE_movzbl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
391 | { .mnemonic = MNE_movzwl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
392 | { .mnemonic = MNE_mul, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
393 | { .mnemonic = MNE_neg, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
394 | { .mnemonic = MNE_pause, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
395 | { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
396 | { .mnemonic = MNE_popcnt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
397 | { .mnemonic = MNE_not, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
398 | { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
399 | { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
400 | { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
401 | { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
402 | { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
403 | { .mnemonic = MNE_out, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 12, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
404 | { .mnemonic = MNE_out, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 9, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
405 | { .mnemonic = MNE_outs, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 9, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
406 | { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
407 | { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
408 | { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
409 | { .mnemonic = MNE_popf, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
410 | { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
411 | { .mnemonic = MNE_pushq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
412 | { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
413 | { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
414 | { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 14, .str1 = 0, .off1_1 = 5, .off1_2 = 2, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
415 | { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 31, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
416 | { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
417 | { .mnemonic = MNE_pushf, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
418 | { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
419 | { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
420 | { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
421 | { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
422 | { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
423 | { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
424 | { .mnemonic = MNE_rdmsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
425 | { .mnemonic = MNE_rdpmc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
426 | { .mnemonic = MNE_rdtsc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
427 | { .mnemonic = MNE_ret, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
428 | { .mnemonic = MNE_ret, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
429 | { .mnemonic = MNE_lret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
430 | { .mnemonic = MNE_lret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
431 | { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
432 | { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
433 | { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
434 | { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
435 | { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
436 | { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
437 | { .mnemonic = MNE_rsm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
438 | { .mnemonic = MNE_sahf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
439 | { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
440 | { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
441 | { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
442 | { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
443 | { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
444 | { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
445 | { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
446 | { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
447 | { .mnemonic = MNE_scas, .rep = 0, .repe = 1, .suffix = 0, .modrm = 0, .fct1 = 12, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
448 | { .mnemonic = MNE_set, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
449 | { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
450 | { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
451 | { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
452 | { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
453 | { .mnemonic = MNE_shld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, }, | ||
454 | { .mnemonic = MNE_shld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, }, | ||
455 | { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
456 | { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
457 | { .mnemonic = MNE_shrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, }, | ||
458 | { .mnemonic = MNE_shrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, }, | ||
459 | { .mnemonic = MNE_vmcall, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
460 | { .mnemonic = MNE_vmlaunch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
461 | { .mnemonic = MNE_vmresume, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
462 | { .mnemonic = MNE_vmxoff, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
463 | { .mnemonic = MNE_vmread, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 28, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 14, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
464 | { .mnemonic = MNE_vmwrite, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 21, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
465 | { .mnemonic = MNE_sgdt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
466 | { .mnemonic = MNE_monitor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 3, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 1, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 4, .str3 = 1, .off3_1 = 0, .off3_2 = 0, }, | ||
467 | { .mnemonic = MNE_mwait, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 3, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 1, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
468 | { .mnemonic = MNE_sidt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
469 | { .mnemonic = MNE_sldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
470 | { .mnemonic = MNE_smsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
471 | { .mnemonic = MNE_stc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
472 | { .mnemonic = MNE_std, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
473 | { .mnemonic = MNE_sti, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
474 | { .mnemonic = MNE_stos, .rep = 1, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
475 | { .mnemonic = MNE_str, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
476 | { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
477 | { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
478 | { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
479 | { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
480 | { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
481 | { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
482 | { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
483 | { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
484 | { .mnemonic = MNE_ud2a, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
485 | { .mnemonic = MNE_verr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
486 | { .mnemonic = MNE_verw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
487 | { .mnemonic = MNE_wbinvd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
488 | { .mnemonic = MNE_prefetch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
489 | { .mnemonic = MNE_prefetchw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
490 | { .mnemonic = MNE_prefetchnta, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
491 | { .mnemonic = MNE_prefetcht0, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
492 | { .mnemonic = MNE_prefetcht1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
493 | { .mnemonic = MNE_prefetcht2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
494 | { .mnemonic = MNE_nop, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
495 | { .mnemonic = MNE_wrmsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
496 | { .mnemonic = MNE_xadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 15, .off1_2 = 11, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 8, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
497 | { .mnemonic = MNE_xchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
498 | { .mnemonic = MNE_xchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 4, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 17, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
499 | { .mnemonic = MNE_xlat, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 9, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
500 | { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
501 | { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
502 | { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
503 | { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
504 | { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
505 | { .mnemonic = MNE_emms, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
506 | { .mnemonic = MNE_pand, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
507 | { .mnemonic = MNE_pand, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
508 | { .mnemonic = MNE_pandn, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
509 | { .mnemonic = MNE_pandn, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
510 | { .mnemonic = MNE_pmaddwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
511 | { .mnemonic = MNE_pmaddwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
512 | { .mnemonic = MNE_por, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
513 | { .mnemonic = MNE_por, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
514 | { .mnemonic = MNE_pxor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
515 | { .mnemonic = MNE_pxor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
516 | { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
517 | { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
518 | { .mnemonic = MNE_cmpeqps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
519 | { .mnemonic = MNE_cmpltps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
520 | { .mnemonic = MNE_cmpleps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
521 | { .mnemonic = MNE_cmpunordps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
522 | { .mnemonic = MNE_cmpneqps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
523 | { .mnemonic = MNE_cmpnltps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
524 | { .mnemonic = MNE_cmpnleps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
525 | { .mnemonic = MNE_cmpordps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
526 | { .mnemonic = MNE_cmpeqss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
527 | { .mnemonic = MNE_cmpltss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
528 | { .mnemonic = MNE_cmpless, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
529 | { .mnemonic = MNE_cmpunordss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
530 | { .mnemonic = MNE_cmpneqss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
531 | { .mnemonic = MNE_cmpnltss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
532 | { .mnemonic = MNE_cmpnless, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
533 | { .mnemonic = MNE_cmpordss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
534 | { .mnemonic = MNE_fxrstor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
535 | { .mnemonic = MNE_fxsave, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
536 | { .mnemonic = MNE_ldmxcsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
537 | { .mnemonic = MNE_stmxcsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
538 | { .mnemonic = MNE_movsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
539 | { .mnemonic = MNE_movss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
540 | { .mnemonic = MNE_movupd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
541 | { .mnemonic = MNE_movups, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
542 | { .mnemonic = MNE_movsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
543 | { .mnemonic = MNE_movss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
544 | { .mnemonic = MNE_movupd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
545 | { .mnemonic = MNE_movups, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
546 | { .mnemonic = MNE_movddup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
547 | { .mnemonic = MNE_movsldup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
548 | { .mnemonic = MNE_movlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
549 | { .mnemonic = MNE_movhlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
550 | { .mnemonic = MNE_movlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
551 | { .mnemonic = MNE_movhlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
552 | { .mnemonic = MNE_movhlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
553 | { .mnemonic = MNE_movlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
554 | { .mnemonic = MNE_movlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
555 | { .mnemonic = MNE_unpcklpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
556 | { .mnemonic = MNE_unpcklps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
557 | { .mnemonic = MNE_unpckhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
558 | { .mnemonic = MNE_unpckhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
559 | { .mnemonic = MNE_movshdup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
560 | { .mnemonic = MNE_movhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
561 | { .mnemonic = MNE_movlhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
562 | { .mnemonic = MNE_movhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
563 | { .mnemonic = MNE_movlhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
564 | { .mnemonic = MNE_movlhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
565 | { .mnemonic = MNE_movhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
566 | { .mnemonic = MNE_movhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
567 | { .mnemonic = MNE_movapd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
568 | { .mnemonic = MNE_movaps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
569 | { .mnemonic = MNE_movapd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
570 | { .mnemonic = MNE_movaps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
571 | { .mnemonic = MNE_cvtsi2sd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
572 | { .mnemonic = MNE_cvtsi2ss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
573 | { .mnemonic = MNE_cvtpi2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
574 | { .mnemonic = MNE_cvtpi2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
575 | { .mnemonic = MNE_movntpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
576 | { .mnemonic = MNE_movntps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
577 | { .mnemonic = MNE_cvttsd2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
578 | { .mnemonic = MNE_cvttss2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
579 | { .mnemonic = MNE_cvttpd2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
580 | { .mnemonic = MNE_cvttps2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
581 | { .mnemonic = MNE_cvtpd2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
582 | { .mnemonic = MNE_cvtsd2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
583 | { .mnemonic = MNE_cvtss2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
584 | { .mnemonic = MNE_cvtps2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
585 | { .mnemonic = MNE_ucomisd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
586 | { .mnemonic = MNE_ucomiss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
587 | { .mnemonic = MNE_comisd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
588 | { .mnemonic = MNE_comiss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
589 | { .mnemonic = MNE_getsec, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
590 | { .mnemonic = MNE_movmskpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
591 | { .mnemonic = MNE_movmskps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
592 | { .mnemonic = MNE_sqrtpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
593 | { .mnemonic = MNE_sqrtsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
594 | { .mnemonic = MNE_sqrtss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
595 | { .mnemonic = MNE_sqrtps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
596 | { .mnemonic = MNE_rsqrtss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
597 | { .mnemonic = MNE_rsqrtps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
598 | { .mnemonic = MNE_rcpss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
599 | { .mnemonic = MNE_rcpps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
600 | { .mnemonic = MNE_andpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
601 | { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
602 | { .mnemonic = MNE_andnpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
603 | { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
604 | { .mnemonic = MNE_orpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
605 | { .mnemonic = MNE_orps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
606 | { .mnemonic = MNE_xorpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
607 | { .mnemonic = MNE_xorps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
608 | { .mnemonic = MNE_addsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
609 | { .mnemonic = MNE_addss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
610 | { .mnemonic = MNE_addpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
611 | { .mnemonic = MNE_addps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
612 | { .mnemonic = MNE_mulsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
613 | { .mnemonic = MNE_mulss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
614 | { .mnemonic = MNE_mulpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
615 | { .mnemonic = MNE_mulps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
616 | { .mnemonic = MNE_cvtsd2ss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
617 | { .mnemonic = MNE_cvtss2sd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
618 | { .mnemonic = MNE_cvtpd2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
619 | { .mnemonic = MNE_cvtps2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
620 | { .mnemonic = MNE_cvtps2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
621 | { .mnemonic = MNE_cvttps2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
622 | { .mnemonic = MNE_cvtdq2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
623 | { .mnemonic = MNE_subsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
624 | { .mnemonic = MNE_subss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
625 | { .mnemonic = MNE_subpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
626 | { .mnemonic = MNE_subps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
627 | { .mnemonic = MNE_minsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
628 | { .mnemonic = MNE_minss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
629 | { .mnemonic = MNE_minpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
630 | { .mnemonic = MNE_minps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
631 | { .mnemonic = MNE_divsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
632 | { .mnemonic = MNE_divss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
633 | { .mnemonic = MNE_divpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
634 | { .mnemonic = MNE_divps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
635 | { .mnemonic = MNE_maxsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
636 | { .mnemonic = MNE_maxss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
637 | { .mnemonic = MNE_maxpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
638 | { .mnemonic = MNE_maxps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
639 | { .mnemonic = MNE_punpcklbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
640 | { .mnemonic = MNE_punpcklbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
641 | { .mnemonic = MNE_punpcklwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
642 | { .mnemonic = MNE_punpcklwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
643 | { .mnemonic = MNE_punpckldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
644 | { .mnemonic = MNE_punpckldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
645 | { .mnemonic = MNE_packsswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
646 | { .mnemonic = MNE_packsswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
647 | { .mnemonic = MNE_pcmpgtb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
648 | { .mnemonic = MNE_pcmpgtb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
649 | { .mnemonic = MNE_pcmpgtw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
650 | { .mnemonic = MNE_pcmpgtw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
651 | { .mnemonic = MNE_pcmpgtd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
652 | { .mnemonic = MNE_pcmpgtd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
653 | { .mnemonic = MNE_packuswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
654 | { .mnemonic = MNE_packuswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
655 | { .mnemonic = MNE_punpckhbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
656 | { .mnemonic = MNE_punpckhbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
657 | { .mnemonic = MNE_punpckhwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
658 | { .mnemonic = MNE_punpckhwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
659 | { .mnemonic = MNE_punpckhdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
660 | { .mnemonic = MNE_punpckhdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
661 | { .mnemonic = MNE_packssdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
662 | { .mnemonic = MNE_packssdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
663 | { .mnemonic = MNE_punpcklqdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
664 | { .mnemonic = MNE_punpckhqdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
665 | { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
666 | { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
667 | { .mnemonic = MNE_movdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
668 | { .mnemonic = MNE_movdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
669 | { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
670 | { .mnemonic = MNE_pshufd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, }, | ||
671 | { .mnemonic = MNE_pshuflw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, }, | ||
672 | { .mnemonic = MNE_pshufhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, }, | ||
673 | { .mnemonic = MNE_pshufw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 8, .off3_2 = 0, }, | ||
674 | { .mnemonic = MNE_pcmpeqb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
675 | { .mnemonic = MNE_pcmpeqb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
676 | { .mnemonic = MNE_pcmpeqw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
677 | { .mnemonic = MNE_pcmpeqw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
678 | { .mnemonic = MNE_pcmpeqd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
679 | { .mnemonic = MNE_pcmpeqd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
680 | { .mnemonic = MNE_haddpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
681 | { .mnemonic = MNE_haddps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
682 | { .mnemonic = MNE_hsubpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
683 | { .mnemonic = MNE_hsubps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
684 | { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
685 | { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
686 | { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
687 | { .mnemonic = MNE_movdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
688 | { .mnemonic = MNE_movdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
689 | { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
690 | { .mnemonic = MNE_movnti, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
691 | { .mnemonic = MNE_pinsrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, }, | ||
692 | { .mnemonic = MNE_pinsrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 8, .off3_2 = 0, }, | ||
693 | { .mnemonic = MNE_pextrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 16, .off3_2 = 0, }, | ||
694 | { .mnemonic = MNE_pextrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 8, .off3_2 = 0, }, | ||
695 | { .mnemonic = MNE_shufpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, }, | ||
696 | { .mnemonic = MNE_shufps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 8, .off3_2 = 0, }, | ||
697 | { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
698 | { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
699 | { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
700 | { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
701 | { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
702 | { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
703 | { .mnemonic = MNE_paddq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
704 | { .mnemonic = MNE_paddq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
705 | { .mnemonic = MNE_pmullw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
706 | { .mnemonic = MNE_pmullw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
707 | { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
708 | { .mnemonic = MNE_movdq2q, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
709 | { .mnemonic = MNE_movq2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 20, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
710 | { .mnemonic = MNE_pmovmskb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
711 | { .mnemonic = MNE_pmovmskb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 20, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
712 | { .mnemonic = MNE_psubusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
713 | { .mnemonic = MNE_psubusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
714 | { .mnemonic = MNE_psubusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
715 | { .mnemonic = MNE_psubusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
716 | { .mnemonic = MNE_pminub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
717 | { .mnemonic = MNE_pminub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
718 | { .mnemonic = MNE_paddusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
719 | { .mnemonic = MNE_paddusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
720 | { .mnemonic = MNE_paddusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
721 | { .mnemonic = MNE_paddusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
722 | { .mnemonic = MNE_pmaxub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
723 | { .mnemonic = MNE_pmaxub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
724 | { .mnemonic = MNE_pavgb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
725 | { .mnemonic = MNE_pavgb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
726 | { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
727 | { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
728 | { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
729 | { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
730 | { .mnemonic = MNE_pavgw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
731 | { .mnemonic = MNE_pavgw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
732 | { .mnemonic = MNE_pmulhuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
733 | { .mnemonic = MNE_pmulhuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
734 | { .mnemonic = MNE_pmulhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
735 | { .mnemonic = MNE_pmulhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
736 | { .mnemonic = MNE_movntdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
737 | { .mnemonic = MNE_movntq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
738 | { .mnemonic = MNE_psubsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
739 | { .mnemonic = MNE_psubsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
740 | { .mnemonic = MNE_psubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
741 | { .mnemonic = MNE_psubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
742 | { .mnemonic = MNE_pminsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
743 | { .mnemonic = MNE_pminsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
744 | { .mnemonic = MNE_paddsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
745 | { .mnemonic = MNE_paddsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
746 | { .mnemonic = MNE_paddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
747 | { .mnemonic = MNE_paddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
748 | { .mnemonic = MNE_pmaxsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
749 | { .mnemonic = MNE_pmaxsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
750 | { .mnemonic = MNE_lddqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
751 | { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
752 | { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
753 | { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
754 | { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
755 | { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
756 | { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
757 | { .mnemonic = MNE_pmuludq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
758 | { .mnemonic = MNE_pmuludq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
759 | { .mnemonic = MNE_psadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
760 | { .mnemonic = MNE_psadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
761 | { .mnemonic = MNE_maskmovdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
762 | { .mnemonic = MNE_maskmovq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 20, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
763 | { .mnemonic = MNE_psubb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
764 | { .mnemonic = MNE_psubb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
765 | { .mnemonic = MNE_psubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
766 | { .mnemonic = MNE_psubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
767 | { .mnemonic = MNE_psubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
768 | { .mnemonic = MNE_psubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
769 | { .mnemonic = MNE_psubq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
770 | { .mnemonic = MNE_psubq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
771 | { .mnemonic = MNE_paddb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
772 | { .mnemonic = MNE_paddb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
773 | { .mnemonic = MNE_paddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
774 | { .mnemonic = MNE_paddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
775 | { .mnemonic = MNE_paddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
776 | { .mnemonic = MNE_paddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
777 | { .mnemonic = MNE_pshufb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
778 | { .mnemonic = MNE_pshufb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
779 | { .mnemonic = MNE_phaddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
780 | { .mnemonic = MNE_phaddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
781 | { .mnemonic = MNE_phaddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
782 | { .mnemonic = MNE_phaddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
783 | { .mnemonic = MNE_phaddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
784 | { .mnemonic = MNE_phaddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
785 | { .mnemonic = MNE_pmaddubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
786 | { .mnemonic = MNE_pmaddubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
787 | { .mnemonic = MNE_phsubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
788 | { .mnemonic = MNE_phsubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
789 | { .mnemonic = MNE_phsubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
790 | { .mnemonic = MNE_phsubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
791 | { .mnemonic = MNE_phsubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
792 | { .mnemonic = MNE_phsubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
793 | { .mnemonic = MNE_psignb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
794 | { .mnemonic = MNE_psignb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
795 | { .mnemonic = MNE_psignw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
796 | { .mnemonic = MNE_psignw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
797 | { .mnemonic = MNE_psignd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
798 | { .mnemonic = MNE_psignd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
799 | { .mnemonic = MNE_pmulhrsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
800 | { .mnemonic = MNE_pmulhrsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
801 | { .mnemonic = MNE_pabsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
802 | { .mnemonic = MNE_pabsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
803 | { .mnemonic = MNE_pabsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
804 | { .mnemonic = MNE_pabsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
805 | { .mnemonic = MNE_pabsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
806 | { .mnemonic = MNE_pabsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
807 | { .mnemonic = MNE_palignr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
808 | { .mnemonic = MNE_palignr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 16, .off3_2 = 0, }, | ||
809 | { .mnemonic = MNE_vmclear, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
810 | { .mnemonic = MNE_vmxon, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
811 | { .mnemonic = MNE_vmptrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
812 | { .mnemonic = MNE_vmptrst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
813 | { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
814 | { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
815 | { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
816 | { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
817 | { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
818 | { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
819 | { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
820 | { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
821 | { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
822 | { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
823 | { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
824 | { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
825 | { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
826 | { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
827 | { .mnemonic = MNE_psrldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
828 | { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
829 | { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
830 | { .mnemonic = MNE_pslldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
831 | { .mnemonic = MNE_lfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
832 | { .mnemonic = MNE_mfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
833 | { .mnemonic = MNE_sfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
834 | { .mnemonic = MNE_clflush, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
835 | { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
836 | { .mnemonic = MNE_blendps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
837 | { .mnemonic = MNE_blendpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
838 | { .mnemonic = MNE_blendvps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
839 | { .mnemonic = MNE_blendvpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
840 | { .mnemonic = MNE_dpps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
841 | { .mnemonic = MNE_dppd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
842 | { .mnemonic = MNE_insertps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
843 | { .mnemonic = MNE_movntdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
844 | { .mnemonic = MNE_mpsadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
845 | { .mnemonic = MNE_packusdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
846 | { .mnemonic = MNE_pblendvb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
847 | { .mnemonic = MNE_pblendw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
848 | { .mnemonic = MNE_pcmpeqq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
849 | { .mnemonic = MNE_pcmpestri, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
850 | { .mnemonic = MNE_pcmpestrm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
851 | { .mnemonic = MNE_pcmpistri, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
852 | { .mnemonic = MNE_pcmpistrm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
853 | { .mnemonic = MNE_pcmpgtq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
854 | { .mnemonic = MNE_phminposuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
855 | { .mnemonic = MNE_pinsrb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
856 | { .mnemonic = MNE_pinsrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
857 | { .mnemonic = MNE_pmaxsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
858 | { .mnemonic = MNE_pmaxsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
859 | { .mnemonic = MNE_pmaxud, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
860 | { .mnemonic = MNE_pmaxuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
861 | { .mnemonic = MNE_pminsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
862 | { .mnemonic = MNE_pminsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
863 | { .mnemonic = MNE_pminud, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
864 | { .mnemonic = MNE_pminuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
865 | { .mnemonic = MNE_pmovsxbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
866 | { .mnemonic = MNE_pmovsxbd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
867 | { .mnemonic = MNE_pmovsxbq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
868 | { .mnemonic = MNE_pmovsxwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
869 | { .mnemonic = MNE_pmovsxwq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
870 | { .mnemonic = MNE_pmovsxdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
871 | { .mnemonic = MNE_pmovzxbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
872 | { .mnemonic = MNE_pmovzxbd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
873 | { .mnemonic = MNE_pmovzxbq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
874 | { .mnemonic = MNE_pmovzxwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
875 | { .mnemonic = MNE_pmovzxwq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
876 | { .mnemonic = MNE_pmovzxdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
877 | { .mnemonic = MNE_pmuldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
878 | { .mnemonic = MNE_pmulld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
879 | { .mnemonic = MNE_ptest, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
880 | { .mnemonic = MNE_roundps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
881 | { .mnemonic = MNE_roundpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
882 | { .mnemonic = MNE_roundss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
883 | { .mnemonic = MNE_roundsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, }, | ||
884 | { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 31, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, }, | ||
885 | }; | ||
886 | static const uint8_t match_data[] = | ||
887 | { | ||
888 | 0x1, 0xfe, 0x14, | ||
889 | 0x2, 0xfe, 0x80, 0x38, 0x10, | ||
890 | 0x2, 0xfe, 0x82, 0x38, 0x10, | ||
891 | 0x2, 0xfe, 0x10, 0, 0, | ||
892 | 0x2, 0xfe, 0x12, 0, 0, | ||
893 | 0x1, 0xfe, 0x4, | ||
894 | 0x2, 0xfe, 0x80, 0x38, 0, | ||
895 | 0x12, 0x83, 0x38, 0, | ||
896 | 0x2, 0xfe, 0, 0, 0, | ||
897 | 0x2, 0xfe, 0x2, 0, 0, | ||
898 | 0x34, 0x66, 0xf, 0xd0, 0, 0, | ||
899 | 0x34, 0xf2, 0xf, 0xd0, 0, 0, | ||
900 | 0x1, 0xfe, 0x24, | ||
901 | 0x2, 0xfe, 0x80, 0x38, 0x20, | ||
902 | 0x2, 0xfe, 0x82, 0x38, 0x20, | ||
903 | 0x2, 0xfe, 0x20, 0, 0, | ||
904 | 0x2, 0xfe, 0x22, 0, 0, | ||
905 | 0x34, 0x66, 0xf, 0x54, 0, 0, | ||
906 | 0x23, 0xf, 0x54, 0, 0, | ||
907 | 0x34, 0x66, 0xf, 0x55, 0, 0, | ||
908 | 0x23, 0xf, 0x55, 0, 0, | ||
909 | 0x12, 0x63, 0, 0, | ||
910 | 0x23, 0xf, 0xbc, 0, 0, | ||
911 | 0x23, 0xf, 0xbd, 0, 0, | ||
912 | 0x12, 0xf, 0xf8, 0xc8, | ||
913 | 0x23, 0xf, 0xa3, 0, 0, | ||
914 | 0x23, 0xf, 0xba, 0x38, 0x20, | ||
915 | 0x23, 0xf, 0xbb, 0, 0, | ||
916 | 0x23, 0xf, 0xba, 0x38, 0x38, | ||
917 | 0x23, 0xf, 0xb3, 0, 0, | ||
918 | 0x23, 0xf, 0xba, 0x38, 0x30, | ||
919 | 0x23, 0xf, 0xab, 0, 0, | ||
920 | 0x23, 0xf, 0xba, 0x38, 0x28, | ||
921 | 0x11, 0xe8, | ||
922 | 0x12, 0xff, 0x38, 0x10, | ||
923 | 0x12, 0xff, 0x38, 0x18, | ||
924 | 0x11, 0x98, | ||
925 | 0x11, 0x99, | ||
926 | 0x11, 0xf8, | ||
927 | 0x11, 0xfc, | ||
928 | 0x11, 0xfa, | ||
929 | 0x22, 0xf, 0x5, | ||
930 | 0x22, 0xf, 0x6, | ||
931 | 0x22, 0xf, 0x7, | ||
932 | 0x22, 0xf, 0x34, | ||
933 | 0x22, 0xf, 0x35, | ||
934 | 0x11, 0xf5, | ||
935 | 0x13, 0xf, 0xf0, 0x40, 0, 0, | ||
936 | 0x1, 0xfe, 0x3c, | ||
937 | 0x2, 0xfe, 0x80, 0x38, 0x38, | ||
938 | 0x12, 0x83, 0x38, 0x38, | ||
939 | 0x2, 0xfe, 0x38, 0, 0, | ||
940 | 0x2, 0xfe, 0x3a, 0, 0, | ||
941 | 0x34, 0xf2, 0xf, 0xc2, 0, 0, | ||
942 | 0x34, 0xf3, 0xf, 0xc2, 0, 0, | ||
943 | 0x34, 0x66, 0xf, 0xc2, 0, 0, | ||
944 | 0x23, 0xf, 0xc2, 0, 0, | ||
945 | 0x1, 0xfe, 0xa6, | ||
946 | 0x13, 0xf, 0xfe, 0xb0, 0, 0, | ||
947 | 0x23, 0xf, 0xc7, 0x38, 0x8, | ||
948 | 0x22, 0xf, 0xa2, | ||
949 | 0x34, 0xf3, 0xf, 0xe6, 0, 0, | ||
950 | 0x34, 0xf2, 0xf, 0xe6, 0, 0, | ||
951 | 0x34, 0x66, 0xf, 0xe6, 0, 0, | ||
952 | 0x2, 0xfe, 0xfe, 0x38, 0x8, | ||
953 | 0x2, 0xfe, 0xf6, 0x38, 0x30, | ||
954 | 0x22, 0xf, 0x77, | ||
955 | 0x11, 0xc8, | ||
956 | 0x22, 0xd9, 0xd0, | ||
957 | 0x22, 0xd9, 0xe0, | ||
958 | 0x22, 0xd9, 0xe1, | ||
959 | 0x22, 0xd9, 0xe4, | ||
960 | 0x22, 0xd9, 0xe5, | ||
961 | 0x22, 0xd9, 0xe8, | ||
962 | 0x22, 0xd9, 0xe9, | ||
963 | 0x22, 0xd9, 0xea, | ||
964 | 0x22, 0xd9, 0xeb, | ||
965 | 0x22, 0xd9, 0xec, | ||
966 | 0x22, 0xd9, 0xed, | ||
967 | 0x22, 0xd9, 0xee, | ||
968 | 0x22, 0xd9, 0xf0, | ||
969 | 0x22, 0xd9, 0xf1, | ||
970 | 0x22, 0xd9, 0xf2, | ||
971 | 0x22, 0xd9, 0xf3, | ||
972 | 0x22, 0xd9, 0xf4, | ||
973 | 0x22, 0xd9, 0xf5, | ||
974 | 0x22, 0xd9, 0xf6, | ||
975 | 0x22, 0xd9, 0xf7, | ||
976 | 0x22, 0xd9, 0xf8, | ||
977 | 0x22, 0xd9, 0xf9, | ||
978 | 0x22, 0xd9, 0xfa, | ||
979 | 0x22, 0xd9, 0xfb, | ||
980 | 0x22, 0xd9, 0xfc, | ||
981 | 0x22, 0xd9, 0xfd, | ||
982 | 0x22, 0xd9, 0xfe, | ||
983 | 0x22, 0xd9, 0xff, | ||
984 | 0x12, 0xd8, 0xf8, 0xc0, | ||
985 | 0x12, 0xdc, 0xf8, 0xc0, | ||
986 | 0x2, 0xfb, 0xd8, 0x38, 0, | ||
987 | 0x12, 0xd8, 0xf8, 0xc8, | ||
988 | 0x12, 0xdc, 0xf8, 0xc8, | ||
989 | 0x2, 0xfb, 0xd8, 0x38, 0x8, | ||
990 | 0x12, 0xd8, 0xf8, 0xe0, | ||
991 | 0x12, 0xdc, 0xf8, 0xe0, | ||
992 | 0x2, 0xfb, 0xd8, 0x38, 0x20, | ||
993 | 0x12, 0xd8, 0xf8, 0xe8, | ||
994 | 0x12, 0xdc, 0xf8, 0xe8, | ||
995 | 0x2, 0xfb, 0xd8, 0x38, 0x28, | ||
996 | 0x12, 0xdd, 0xf8, 0xd0, | ||
997 | 0x2, 0xfb, 0xd9, 0x38, 0x10, | ||
998 | 0x12, 0xdd, 0xf8, 0xd8, | ||
999 | 0x2, 0xfb, 0xd9, 0x38, 0x18, | ||
1000 | 0x12, 0xd9, 0x38, 0x20, | ||
1001 | 0x12, 0xd9, 0x38, 0x28, | ||
1002 | 0x12, 0xd9, 0x38, 0x30, | ||
1003 | 0x12, 0xd9, 0x38, 0x38, | ||
1004 | 0x12, 0xd9, 0xf8, 0xc8, | ||
1005 | 0x12, 0xde, 0xf8, 0xc0, | ||
1006 | 0x12, 0xda, 0xf8, 0xc0, | ||
1007 | 0x2, 0xfb, 0xda, 0x38, 0, | ||
1008 | 0x12, 0xda, 0xf8, 0xc8, | ||
1009 | 0x12, 0xde, 0xf8, 0xc8, | ||
1010 | 0x2, 0xfb, 0xda, 0x38, 0x8, | ||
1011 | 0x12, 0xde, 0xf8, 0xe0, | ||
1012 | 0x2, 0xfb, 0xda, 0x38, 0x20, | ||
1013 | 0x12, 0xde, 0xf8, 0xe8, | ||
1014 | 0x2, 0xfb, 0xda, 0x38, 0x28, | ||
1015 | 0x22, 0xdf, 0xe0, | ||
1016 | 0x12, 0xdf, 0x38, 0x20, | ||
1017 | 0x12, 0xdf, 0xf8, 0xf0, | ||
1018 | 0x12, 0xdf, 0x38, 0x30, | ||
1019 | 0x22, 0xd9, 0xe0, | ||
1020 | 0x33, 0x9b, 0xdb, 0xe2, | ||
1021 | 0x33, 0x9b, 0xdb, 0xe3, | ||
1022 | 0x11, 0x9b, | ||
1023 | 0x22, 0xdb, 0xe2, | ||
1024 | 0x12, 0xda, 0xf8, 0xc0, | ||
1025 | 0x12, 0xda, 0xf8, 0xc8, | ||
1026 | 0x12, 0xda, 0xf8, 0xd0, | ||
1027 | 0x12, 0xda, 0xf8, 0xd8, | ||
1028 | 0x12, 0xdb, 0xf8, 0xc0, | ||
1029 | 0x12, 0xdb, 0xf8, 0xc8, | ||
1030 | 0x12, 0xdb, 0xf8, 0xd0, | ||
1031 | 0x12, 0xdb, 0xf8, 0xd8, | ||
1032 | 0x12, 0xd8, 0xf8, 0xd0, | ||
1033 | 0x2, 0xfb, 0xd8, 0x38, 0x10, | ||
1034 | 0x12, 0xd8, 0xf8, 0xd8, | ||
1035 | 0x2, 0xfb, 0xd8, 0x38, 0x18, | ||
1036 | 0x22, 0xde, 0xd9, | ||
1037 | 0x12, 0xdb, 0xf8, 0xf0, | ||
1038 | 0x12, 0xdf, 0xf8, 0xf0, | ||
1039 | 0x12, 0xdb, 0xf8, 0xe8, | ||
1040 | 0x12, 0xdf, 0xf8, 0xe8, | ||
1041 | 0x22, 0xd9, 0xff, | ||
1042 | 0x22, 0xd9, 0xf6, | ||
1043 | 0x12, 0xd8, 0xf8, 0xf0, | ||
1044 | 0x12, 0xdc, 0xf8, 0xf0, | ||
1045 | 0x2, 0xfb, 0xd8, 0x38, 0x30, | ||
1046 | 0x12, 0xda, 0x38, 0x30, | ||
1047 | 0x12, 0xde, 0xf8, 0xf0, | ||
1048 | 0x12, 0xde, 0x38, 0x30, | ||
1049 | 0x12, 0xde, 0xf8, 0xf8, | ||
1050 | 0x12, 0xd8, 0xf8, 0xf8, | ||
1051 | 0x12, 0xdc, 0xf8, 0xf8, | ||
1052 | 0x2, 0xfb, 0xd8, 0x38, 0x38, | ||
1053 | 0x12, 0xda, 0x38, 0x38, | ||
1054 | 0x12, 0xde, 0x38, 0x38, | ||
1055 | 0x12, 0xde, 0xf8, 0xf0, | ||
1056 | 0x12, 0xdd, 0xf8, 0xc0, | ||
1057 | 0x12, 0xda, 0xf8, 0xd0, | ||
1058 | 0x2, 0xfb, 0xda, 0x38, 0x10, | ||
1059 | 0x12, 0xda, 0xf8, 0xd8, | ||
1060 | 0x2, 0xfb, 0xda, 0x38, 0x18, | ||
1061 | 0x12, 0xdf, 0x38, 0, | ||
1062 | 0x12, 0xdb, 0x38, 0, | ||
1063 | 0x12, 0xdf, 0x38, 0x28, | ||
1064 | 0x22, 0xd9, 0xf7, | ||
1065 | 0x22, 0xdb, 0xe3, | ||
1066 | 0x2, 0xfb, 0xdb, 0x38, 0x10, | ||
1067 | 0x2, 0xfb, 0xdb, 0x38, 0x18, | ||
1068 | 0x12, 0xdf, 0x38, 0x38, | ||
1069 | 0x2, 0xfb, 0xdb, 0x38, 0x8, | ||
1070 | 0x12, 0xdd, 0x38, 0x8, | ||
1071 | 0x12, 0xdb, 0x38, 0x28, | ||
1072 | 0x12, 0xdb, 0x38, 0x38, | ||
1073 | 0x12, 0xd9, 0xf8, 0xc0, | ||
1074 | 0x2, 0xfb, 0xd9, 0x38, 0, | ||
1075 | 0x12, 0xdd, 0xf8, 0xe0, | ||
1076 | 0x12, 0xdd, 0x38, 0x20, | ||
1077 | 0x12, 0xdd, 0xf8, 0xe8, | ||
1078 | 0x12, 0xdd, 0x38, 0x30, | ||
1079 | 0x12, 0xdd, 0x38, 0x38, | ||
1080 | 0x11, 0xf4, | ||
1081 | 0x2, 0xfe, 0xf6, 0x38, 0x38, | ||
1082 | 0x2, 0xfe, 0xf6, 0x38, 0x28, | ||
1083 | 0x23, 0xf, 0xaf, 0, 0, | ||
1084 | 0x2, 0xfd, 0x69, 0, 0, | ||
1085 | 0x1, 0xfe, 0xe4, | ||
1086 | 0x1, 0xfe, 0xec, | ||
1087 | 0x2, 0xfe, 0xfe, 0x38, 0, | ||
1088 | 0x1, 0xfe, 0x6c, | ||
1089 | 0x11, 0xcd, | ||
1090 | 0x11, 0xcc, | ||
1091 | 0x22, 0xf, 0x8, | ||
1092 | 0x33, 0xf, 0x1, 0xf8, | ||
1093 | 0x23, 0xf, 0x1, 0x38, 0x38, | ||
1094 | 0x11, 0xcf, | ||
1095 | 0x1, 0xf0, 0x70, | ||
1096 | 0x12, 0xf, 0xf0, 0x80, | ||
1097 | 0x13, 0xf, 0xf0, 0x90, 0x38, 0, | ||
1098 | 0x11, 0xe3, | ||
1099 | 0x11, 0xeb, | ||
1100 | 0x11, 0xe9, | ||
1101 | 0x12, 0xff, 0x38, 0x20, | ||
1102 | 0x11, 0xea, | ||
1103 | 0x12, 0xff, 0x38, 0x28, | ||
1104 | 0x11, 0x9f, | ||
1105 | 0x23, 0xf, 0x2, 0, 0, | ||
1106 | 0x12, 0x8d, 0, 0, | ||
1107 | 0x11, 0xc9, | ||
1108 | 0x23, 0xf, 0xb4, 0, 0, | ||
1109 | 0x23, 0xf, 0xb5, 0, 0, | ||
1110 | 0x23, 0xf, 0x1, 0x38, 0x10, | ||
1111 | 0x23, 0xf, 0x1, 0x38, 0x18, | ||
1112 | 0x23, 0xf, 0, 0x38, 0x10, | ||
1113 | 0x23, 0xf, 0x1, 0x38, 0x30, | ||
1114 | 0x11, 0xf0, | ||
1115 | 0x1, 0xfe, 0xac, | ||
1116 | 0x11, 0xe2, | ||
1117 | 0x11, 0xe1, | ||
1118 | 0x11, 0xe0, | ||
1119 | 0x23, 0xf, 0x3, 0, 0, | ||
1120 | 0x23, 0xf, 0xb2, 0, 0, | ||
1121 | 0x23, 0xf, 0, 0x38, 0x18, | ||
1122 | 0x2, 0xfe, 0x88, 0, 0, | ||
1123 | 0x2, 0xfe, 0x8a, 0, 0, | ||
1124 | 0x2, 0xfe, 0xc6, 0x38, 0, | ||
1125 | 0x1, 0xf0, 0xb0, | ||
1126 | 0x1, 0xfe, 0xa0, | ||
1127 | 0x1, 0xfe, 0xa2, | ||
1128 | 0x23, 0xf, 0x20, 0xc0, 0xc0, | ||
1129 | 0x23, 0xf, 0x22, 0xc0, 0xc0, | ||
1130 | 0x23, 0xf, 0x21, 0xc0, 0xc0, | ||
1131 | 0x23, 0xf, 0x23, 0xc0, 0xc0, | ||
1132 | 0x12, 0x8c, 0, 0, | ||
1133 | 0x12, 0x8e, 0, 0, | ||
1134 | 0x1, 0xfe, 0xa4, | ||
1135 | 0x23, 0xf, 0xbe, 0, 0, | ||
1136 | 0x23, 0xf, 0xbf, 0, 0, | ||
1137 | 0x23, 0xf, 0xb6, 0, 0, | ||
1138 | 0x23, 0xf, 0xb7, 0, 0, | ||
1139 | 0x2, 0xfe, 0xf6, 0x38, 0x20, | ||
1140 | 0x2, 0xfe, 0xf6, 0x38, 0x18, | ||
1141 | 0x22, 0xf3, 0x90, | ||
1142 | 0x11, 0x90, | ||
1143 | 0x34, 0xf3, 0xf, 0xb8, 0, 0, | ||
1144 | 0x2, 0xfe, 0xf6, 0x38, 0x10, | ||
1145 | 0x2, 0xfe, 0x8, 0, 0, | ||
1146 | 0x2, 0xfe, 0xa, 0, 0, | ||
1147 | 0x2, 0xfe, 0x80, 0x38, 0x8, | ||
1148 | 0x2, 0xfe, 0x82, 0x38, 0x8, | ||
1149 | 0x1, 0xfe, 0xc, | ||
1150 | 0x1, 0xfe, 0xe6, | ||
1151 | 0x1, 0xfe, 0xee, | ||
1152 | 0x1, 0xfe, 0x6e, | ||
1153 | 0x12, 0x8f, 0xf8, 0xc0, | ||
1154 | 0x12, 0x8f, 0x38, 0, | ||
1155 | 0x12, 0xf, 0xc7, 0x81, | ||
1156 | 0x11, 0x9d, | ||
1157 | 0x12, 0xff, 0xf8, 0xf0, | ||
1158 | 0x12, 0xff, 0x38, 0x30, | ||
1159 | 0x1, 0xf8, 0x50, | ||
1160 | 0x1, 0xf8, 0x58, | ||
1161 | 0x1, 0xfd, 0x68, | ||
1162 | 0x1, 0xe7, 0x6, | ||
1163 | 0x12, 0xf, 0xc7, 0x80, | ||
1164 | 0x11, 0x9c, | ||
1165 | 0x2, 0xfe, 0xd0, 0x38, 0x10, | ||
1166 | 0x2, 0xfe, 0xd2, 0x38, 0x10, | ||
1167 | 0x2, 0xfe, 0xc0, 0x38, 0x10, | ||
1168 | 0x2, 0xfe, 0xd0, 0x38, 0x18, | ||
1169 | 0x2, 0xfe, 0xd2, 0x38, 0x18, | ||
1170 | 0x2, 0xfe, 0xc0, 0x38, 0x18, | ||
1171 | 0x22, 0xf, 0x32, | ||
1172 | 0x22, 0xf, 0x33, | ||
1173 | 0x22, 0xf, 0x31, | ||
1174 | 0x11, 0xc3, | ||
1175 | 0x11, 0xc2, | ||
1176 | 0x11, 0xcb, | ||
1177 | 0x11, 0xca, | ||
1178 | 0x2, 0xfe, 0xd0, 0x38, 0, | ||
1179 | 0x2, 0xfe, 0xd2, 0x38, 0, | ||
1180 | 0x2, 0xfe, 0xc0, 0x38, 0, | ||
1181 | 0x2, 0xfe, 0xd0, 0x38, 0x8, | ||
1182 | 0x2, 0xfe, 0xd2, 0x38, 0x8, | ||
1183 | 0x2, 0xfe, 0xc0, 0x38, 0x8, | ||
1184 | 0x22, 0xf, 0xaa, | ||
1185 | 0x11, 0x9e, | ||
1186 | 0x2, 0xfe, 0xd0, 0x38, 0x38, | ||
1187 | 0x2, 0xfe, 0xd2, 0x38, 0x38, | ||
1188 | 0x2, 0xfe, 0xc0, 0x38, 0x38, | ||
1189 | 0x2, 0xfe, 0x18, 0, 0, | ||
1190 | 0x2, 0xfe, 0x1a, 0, 0, | ||
1191 | 0x1, 0xfe, 0x1c, | ||
1192 | 0x2, 0xfe, 0x80, 0x38, 0x18, | ||
1193 | 0x2, 0xfe, 0x82, 0x38, 0x18, | ||
1194 | 0x1, 0xfe, 0xae, | ||
1195 | 0x13, 0xf, 0xf0, 0x90, 0x38, 0, | ||
1196 | 0x2, 0xfe, 0xd0, 0x38, 0x20, | ||
1197 | 0x2, 0xfe, 0xd2, 0x38, 0x20, | ||
1198 | 0x2, 0xfe, 0xc0, 0x38, 0x20, | ||
1199 | 0x2, 0xfe, 0xd0, 0x38, 0x28, | ||
1200 | 0x23, 0xf, 0xa4, 0, 0, | ||
1201 | 0x23, 0xf, 0xa5, 0, 0, | ||
1202 | 0x2, 0xfe, 0xd2, 0x38, 0x28, | ||
1203 | 0x2, 0xfe, 0xc0, 0x38, 0x28, | ||
1204 | 0x23, 0xf, 0xac, 0, 0, | ||
1205 | 0x23, 0xf, 0xad, 0, 0, | ||
1206 | 0x33, 0xf, 0x1, 0xc1, | ||
1207 | 0x33, 0xf, 0x1, 0xc2, | ||
1208 | 0x33, 0xf, 0x1, 0xc3, | ||
1209 | 0x33, 0xf, 0x1, 0xc4, | ||
1210 | 0x23, 0xf, 0x78, 0, 0, | ||
1211 | 0x23, 0xf, 0x79, 0, 0, | ||
1212 | 0x23, 0xf, 0x1, 0x38, 0, | ||
1213 | 0x33, 0xf, 0x1, 0xc8, | ||
1214 | 0x33, 0xf, 0x1, 0xc9, | ||
1215 | 0x23, 0xf, 0x1, 0x38, 0x8, | ||
1216 | 0x23, 0xf, 0, 0x38, 0, | ||
1217 | 0x23, 0xf, 0x1, 0x38, 0x20, | ||
1218 | 0x11, 0xf9, | ||
1219 | 0x11, 0xfd, | ||
1220 | 0x11, 0xfb, | ||
1221 | 0x1, 0xfe, 0xaa, | ||
1222 | 0x23, 0xf, 0, 0x38, 0x8, | ||
1223 | 0x2, 0xfe, 0x28, 0, 0, | ||
1224 | 0x2, 0xfe, 0x2a, 0, 0, | ||
1225 | 0x1, 0xfe, 0x2c, | ||
1226 | 0x2, 0xfe, 0x80, 0x38, 0x28, | ||
1227 | 0x2, 0xfe, 0x82, 0x38, 0x28, | ||
1228 | 0x2, 0xfe, 0x84, 0, 0, | ||
1229 | 0x1, 0xfe, 0xa8, | ||
1230 | 0x2, 0xfe, 0xf6, 0x38, 0, | ||
1231 | 0x22, 0xf, 0xb, | ||
1232 | 0x23, 0xf, 0, 0x38, 0x20, | ||
1233 | 0x23, 0xf, 0, 0x38, 0x28, | ||
1234 | 0x22, 0xf, 0x9, | ||
1235 | 0x23, 0xf, 0xd, 0x38, 0, | ||
1236 | 0x23, 0xf, 0xd, 0x38, 0x8, | ||
1237 | 0x23, 0xf, 0x18, 0x38, 0, | ||
1238 | 0x23, 0xf, 0x18, 0x38, 0x8, | ||
1239 | 0x23, 0xf, 0x18, 0x38, 0x10, | ||
1240 | 0x23, 0xf, 0x18, 0x38, 0x18, | ||
1241 | 0x23, 0xf, 0x1f, 0, 0, | ||
1242 | 0x22, 0xf, 0x30, | ||
1243 | 0x13, 0xf, 0xfe, 0xc0, 0, 0, | ||
1244 | 0x2, 0xfe, 0x86, 0, 0, | ||
1245 | 0x1, 0xf8, 0x90, | ||
1246 | 0x11, 0xd7, | ||
1247 | 0x2, 0xfe, 0x30, 0, 0, | ||
1248 | 0x2, 0xfe, 0x32, 0, 0, | ||
1249 | 0x1, 0xfe, 0x34, | ||
1250 | 0x2, 0xfe, 0x80, 0x38, 0x30, | ||
1251 | 0x2, 0xfe, 0x82, 0x38, 0x30, | ||
1252 | 0x22, 0xf, 0x77, | ||
1253 | 0x34, 0x66, 0xf, 0xdb, 0, 0, | ||
1254 | 0x23, 0xf, 0xdb, 0, 0, | ||
1255 | 0x34, 0x66, 0xf, 0xdf, 0, 0, | ||
1256 | 0x23, 0xf, 0xdf, 0, 0, | ||
1257 | 0x34, 0x66, 0xf, 0xf5, 0, 0, | ||
1258 | 0x23, 0xf, 0xf5, 0, 0, | ||
1259 | 0x34, 0x66, 0xf, 0xeb, 0, 0, | ||
1260 | 0x23, 0xf, 0xeb, 0, 0, | ||
1261 | 0x34, 0x66, 0xf, 0xef, 0, 0, | ||
1262 | 0x23, 0xf, 0xef, 0, 0, | ||
1263 | 0x23, 0xf, 0x55, 0, 0, | ||
1264 | 0x23, 0xf, 0x54, 0, 0, | ||
1265 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0, | ||
1266 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x1, | ||
1267 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x2, | ||
1268 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x3, | ||
1269 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x4, | ||
1270 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x5, | ||
1271 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x6, | ||
1272 | 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x7, | ||
1273 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0, | ||
1274 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x1, | ||
1275 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x2, | ||
1276 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x3, | ||
1277 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x4, | ||
1278 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x5, | ||
1279 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x6, | ||
1280 | 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x7, | ||
1281 | 0x23, 0xf, 0xae, 0x38, 0x8, | ||
1282 | 0x23, 0xf, 0xae, 0x38, 0, | ||
1283 | 0x23, 0xf, 0xae, 0x38, 0x10, | ||
1284 | 0x23, 0xf, 0xae, 0x38, 0x18, | ||
1285 | 0x34, 0xf2, 0xf, 0x10, 0, 0, | ||
1286 | 0x34, 0xf3, 0xf, 0x10, 0, 0, | ||
1287 | 0x34, 0x66, 0xf, 0x10, 0, 0, | ||
1288 | 0x23, 0xf, 0x10, 0, 0, | ||
1289 | 0x34, 0xf2, 0xf, 0x11, 0, 0, | ||
1290 | 0x34, 0xf3, 0xf, 0x11, 0, 0, | ||
1291 | 0x34, 0x66, 0xf, 0x11, 0, 0, | ||
1292 | 0x23, 0xf, 0x11, 0, 0, | ||
1293 | 0x34, 0xf2, 0xf, 0x12, 0, 0, | ||
1294 | 0x34, 0xf3, 0xf, 0x12, 0, 0, | ||
1295 | 0x34, 0x66, 0xf, 0x12, 0, 0, | ||
1296 | 0x23, 0xf, 0x12, 0xc0, 0xc0, | ||
1297 | 0x23, 0xf, 0x12, 0, 0, | ||
1298 | 0x34, 0x66, 0xf, 0x13, 0xc0, 0xc0, | ||
1299 | 0x23, 0xf, 0x13, 0xc0, 0xc0, | ||
1300 | 0x34, 0x66, 0xf, 0x13, 0, 0, | ||
1301 | 0x23, 0xf, 0x13, 0, 0, | ||
1302 | 0x34, 0x66, 0xf, 0x14, 0, 0, | ||
1303 | 0x23, 0xf, 0x14, 0, 0, | ||
1304 | 0x34, 0x66, 0xf, 0x15, 0, 0, | ||
1305 | 0x23, 0xf, 0x15, 0, 0, | ||
1306 | 0x34, 0xf3, 0xf, 0x16, 0, 0, | ||
1307 | 0x34, 0x66, 0xf, 0x16, 0, 0, | ||
1308 | 0x23, 0xf, 0x16, 0xc0, 0xc0, | ||
1309 | 0x23, 0xf, 0x16, 0, 0, | ||
1310 | 0x34, 0x66, 0xf, 0x17, 0xc0, 0xc0, | ||
1311 | 0x23, 0xf, 0x17, 0xc0, 0xc0, | ||
1312 | 0x34, 0x66, 0xf, 0x17, 0, 0, | ||
1313 | 0x23, 0xf, 0x17, 0, 0, | ||
1314 | 0x34, 0x66, 0xf, 0x28, 0, 0, | ||
1315 | 0x23, 0xf, 0x28, 0, 0, | ||
1316 | 0x34, 0x66, 0xf, 0x29, 0, 0, | ||
1317 | 0x23, 0xf, 0x29, 0, 0, | ||
1318 | 0x34, 0xf2, 0xf, 0x2a, 0, 0, | ||
1319 | 0x34, 0xf3, 0xf, 0x2a, 0, 0, | ||
1320 | 0x34, 0x66, 0xf, 0x2a, 0, 0, | ||
1321 | 0x23, 0xf, 0x2a, 0, 0, | ||
1322 | 0x34, 0x66, 0xf, 0x2b, 0, 0, | ||
1323 | 0x23, 0xf, 0x2b, 0, 0, | ||
1324 | 0x34, 0xf2, 0xf, 0x2c, 0, 0, | ||
1325 | 0x34, 0xf3, 0xf, 0x2c, 0, 0, | ||
1326 | 0x34, 0x66, 0xf, 0x2c, 0, 0, | ||
1327 | 0x23, 0xf, 0x2c, 0, 0, | ||
1328 | 0x34, 0x66, 0xf, 0x2d, 0, 0, | ||
1329 | 0x34, 0xf2, 0xf, 0x2d, 0, 0, | ||
1330 | 0x34, 0xf3, 0xf, 0x2d, 0, 0, | ||
1331 | 0x23, 0xf, 0x2d, 0, 0, | ||
1332 | 0x34, 0x66, 0xf, 0x2e, 0, 0, | ||
1333 | 0x23, 0xf, 0x2e, 0, 0, | ||
1334 | 0x34, 0x66, 0xf, 0x2f, 0, 0, | ||
1335 | 0x23, 0xf, 0x2f, 0, 0, | ||
1336 | 0x22, 0xf, 0x37, | ||
1337 | 0x34, 0x66, 0xf, 0x50, 0xc0, 0xc0, | ||
1338 | 0x23, 0xf, 0x50, 0xc0, 0xc0, | ||
1339 | 0x34, 0x66, 0xf, 0x51, 0, 0, | ||
1340 | 0x34, 0xf2, 0xf, 0x51, 0, 0, | ||
1341 | 0x34, 0xf3, 0xf, 0x51, 0, 0, | ||
1342 | 0x23, 0xf, 0x51, 0, 0, | ||
1343 | 0x34, 0xf3, 0xf, 0x52, 0, 0, | ||
1344 | 0x23, 0xf, 0x52, 0, 0, | ||
1345 | 0x34, 0xf3, 0xf, 0x53, 0, 0, | ||
1346 | 0x23, 0xf, 0x53, 0, 0, | ||
1347 | 0x34, 0x66, 0xf, 0x54, 0, 0, | ||
1348 | 0x23, 0xf, 0x54, 0, 0, | ||
1349 | 0x34, 0x66, 0xf, 0x55, 0, 0, | ||
1350 | 0x23, 0xf, 0x55, 0, 0, | ||
1351 | 0x34, 0x66, 0xf, 0x56, 0, 0, | ||
1352 | 0x23, 0xf, 0x56, 0, 0, | ||
1353 | 0x34, 0x66, 0xf, 0x57, 0, 0, | ||
1354 | 0x23, 0xf, 0x57, 0, 0, | ||
1355 | 0x34, 0xf2, 0xf, 0x58, 0, 0, | ||
1356 | 0x34, 0xf3, 0xf, 0x58, 0, 0, | ||
1357 | 0x34, 0x66, 0xf, 0x58, 0, 0, | ||
1358 | 0x23, 0xf, 0x58, 0, 0, | ||
1359 | 0x34, 0xf2, 0xf, 0x59, 0, 0, | ||
1360 | 0x34, 0xf3, 0xf, 0x59, 0, 0, | ||
1361 | 0x34, 0x66, 0xf, 0x59, 0, 0, | ||
1362 | 0x23, 0xf, 0x59, 0, 0, | ||
1363 | 0x34, 0xf2, 0xf, 0x5a, 0, 0, | ||
1364 | 0x34, 0xf3, 0xf, 0x5a, 0, 0, | ||
1365 | 0x34, 0x66, 0xf, 0x5a, 0, 0, | ||
1366 | 0x23, 0xf, 0x5a, 0, 0, | ||
1367 | 0x34, 0x66, 0xf, 0x5b, 0, 0, | ||
1368 | 0x34, 0xf3, 0xf, 0x5b, 0, 0, | ||
1369 | 0x23, 0xf, 0x5b, 0, 0, | ||
1370 | 0x34, 0xf2, 0xf, 0x5c, 0, 0, | ||
1371 | 0x34, 0xf3, 0xf, 0x5c, 0, 0, | ||
1372 | 0x34, 0x66, 0xf, 0x5c, 0, 0, | ||
1373 | 0x23, 0xf, 0x5c, 0, 0, | ||
1374 | 0x34, 0xf2, 0xf, 0x5d, 0, 0, | ||
1375 | 0x34, 0xf3, 0xf, 0x5d, 0, 0, | ||
1376 | 0x34, 0x66, 0xf, 0x5d, 0, 0, | ||
1377 | 0x23, 0xf, 0x5d, 0, 0, | ||
1378 | 0x34, 0xf2, 0xf, 0x5e, 0, 0, | ||
1379 | 0x34, 0xf3, 0xf, 0x5e, 0, 0, | ||
1380 | 0x34, 0x66, 0xf, 0x5e, 0, 0, | ||
1381 | 0x23, 0xf, 0x5e, 0, 0, | ||
1382 | 0x34, 0xf2, 0xf, 0x5f, 0, 0, | ||
1383 | 0x34, 0xf3, 0xf, 0x5f, 0, 0, | ||
1384 | 0x34, 0x66, 0xf, 0x5f, 0, 0, | ||
1385 | 0x23, 0xf, 0x5f, 0, 0, | ||
1386 | 0x34, 0x66, 0xf, 0x60, 0, 0, | ||
1387 | 0x23, 0xf, 0x60, 0, 0, | ||
1388 | 0x34, 0x66, 0xf, 0x61, 0, 0, | ||
1389 | 0x23, 0xf, 0x61, 0, 0, | ||
1390 | 0x34, 0x66, 0xf, 0x62, 0, 0, | ||
1391 | 0x23, 0xf, 0x62, 0, 0, | ||
1392 | 0x34, 0x66, 0xf, 0x63, 0, 0, | ||
1393 | 0x23, 0xf, 0x63, 0, 0, | ||
1394 | 0x34, 0x66, 0xf, 0x64, 0, 0, | ||
1395 | 0x23, 0xf, 0x64, 0, 0, | ||
1396 | 0x34, 0x66, 0xf, 0x65, 0, 0, | ||
1397 | 0x23, 0xf, 0x65, 0, 0, | ||
1398 | 0x34, 0x66, 0xf, 0x66, 0, 0, | ||
1399 | 0x23, 0xf, 0x66, 0, 0, | ||
1400 | 0x34, 0x66, 0xf, 0x67, 0, 0, | ||
1401 | 0x23, 0xf, 0x67, 0, 0, | ||
1402 | 0x34, 0x66, 0xf, 0x68, 0, 0, | ||
1403 | 0x23, 0xf, 0x68, 0, 0, | ||
1404 | 0x34, 0x66, 0xf, 0x69, 0, 0, | ||
1405 | 0x23, 0xf, 0x69, 0, 0, | ||
1406 | 0x34, 0x66, 0xf, 0x6a, 0, 0, | ||
1407 | 0x23, 0xf, 0x6a, 0, 0, | ||
1408 | 0x34, 0x66, 0xf, 0x6b, 0, 0, | ||
1409 | 0x23, 0xf, 0x6b, 0, 0, | ||
1410 | 0x34, 0x66, 0xf, 0x6c, 0, 0, | ||
1411 | 0x34, 0x66, 0xf, 0x6d, 0, 0, | ||
1412 | 0x34, 0x66, 0xf, 0x6e, 0, 0, | ||
1413 | 0x23, 0xf, 0x6e, 0, 0, | ||
1414 | 0x34, 0x66, 0xf, 0x6f, 0, 0, | ||
1415 | 0x34, 0xf3, 0xf, 0x6f, 0, 0, | ||
1416 | 0x23, 0xf, 0x6f, 0, 0, | ||
1417 | 0x34, 0x66, 0xf, 0x70, 0, 0, | ||
1418 | 0x34, 0xf2, 0xf, 0x70, 0, 0, | ||
1419 | 0x34, 0xf3, 0xf, 0x70, 0, 0, | ||
1420 | 0x23, 0xf, 0x70, 0, 0, | ||
1421 | 0x34, 0x66, 0xf, 0x74, 0, 0, | ||
1422 | 0x23, 0xf, 0x74, 0, 0, | ||
1423 | 0x34, 0x66, 0xf, 0x75, 0, 0, | ||
1424 | 0x23, 0xf, 0x75, 0, 0, | ||
1425 | 0x34, 0x66, 0xf, 0x76, 0, 0, | ||
1426 | 0x23, 0xf, 0x76, 0, 0, | ||
1427 | 0x34, 0x66, 0xf, 0x7c, 0, 0, | ||
1428 | 0x34, 0xf2, 0xf, 0x7c, 0, 0, | ||
1429 | 0x34, 0x66, 0xf, 0x7d, 0, 0, | ||
1430 | 0x34, 0xf2, 0xf, 0x7d, 0, 0, | ||
1431 | 0x34, 0x66, 0xf, 0x7e, 0, 0, | ||
1432 | 0x34, 0xf3, 0xf, 0x7e, 0, 0, | ||
1433 | 0x23, 0xf, 0x7e, 0, 0, | ||
1434 | 0x34, 0x66, 0xf, 0x7f, 0, 0, | ||
1435 | 0x34, 0xf3, 0xf, 0x7f, 0, 0, | ||
1436 | 0x23, 0xf, 0x7f, 0, 0, | ||
1437 | 0x23, 0xf, 0xc3, 0, 0, | ||
1438 | 0x34, 0x66, 0xf, 0xc4, 0, 0, | ||
1439 | 0x23, 0xf, 0xc4, 0, 0, | ||
1440 | 0x34, 0x66, 0xf, 0xc5, 0xc0, 0xc0, | ||
1441 | 0x23, 0xf, 0xc5, 0xc0, 0xc0, | ||
1442 | 0x34, 0x66, 0xf, 0xc6, 0, 0, | ||
1443 | 0x23, 0xf, 0xc6, 0, 0, | ||
1444 | 0x34, 0x66, 0xf, 0xd1, 0, 0, | ||
1445 | 0x23, 0xf, 0xd1, 0, 0, | ||
1446 | 0x34, 0x66, 0xf, 0xd2, 0, 0, | ||
1447 | 0x23, 0xf, 0xd2, 0, 0, | ||
1448 | 0x34, 0x66, 0xf, 0xd3, 0, 0, | ||
1449 | 0x23, 0xf, 0xd3, 0, 0, | ||
1450 | 0x34, 0x66, 0xf, 0xd4, 0, 0, | ||
1451 | 0x23, 0xf, 0xd4, 0, 0, | ||
1452 | 0x34, 0x66, 0xf, 0xd5, 0, 0, | ||
1453 | 0x23, 0xf, 0xd5, 0, 0, | ||
1454 | 0x34, 0x66, 0xf, 0xd6, 0, 0, | ||
1455 | 0x34, 0xf2, 0xf, 0xd6, 0xc0, 0xc0, | ||
1456 | 0x34, 0xf3, 0xf, 0xd6, 0xc0, 0xc0, | ||
1457 | 0x34, 0x66, 0xf, 0xd7, 0xc0, 0xc0, | ||
1458 | 0x23, 0xf, 0xd7, 0xc0, 0xc0, | ||
1459 | 0x34, 0x66, 0xf, 0xd8, 0, 0, | ||
1460 | 0x23, 0xf, 0xd8, 0, 0, | ||
1461 | 0x34, 0x66, 0xf, 0xd9, 0, 0, | ||
1462 | 0x23, 0xf, 0xd9, 0, 0, | ||
1463 | 0x34, 0x66, 0xf, 0xda, 0, 0, | ||
1464 | 0x23, 0xf, 0xda, 0, 0, | ||
1465 | 0x34, 0x66, 0xf, 0xdc, 0, 0, | ||
1466 | 0x23, 0xf, 0xdc, 0, 0, | ||
1467 | 0x34, 0x66, 0xf, 0xdd, 0, 0, | ||
1468 | 0x23, 0xf, 0xdd, 0, 0, | ||
1469 | 0x34, 0x66, 0xf, 0xde, 0, 0, | ||
1470 | 0x23, 0xf, 0xde, 0, 0, | ||
1471 | 0x34, 0x66, 0xf, 0xe0, 0, 0, | ||
1472 | 0x23, 0xf, 0xe0, 0, 0, | ||
1473 | 0x34, 0x66, 0xf, 0xe1, 0, 0, | ||
1474 | 0x23, 0xf, 0xe1, 0, 0, | ||
1475 | 0x34, 0x66, 0xf, 0xe2, 0, 0, | ||
1476 | 0x23, 0xf, 0xe2, 0, 0, | ||
1477 | 0x34, 0x66, 0xf, 0xe3, 0, 0, | ||
1478 | 0x23, 0xf, 0xe3, 0, 0, | ||
1479 | 0x34, 0x66, 0xf, 0xe4, 0, 0, | ||
1480 | 0x23, 0xf, 0xe4, 0, 0, | ||
1481 | 0x34, 0x66, 0xf, 0xe5, 0, 0, | ||
1482 | 0x23, 0xf, 0xe5, 0, 0, | ||
1483 | 0x34, 0x66, 0xf, 0xe7, 0, 0, | ||
1484 | 0x23, 0xf, 0xe7, 0, 0, | ||
1485 | 0x34, 0x66, 0xf, 0xe8, 0, 0, | ||
1486 | 0x23, 0xf, 0xe8, 0, 0, | ||
1487 | 0x34, 0x66, 0xf, 0xe9, 0, 0, | ||
1488 | 0x23, 0xf, 0xe9, 0, 0, | ||
1489 | 0x34, 0x66, 0xf, 0xea, 0, 0, | ||
1490 | 0x23, 0xf, 0xea, 0, 0, | ||
1491 | 0x34, 0x66, 0xf, 0xec, 0, 0, | ||
1492 | 0x23, 0xf, 0xec, 0, 0, | ||
1493 | 0x34, 0x66, 0xf, 0xed, 0, 0, | ||
1494 | 0x23, 0xf, 0xed, 0, 0, | ||
1495 | 0x34, 0x66, 0xf, 0xee, 0, 0, | ||
1496 | 0x23, 0xf, 0xee, 0, 0, | ||
1497 | 0x34, 0xf2, 0xf, 0xf0, 0, 0, | ||
1498 | 0x34, 0x66, 0xf, 0xf1, 0, 0, | ||
1499 | 0x23, 0xf, 0xf1, 0, 0, | ||
1500 | 0x34, 0x66, 0xf, 0xf2, 0, 0, | ||
1501 | 0x23, 0xf, 0xf2, 0, 0, | ||
1502 | 0x34, 0x66, 0xf, 0xf3, 0, 0, | ||
1503 | 0x23, 0xf, 0xf3, 0, 0, | ||
1504 | 0x34, 0x66, 0xf, 0xf4, 0, 0, | ||
1505 | 0x23, 0xf, 0xf4, 0, 0, | ||
1506 | 0x34, 0x66, 0xf, 0xf6, 0, 0, | ||
1507 | 0x23, 0xf, 0xf6, 0, 0, | ||
1508 | 0x34, 0x66, 0xf, 0xf7, 0xc0, 0xc0, | ||
1509 | 0x23, 0xf, 0xf7, 0xc0, 0xc0, | ||
1510 | 0x34, 0x66, 0xf, 0xf8, 0, 0, | ||
1511 | 0x23, 0xf, 0xf8, 0, 0, | ||
1512 | 0x34, 0x66, 0xf, 0xf9, 0, 0, | ||
1513 | 0x23, 0xf, 0xf9, 0, 0, | ||
1514 | 0x34, 0x66, 0xf, 0xfa, 0, 0, | ||
1515 | 0x23, 0xf, 0xfa, 0, 0, | ||
1516 | 0x34, 0x66, 0xf, 0xfb, 0, 0, | ||
1517 | 0x23, 0xf, 0xfb, 0, 0, | ||
1518 | 0x34, 0x66, 0xf, 0xfc, 0, 0, | ||
1519 | 0x23, 0xf, 0xfc, 0, 0, | ||
1520 | 0x34, 0x66, 0xf, 0xfd, 0, 0, | ||
1521 | 0x23, 0xf, 0xfd, 0, 0, | ||
1522 | 0x34, 0x66, 0xf, 0xfe, 0, 0, | ||
1523 | 0x23, 0xf, 0xfe, 0, 0, | ||
1524 | 0x45, 0x66, 0xf, 0x38, 0, 0, 0, | ||
1525 | 0x34, 0xf, 0x38, 0, 0, 0, | ||
1526 | 0x45, 0x66, 0xf, 0x38, 0x1, 0, 0, | ||
1527 | 0x34, 0xf, 0x38, 0x1, 0, 0, | ||
1528 | 0x45, 0x66, 0xf, 0x38, 0x2, 0, 0, | ||
1529 | 0x34, 0xf, 0x38, 0x2, 0, 0, | ||
1530 | 0x45, 0x66, 0xf, 0x38, 0x3, 0, 0, | ||
1531 | 0x34, 0xf, 0x38, 0x3, 0, 0, | ||
1532 | 0x45, 0x66, 0xf, 0x38, 0x4, 0, 0, | ||
1533 | 0x34, 0xf, 0x38, 0x4, 0, 0, | ||
1534 | 0x45, 0x66, 0xf, 0x38, 0x5, 0, 0, | ||
1535 | 0x34, 0xf, 0x38, 0x5, 0, 0, | ||
1536 | 0x45, 0x66, 0xf, 0x38, 0x6, 0, 0, | ||
1537 | 0x34, 0xf, 0x38, 0x6, 0, 0, | ||
1538 | 0x45, 0x66, 0xf, 0x38, 0x7, 0, 0, | ||
1539 | 0x34, 0xf, 0x38, 0x7, 0, 0, | ||
1540 | 0x45, 0x66, 0xf, 0x38, 0x8, 0, 0, | ||
1541 | 0x34, 0xf, 0x38, 0x8, 0, 0, | ||
1542 | 0x45, 0x66, 0xf, 0x38, 0x9, 0, 0, | ||
1543 | 0x34, 0xf, 0x38, 0x9, 0, 0, | ||
1544 | 0x45, 0x66, 0xf, 0x38, 0xa, 0, 0, | ||
1545 | 0x34, 0xf, 0x38, 0xa, 0, 0, | ||
1546 | 0x45, 0x66, 0xf, 0x38, 0xb, 0, 0, | ||
1547 | 0x34, 0xf, 0x38, 0xb, 0, 0, | ||
1548 | 0x45, 0x66, 0xf, 0x38, 0x1c, 0, 0, | ||
1549 | 0x34, 0xf, 0x38, 0x1c, 0, 0, | ||
1550 | 0x45, 0x66, 0xf, 0x38, 0x1d, 0, 0, | ||
1551 | 0x34, 0xf, 0x38, 0x1d, 0, 0, | ||
1552 | 0x45, 0x66, 0xf, 0x38, 0x1e, 0, 0, | ||
1553 | 0x34, 0xf, 0x38, 0x1e, 0, 0, | ||
1554 | 0x45, 0x66, 0xf, 0x3a, 0xf, 0, 0, | ||
1555 | 0x34, 0xf, 0x3a, 0xf, 0, 0, | ||
1556 | 0x34, 0x66, 0xf, 0xc7, 0x38, 0x30, | ||
1557 | 0x34, 0xf3, 0xf, 0xc7, 0x38, 0x30, | ||
1558 | 0x23, 0xf, 0xc7, 0x38, 0x30, | ||
1559 | 0x23, 0xf, 0xc7, 0x38, 0x38, | ||
1560 | 0x34, 0x66, 0xf, 0x71, 0xf8, 0xd0, | ||
1561 | 0x23, 0xf, 0x71, 0xf8, 0xd0, | ||
1562 | 0x34, 0x66, 0xf, 0x71, 0xf8, 0xe0, | ||
1563 | 0x23, 0xf, 0x71, 0xf8, 0xe0, | ||
1564 | 0x34, 0x66, 0xf, 0x71, 0xf8, 0xf0, | ||
1565 | 0x23, 0xf, 0x71, 0xf8, 0xf0, | ||
1566 | 0x34, 0x66, 0xf, 0x72, 0xf8, 0xd0, | ||
1567 | 0x23, 0xf, 0x72, 0xf8, 0xd0, | ||
1568 | 0x34, 0x66, 0xf, 0x72, 0xf8, 0xe0, | ||
1569 | 0x23, 0xf, 0x72, 0xf8, 0xe0, | ||
1570 | 0x34, 0x66, 0xf, 0x72, 0xf8, 0xf0, | ||
1571 | 0x23, 0xf, 0x72, 0xf8, 0xf0, | ||
1572 | 0x34, 0x66, 0xf, 0x73, 0xf8, 0xd0, | ||
1573 | 0x23, 0xf, 0x73, 0xf8, 0xd0, | ||
1574 | 0x34, 0x66, 0xf, 0x73, 0xf8, 0xd8, | ||
1575 | 0x34, 0x66, 0xf, 0x73, 0xf8, 0xf0, | ||
1576 | 0x23, 0xf, 0x73, 0xf8, 0xf0, | ||
1577 | 0x34, 0x66, 0xf, 0x73, 0xf8, 0xf8, | ||
1578 | 0x33, 0xf, 0xae, 0xe8, | ||
1579 | 0x33, 0xf, 0xae, 0xf0, | ||
1580 | 0x33, 0xf, 0xae, 0xf8, | ||
1581 | 0x23, 0xf, 0xae, 0x38, 0x38, | ||
1582 | 0x23, 0xf, 0xf, 0, 0, | ||
1583 | 0x45, 0x66, 0xf, 0x3a, 0xc, 0, 0, | ||
1584 | 0x45, 0x66, 0xf, 0x3a, 0xd, 0, 0, | ||
1585 | 0x45, 0x66, 0xf, 0x38, 0x14, 0, 0, | ||
1586 | 0x45, 0x66, 0xf, 0x38, 0x15, 0, 0, | ||
1587 | 0x45, 0x66, 0xf, 0x3a, 0x40, 0, 0, | ||
1588 | 0x45, 0x66, 0xf, 0x3a, 0x41, 0, 0, | ||
1589 | 0x45, 0x66, 0xf, 0x3a, 0x21, 0, 0, | ||
1590 | 0x45, 0x66, 0xf, 0x38, 0x2a, 0, 0, | ||
1591 | 0x45, 0x66, 0xf, 0x3a, 0x42, 0, 0, | ||
1592 | 0x45, 0x66, 0xf, 0x38, 0x2b, 0, 0, | ||
1593 | 0x45, 0x66, 0xf, 0x38, 0x10, 0, 0, | ||
1594 | 0x45, 0x66, 0xf, 0x3a, 0xe, 0, 0, | ||
1595 | 0x45, 0x66, 0xf, 0x38, 0x29, 0, 0, | ||
1596 | 0x45, 0x66, 0xf, 0x3a, 0x61, 0, 0, | ||
1597 | 0x45, 0x66, 0xf, 0x3a, 0x60, 0, 0, | ||
1598 | 0x45, 0x66, 0xf, 0x3a, 0x63, 0, 0, | ||
1599 | 0x45, 0x66, 0xf, 0x3a, 0x62, 0, 0, | ||
1600 | 0x45, 0x66, 0xf, 0x38, 0x37, 0, 0, | ||
1601 | 0x45, 0x66, 0xf, 0x38, 0x41, 0, 0, | ||
1602 | 0x45, 0x66, 0xf, 0x3a, 0x20, 0, 0, | ||
1603 | 0x45, 0x66, 0xf, 0x3a, 0x22, 0, 0, | ||
1604 | 0x45, 0x66, 0xf, 0x38, 0x3c, 0, 0, | ||
1605 | 0x45, 0x66, 0xf, 0x38, 0x3d, 0, 0, | ||
1606 | 0x45, 0x66, 0xf, 0x38, 0x3f, 0, 0, | ||
1607 | 0x45, 0x66, 0xf, 0x38, 0x3e, 0, 0, | ||
1608 | 0x45, 0x66, 0xf, 0x38, 0x38, 0, 0, | ||
1609 | 0x45, 0x66, 0xf, 0x38, 0x39, 0, 0, | ||
1610 | 0x45, 0x66, 0xf, 0x38, 0x3b, 0, 0, | ||
1611 | 0x45, 0x66, 0xf, 0x38, 0x3a, 0, 0, | ||
1612 | 0x45, 0x66, 0xf, 0x38, 0x20, 0, 0, | ||
1613 | 0x45, 0x66, 0xf, 0x38, 0x21, 0, 0, | ||
1614 | 0x45, 0x66, 0xf, 0x38, 0x22, 0, 0, | ||
1615 | 0x45, 0x66, 0xf, 0x38, 0x23, 0, 0, | ||
1616 | 0x45, 0x66, 0xf, 0x38, 0x24, 0, 0, | ||
1617 | 0x45, 0x66, 0xf, 0x38, 0x25, 0, 0, | ||
1618 | 0x45, 0x66, 0xf, 0x38, 0x30, 0, 0, | ||
1619 | 0x45, 0x66, 0xf, 0x38, 0x31, 0, 0, | ||
1620 | 0x45, 0x66, 0xf, 0x38, 0x32, 0, 0, | ||
1621 | 0x45, 0x66, 0xf, 0x38, 0x33, 0, 0, | ||
1622 | 0x45, 0x66, 0xf, 0x38, 0x34, 0, 0, | ||
1623 | 0x45, 0x66, 0xf, 0x38, 0x35, 0, 0, | ||
1624 | 0x45, 0x66, 0xf, 0x38, 0x28, 0, 0, | ||
1625 | 0x45, 0x66, 0xf, 0x38, 0x40, 0, 0, | ||
1626 | 0x45, 0x66, 0xf, 0x38, 0x17, 0, 0, | ||
1627 | 0x45, 0x66, 0xf, 0x3a, 0x8, 0, 0, | ||
1628 | 0x45, 0x66, 0xf, 0x3a, 0x9, 0, 0, | ||
1629 | 0x45, 0x66, 0xf, 0x3a, 0xa, 0, 0, | ||
1630 | 0x45, 0x66, 0xf, 0x3a, 0xb, 0, 0, | ||
1631 | 0x1, 0xe7, 0x7, | ||
1632 | }; | ||
diff --git a/meta/recipes-devtools/elfutils/elfutils_0.155.bb b/meta/recipes-devtools/elfutils/elfutils_0.155.bb new file mode 100644 index 0000000000..6291d11aa1 --- /dev/null +++ b/meta/recipes-devtools/elfutils/elfutils_0.155.bb | |||
@@ -0,0 +1,84 @@ | |||
1 | DESCRIPTION = "A collection of utilities and DSOs to handle compiled objects." | ||
2 | HOMEPAGE = "https://fedorahosted.org/elfutils" | ||
3 | SECTION = "base" | ||
4 | LICENSE = "(GPLv3 & Elfutils-Exception)" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" | ||
6 | DEPENDS = "libtool bzip2 zlib virtual/libintl" | ||
7 | |||
8 | PR = "r0" | ||
9 | |||
10 | SRC_URI = "https://fedorahosted.org/releases/e/l/elfutils/${PV}/elfutils-${PV}.tar.bz2" | ||
11 | |||
12 | SRC_URI[md5sum] = "163a5712b86f6bdfebdf233cc6e2192d" | ||
13 | SRC_URI[sha256sum] = "68444a4526416ffd68852ec3c6a40ceddcca46538297322405319884c5d30ed8" | ||
14 | |||
15 | SRC_URI += "\ | ||
16 | file://redhat-portability.diff \ | ||
17 | file://redhat-robustify.diff \ | ||
18 | file://hppa_backend.diff \ | ||
19 | file://arm_backend.diff \ | ||
20 | file://mips_backend.diff \ | ||
21 | file://m68k_backend.diff \ | ||
22 | file://do-autoreconf.diff \ | ||
23 | file://elf_additions.diff \ | ||
24 | file://mempcpy.patch \ | ||
25 | file://dso-link-change.patch \ | ||
26 | file://nm-Fix-size-passed-to-snprintf-for-invalid-sh_name-case.patch \ | ||
27 | file://elfutils-ar-c-fix-num-passed-to-memset.patch \ | ||
28 | " | ||
29 | # Only apply when building uclibc based target recipe | ||
30 | SRC_URI_append_libc-uclibc = " file://uclibc-support.patch" | ||
31 | |||
32 | # The buildsystem wants to generate 2 .h files from source using a binary it just built, | ||
33 | # which can not pass the cross compiling, so let's work around it by adding 2 .h files | ||
34 | # along with the do_configure_prepend() | ||
35 | |||
36 | SRC_URI += "\ | ||
37 | file://i386_dis.h \ | ||
38 | file://x86_64_dis.h \ | ||
39 | " | ||
40 | inherit autotools gettext | ||
41 | |||
42 | EXTRA_OECONF = "--program-prefix=eu- --without-lzma" | ||
43 | EXTRA_OECONF_append_class-native = " --without-bzlib" | ||
44 | EXTRA_OECONF_append_libc-uclibc = " --enable-uclibc" | ||
45 | |||
46 | do_configure_prepend() { | ||
47 | sed -i '/^i386_dis.h:/,+4 {/.*/d}' ${S}/libcpu/Makefile.am | ||
48 | |||
49 | cp ${WORKDIR}/*dis.h ${S}/libcpu | ||
50 | } | ||
51 | |||
52 | # we can not build complete elfutils when using uclibc | ||
53 | # but some recipes e.g. gcc 4.5 depends on libelf so we | ||
54 | # build only libelf for uclibc case | ||
55 | |||
56 | EXTRA_OEMAKE_libc-uclibc = "-C libelf" | ||
57 | EXTRA_OEMAKE_class-native = "" | ||
58 | EXTRA_OEMAKE_class-nativesdk = "" | ||
59 | |||
60 | BBCLASSEXTEND = "native nativesdk" | ||
61 | |||
62 | # Package utilities separately | ||
63 | PACKAGES =+ "${PN}-binutils libelf libasm libdw libdw-dev libasm-dev libelf-dev" | ||
64 | FILES_${PN}-binutils = "\ | ||
65 | ${bindir}/eu-addr2line \ | ||
66 | ${bindir}/eu-ld \ | ||
67 | ${bindir}/eu-nm \ | ||
68 | ${bindir}/eu-readelf \ | ||
69 | ${bindir}/eu-size \ | ||
70 | ${bindir}/eu-strip" | ||
71 | |||
72 | FILES_libelf = "${libdir}/libelf-${PV}.so ${libdir}/libelf.so.*" | ||
73 | FILES_libasm = "${libdir}/libasm-${PV}.so ${libdir}/libasm.so.*" | ||
74 | FILES_libdw = "${libdir}/libdw-${PV}.so ${libdir}/libdw.so.* ${libdir}/elfutils/lib*" | ||
75 | FILES_libelf-dev = "${libdir}/libelf.so ${includedir}" | ||
76 | FILES_libasm-dev = "${libdir}/libasm.so ${includedir}/elfutils/libasm.h" | ||
77 | FILES_libdw-dev = "${libdir}/libdw.so ${includedir}/dwarf.h ${includedir}/elfutils/libdw*.h" | ||
78 | # Some packages have the version preceeding the .so instead properly | ||
79 | # versioned .so.<version>, so we need to reorder and repackage. | ||
80 | #FILES_${PN} += "${libdir}/*-${PV}.so ${base_libdir}/*-${PV}.so" | ||
81 | #FILES_SOLIBSDEV = "${libdir}/libasm.so ${libdir}/libdw.so ${libdir}/libelf.so" | ||
82 | |||
83 | # The package contains symlinks that trip up insane | ||
84 | INSANE_SKIP_${MLPREFIX}libdw = "dev-so" | ||