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" | ||
