1 /** 2 * D header file for standard ELF types, structures, and macros. 3 * 4 * $(LINK2 http://sourceware.org/git/?p=glibc.git;a=blob;f=elf/elf.h, glibc elf/elf.h) 5 */ 6 module core.sys.elf; 7 8 extern (C): 9 pure: 10 nothrow: 11 12 import core.stdc.stdint; 13 14 alias uint16_t Elf32_Half; 15 alias uint16_t Elf64_Half; 16 17 alias uint32_t Elf32_Word; 18 alias int32_t Elf32_Sword; 19 alias uint32_t Elf64_Word; 20 alias int32_t Elf64_Sword; 21 22 alias uint64_t Elf32_Xword; 23 alias int64_t Elf32_Sxword; 24 alias uint64_t Elf64_Xword; 25 alias int64_t Elf64_Sxword; 26 27 alias uint32_t Elf32_Addr; 28 alias uint64_t Elf64_Addr; 29 30 alias uint32_t Elf32_Off; 31 alias uint64_t Elf64_Off; 32 33 alias uint16_t Elf32_Section; 34 alias uint16_t Elf64_Section; 35 36 alias Elf32_Half Elf32_Versym; 37 alias Elf64_Half Elf64_Versym; 38 39 enum EI_NIDENT = 16; 40 41 struct Elf32_Ehdr 42 { 43 char[EI_NIDENT] e_ident = 0; 44 Elf32_Half e_type; 45 Elf32_Half e_machine; 46 Elf32_Word e_version; 47 Elf32_Addr e_entry; 48 Elf32_Off e_phoff; 49 Elf32_Off e_shoff; 50 Elf32_Word e_flags; 51 Elf32_Half e_ehsize; 52 Elf32_Half e_phentsize; 53 Elf32_Half e_phnum; 54 Elf32_Half e_shentsize; 55 Elf32_Half e_shnum; 56 Elf32_Half e_shstrndx; 57 } 58 59 struct Elf64_Ehdr 60 { 61 char[EI_NIDENT] e_ident = 0; 62 Elf64_Half e_type; 63 Elf64_Half e_machine; 64 Elf64_Word e_version; 65 Elf64_Addr e_entry; 66 Elf64_Off e_phoff; 67 Elf64_Off e_shoff; 68 Elf64_Word e_flags; 69 Elf64_Half e_ehsize; 70 Elf64_Half e_phentsize; 71 Elf64_Half e_phnum; 72 Elf64_Half e_shentsize; 73 Elf64_Half e_shnum; 74 Elf64_Half e_shstrndx; 75 } 76 77 enum EI_MAG0 = 0; 78 enum ELFMAG0 = 0x7f; 79 80 enum EI_MAG1 = 1; 81 enum ELFMAG1 = 'E'; 82 83 enum EI_MAG2 = 2; 84 enum ELFMAG2 = 'L'; 85 86 enum EI_MAG3 = 3; 87 enum ELFMAG3 = 'F'; 88 enum ELFMAG = "\177ELF"; 89 enum SELFMAG = 4; 90 91 enum EI_CLASS = 4; 92 enum ELFCLASSNONE = 0; 93 enum ELFCLASS32 = 1; 94 enum ELFCLASS64 = 2; 95 enum ELFCLASSNUM = 3; 96 97 enum EI_DATA = 5; 98 enum ELFDATANONE = 0; 99 enum ELFDATA2LSB = 1; 100 enum ELFDATA2MSB = 2; 101 enum ELFDATANUM = 3; 102 103 enum EI_VERSION = 6; 104 105 enum EI_OSABI = 7; 106 enum ELFOSABI_NONE = 0; 107 enum ELFOSABI_SYSV = 0; 108 enum ELFOSABI_HPUX = 1; 109 enum ELFOSABI_NETBSD = 2; 110 enum ELFOSABI_GNU = 3; 111 enum ELFOSABI_LINUX = ELFOSABI_GNU; 112 enum ELFOSABI_HURD = 4; 113 enum ELFOSABI_86OPEN = 5; 114 enum ELFOSABI_SOLARIS = 6; 115 enum ELFOSABI_AIX = 7; 116 enum ELFOSABI_MONTEREY = 7; 117 enum ELFOSABI_IRIX = 8; 118 enum ELFOSABI_FREEBSD = 9; 119 enum ELFOSABI_TRU64 = 10; 120 enum ELFOSABI_MODESTO = 11; 121 enum ELFOSABI_OPENBSD = 12; 122 enum ELFOSABI_OPENVMS = 13; 123 enum ELFOSABI_NSK = 14; 124 enum ELFOSABI_AROS = 15; 125 enum ELFOSABI_ARM_AEABI = 64; 126 enum ELFOSABI_ARM = 97; 127 enum ELFOSABI_STANDALONE = 255; 128 enum ELFOSABI_DRAGONFLYBSD = ELFOSABI_NONE; 129 130 enum EI_ABIVERSION = 8; 131 132 enum EI_PAD = 9; 133 134 enum ET_NONE = 0; 135 enum ET_REL = 1; 136 enum ET_EXEC = 2; 137 enum ET_DYN = 3; 138 enum ET_CORE = 4; 139 enum ET_NUM = 5; 140 enum ET_LOOS = 0xfe00; 141 enum ET_HIOS = 0xfeff; 142 enum ET_LOPROC = 0xff00; 143 enum ET_HIPROC = 0xffff; 144 145 enum EM_NONE = 0; 146 enum EM_M32 = 1; 147 enum EM_SPARC = 2; 148 enum EM_386 = 3; 149 enum EM_68K = 4; 150 enum EM_88K = 5; 151 enum EM_860 = 7; 152 enum EM_MIPS = 8; 153 enum EM_S370 = 9; 154 enum EM_MIPS_RS3_LE = 10; 155 156 enum EM_PARISC = 15; 157 enum EM_VPP500 = 17; 158 enum EM_SPARC32PLUS = 18; 159 enum EM_960 = 19; 160 enum EM_PPC = 20; 161 enum EM_PPC64 = 21; 162 enum EM_S390 = 22; 163 164 enum EM_V800 = 36; 165 enum EM_FR20 = 37; 166 enum EM_RH32 = 38; 167 enum EM_RCE = 39; 168 enum EM_ARM = 40; 169 enum EM_FAKE_ALPHA = 41; 170 enum EM_SH = 42; 171 enum EM_SPARCV9 = 43; 172 enum EM_TRICORE = 44; 173 enum EM_ARC = 45; 174 enum EM_H8_300 = 46; 175 enum EM_H8_300H = 47; 176 enum EM_H8S = 48; 177 enum EM_H8_500 = 49; 178 enum EM_IA_64 = 50; 179 enum EM_MIPS_X = 51; 180 enum EM_COLDFIRE = 52; 181 enum EM_68HC12 = 53; 182 enum EM_MMA = 54; 183 enum EM_PCP = 55; 184 enum EM_NCPU = 56; 185 enum EM_NDR1 = 57; 186 enum EM_STARCORE = 58; 187 enum EM_ME16 = 59; 188 enum EM_ST100 = 60; 189 enum EM_TINYJ = 61; 190 enum EM_X86_64 = 62; 191 enum EM_PDSP = 63; 192 193 enum EM_FX66 = 66; 194 enum EM_ST9PLUS = 67; 195 enum EM_ST7 = 68; 196 enum EM_68HC16 = 69; 197 enum EM_68HC11 = 70; 198 enum EM_68HC08 = 71; 199 enum EM_68HC05 = 72; 200 enum EM_SVX = 73; 201 enum EM_ST19 = 74; 202 enum EM_VAX = 75; 203 enum EM_CRIS = 76; 204 enum EM_JAVELIN = 77; 205 enum EM_FIREPATH = 78; 206 enum EM_ZSP = 79; 207 enum EM_MMIX = 80; 208 enum EM_HUANY = 81; 209 enum EM_PRISM = 82; 210 enum EM_AVR = 83; 211 enum EM_FR30 = 84; 212 enum EM_D10V = 85; 213 enum EM_D30V = 86; 214 enum EM_V850 = 87; 215 enum EM_M32R = 88; 216 enum EM_MN10300 = 89; 217 enum EM_MN10200 = 90; 218 enum EM_PJ = 91; 219 enum EM_OPENRISC = 92; 220 enum EM_ARC_A5 = 93; 221 enum EM_XTENSA = 94; 222 enum EM_VIDEOCORE = 95; 223 enum EM_TMM_GPP = 96; 224 enum EM_NS32K = 97; 225 enum EM_TPC = 98; 226 enum EM_SNP1K = 99; 227 enum EM_ST200 = 100; 228 enum EM_IP2K = 101; 229 enum EM_MAX = 102; 230 enum EM_CR = 103; 231 enum EM_F2MC16 = 104; 232 enum EM_MSP430 = 105; 233 enum EM_BLACKFIN = 106; 234 enum EM_SE_C33 = 107; 235 enum EM_SEP = 108; 236 enum EM_ARCA = 109; 237 enum EM_UNICORE = 110; 238 enum EM_DXP = 112; 239 enum EM_ALTERA_NIOS2 = 113; 240 enum EM_CRX = 114; 241 enum EM_XGATE = 115; 242 enum EM_C166 = 116; 243 enum EM_M16C = 117; 244 enum EM_DSPIC30F = 118; 245 enum EM_CE = 119; 246 enum EM_M32C = 120; 247 enum EM_res121 = 121; 248 enum EM_res122 = 122; 249 enum EM_res123 = 123; 250 enum EM_res124 = 124; 251 enum EM_res125 = 125; 252 enum EM_res126 = 126; 253 enum EM_res127 = 127; 254 enum EM_res128 = 128; 255 enum EM_res129 = 129; 256 enum EM_res130 = 130; 257 enum EM_TSK3000 = 131; 258 enum EM_RS08 = 132; 259 enum EM_res133 = 133; 260 enum EM_ECOG2 = 134; 261 enum EM_SCORE = 135; 262 enum EM_SCORE7 = 135; 263 enum EM_DSP24 = 136; 264 enum EM_VIDEOCORE3 = 137; 265 enum EM_LATTICEMICO32 = 138; 266 enum EM_SE_C17 = 139; 267 enum EM_TI_C6000 = 140; 268 enum EM_TI_C2000 = 141; 269 enum EM_TI_C5500 = 142; 270 enum EM_TI_ARP32 = 143; 271 enum EM_TI_PRU = 144; 272 enum EM_MMDSP_PLUS = 160; 273 enum EM_CYPRESS_M8C = 161; 274 enum EM_R32C = 162; 275 enum EM_TRIMEDIA = 163; 276 enum EM_QDSP6 = 164; 277 enum EM_8051 = 165; 278 enum EM_STXP7X = 166; 279 enum EM_NDS32 = 167; 280 enum EM_ECOG1 = 168; 281 enum EM_ECOG1X = 168; 282 enum EM_MAXQ30 = 169; 283 enum EM_XIMO16 = 170; 284 enum EM_MANIK = 171; 285 enum EM_CRAYNV2 = 172; 286 enum EM_RX = 173; 287 enum EM_METAG = 174; 288 enum EM_MCST_ELBRUS = 175; 289 enum EM_ECOG16 = 176; 290 enum EM_CR16 = 177; 291 enum EM_ETPU = 178; 292 enum EM_SLE9X = 179; 293 enum EM_L1OM = 180; 294 enum EM_K1OM = 181; 295 enum EM_INTEL182 = 182; 296 enum EM_AARCH64 = 183; 297 enum EM_AVR32 = 185; 298 enum EM_STM8 = 186; 299 enum EM_TILE64 = 187; 300 enum EM_TILEPRO = 188; 301 enum EM_MICROBLAZE = 189; 302 enum EM_CUDA = 190; 303 enum EM_TILEGX = 191; 304 enum EM_CLOUDSHIELD = 192; 305 enum EM_COREA_1ST = 193; 306 enum EM_COREA_2ND = 194; 307 enum EM_ARCV2 = 195; 308 enum EM_OPEN8 = 196; 309 enum EM_RL78 = 197; 310 enum EM_VIDEOCORE5 = 198; 311 enum EM_78KOR = 199; 312 enum EM_56800EX = 200; 313 enum EM_BA1 = 201; 314 enum EM_BA2 = 202; 315 enum EM_XCORE = 203; 316 enum EM_MCHP_PIC = 204; 317 enum EM_INTELGT = 205; 318 319 enum EM_KM32 = 210; 320 enum EM_KMX32 = 211; 321 enum EM_EMX16 = 212; 322 enum EM_EMX8 = 213; 323 enum EM_KVARC = 214; 324 enum EM_CDP = 215; 325 enum EM_COGE = 216; 326 enum EM_COOL = 217; 327 enum EM_NORC = 218; 328 enum EM_CSR_KALIMBA = 219; 329 enum EM_Z80 = 220; 330 enum EM_VISIUM = 221; 331 enum EM_FT32 = 222; 332 enum EM_MOXIE = 223; 333 enum EM_AMDGPU = 224; 334 335 enum EM_RISCV = 243; 336 337 enum EM_BPF = 247; 338 enum EM_CSKY = 252; 339 340 enum EM_NUM = 253; 341 342 enum EM_LOONGARCH = 258; 343 344 enum EM_ALPHA = 0x9026; 345 346 enum EV_NONE = 0; 347 enum EV_CURRENT = 1; 348 enum EV_NUM = 2; 349 350 struct Elf32_Shdr 351 { 352 Elf32_Word sh_name; 353 Elf32_Word sh_type; 354 Elf32_Word sh_flags; 355 Elf32_Addr sh_addr; 356 Elf32_Off sh_offset; 357 Elf32_Word sh_size; 358 Elf32_Word sh_link; 359 Elf32_Word sh_info; 360 Elf32_Word sh_addralign; 361 Elf32_Word sh_entsize; 362 } 363 364 struct Elf64_Shdr 365 { 366 Elf64_Word sh_name; 367 Elf64_Word sh_type; 368 Elf64_Xword sh_flags; 369 Elf64_Addr sh_addr; 370 Elf64_Off sh_offset; 371 Elf64_Xword sh_size; 372 Elf64_Word sh_link; 373 Elf64_Word sh_info; 374 Elf64_Xword sh_addralign; 375 Elf64_Xword sh_entsize; 376 } 377 378 enum SHN_UNDEF = 0; 379 enum SHN_LORESERVE = 0xff00; 380 enum SHN_LOPROC = 0xff00; 381 enum SHN_BEFORE = 0xff00; 382 enum SHN_AFTER = 0xff01; 383 enum SHN_HIPROC = 0xff1f; 384 enum SHN_LOOS = 0xff20; 385 enum SHN_HIOS = 0xff3f; 386 enum SHN_ABS = 0xfff1; 387 enum SHN_COMMON = 0xfff2; 388 enum SHN_XINDEX = 0xffff; 389 enum SHN_HIRESERVE = 0xffff; 390 391 enum SHT_NULL = 0; 392 enum SHT_PROGBITS = 1; 393 enum SHT_SYMTAB = 2; 394 enum SHT_STRTAB = 3; 395 enum SHT_RELA = 4; 396 enum SHT_HASH = 5; 397 enum SHT_DYNAMIC = 6; 398 enum SHT_NOTE = 7; 399 enum SHT_NOBITS = 8; 400 enum SHT_REL = 9; 401 enum SHT_SHLIB = 10; 402 enum SHT_DYNSYM = 11; 403 enum SHT_INIT_ARRAY = 14; 404 enum SHT_FINI_ARRAY = 15; 405 enum SHT_PREINIT_ARRAY = 16; 406 enum SHT_GROUP = 17; 407 enum SHT_SYMTAB_SHNDX = 18; 408 enum SHT_NUM = 19; 409 enum SHT_LOOS = 0x60000000; 410 enum SHT_GNU_ATTRIBUTES = 0x6ffffff5; 411 enum SHT_GNU_HASH = 0x6ffffff6; 412 enum SHT_GNU_LIBLIST = 0x6ffffff7; 413 enum SHT_CHECKSUM = 0x6ffffff8; 414 enum SHT_LOSUNW = 0x6ffffffa; 415 enum SHT_SUNW_move = 0x6ffffffa; 416 enum SHT_SUNW_COMDAT = 0x6ffffffb; 417 enum SHT_SUNW_syminfo = 0x6ffffffc; 418 enum SHT_GNU_verdef = 0x6ffffffd; 419 enum SHT_GNU_verneed = 0x6ffffffe; 420 enum SHT_GNU_versym = 0x6fffffff; 421 enum SHT_HISUNW = 0x6fffffff; 422 enum SHT_HIOS = 0x6fffffff; 423 enum SHT_LOPROC = 0x70000000; 424 enum SHT_HIPROC = 0x7fffffff; 425 enum SHT_LOUSER = 0x80000000; 426 enum SHT_HIUSER = 0x8fffffff; 427 428 enum SHF_WRITE = (1 << 0); 429 enum SHF_ALLOC = (1 << 1); 430 enum SHF_EXECINSTR = (1 << 2); 431 enum SHF_MERGE = (1 << 4); 432 enum SHF_STRINGS = (1 << 5); 433 enum SHF_INFO_LINK = (1 << 6); 434 enum SHF_LINK_ORDER = (1 << 7); 435 enum SHF_OS_NONCONFORMING = (1 << 8); 436 enum SHF_GROUP = (1 << 9); 437 enum SHF_TLS = (1 << 10); 438 enum SHF_COMPRESSED = (1 << 11); 439 enum SHF_MASKOS = 0x0ff00000; 440 enum SHF_MASKPROC = 0xf0000000; 441 enum SHF_ORDERED = (1 << 30); 442 enum SHF_EXCLUDE = (1 << 31); 443 enum GRP_COMDAT = 0x1; 444 445 struct Elf32_Sym 446 { 447 Elf32_Word st_name; 448 Elf32_Addr st_value; 449 Elf32_Word st_size; 450 ubyte st_info; 451 ubyte st_other; 452 Elf32_Section st_shndx; 453 } 454 455 struct Elf64_Sym 456 { 457 Elf64_Word st_name; 458 ubyte st_info; 459 ubyte st_other; 460 Elf64_Section st_shndx; 461 Elf64_Addr st_value; 462 Elf64_Xword st_size; 463 } 464 465 struct Elf32_Syminfo 466 { 467 Elf32_Half si_boundto; 468 Elf32_Half si_flags; 469 } 470 471 struct Elf64_Syminfo 472 { 473 Elf64_Half si_boundto; 474 Elf64_Half si_flags; 475 } 476 477 enum SYMINFO_BT_SELF = 0xffff; 478 enum SYMINFO_BT_PARENT = 0xfffe; 479 enum SYMINFO_BT_LOWRESERVE = 0xff00; 480 481 enum SYMINFO_FLG_DIRECT = 0x0001; 482 enum SYMINFO_FLG_PASSTHRU = 0x0002; 483 enum SYMINFO_FLG_COPY = 0x0004; 484 enum SYMINFO_FLG_LAZYLOAD = 0x0008; 485 486 enum SYMINFO_NONE = 0; 487 enum SYMINFO_CURRENT = 1; 488 enum SYMINFO_NUM = 2; 489 490 extern (D) 491 { 492 auto ELF32_ST_BIND(T)(T val) { return cast(ubyte)val >> 4; } 493 auto ELF32_ST_TYPE(T)(T val) { return val & 0xf; } 494 auto ELF32_ST_INFO(B, T)(B bind, T type) { return (bind << 4) + (type & 0xf); } 495 alias ELF32_ST_BIND ELF64_ST_BIND; 496 alias ELF32_ST_TYPE ELF64_ST_TYPE; 497 alias ELF32_ST_INFO ELF64_ST_INFO; 498 } 499 500 enum STB_LOCAL = 0; 501 enum STB_GLOBAL = 1; 502 enum STB_WEAK = 2; 503 enum STB_NUM = 3; 504 enum STB_LOOS = 10; 505 enum STB_GNU_UNIQUE = 10; 506 enum STB_HIOS = 12; 507 enum STB_LOPROC = 13; 508 enum STB_HIPROC = 15; 509 510 enum STT_NOTYPE = 0; 511 enum STT_OBJECT = 1; 512 enum STT_FUNC = 2; 513 enum STT_SECTION = 3; 514 enum STT_FILE = 4; 515 enum STT_COMMON = 5; 516 enum STT_TLS = 6; 517 enum STT_NUM = 7; 518 enum STT_LOOS = 10; 519 enum STT_GNU_IFUNC = 10; 520 enum STT_HIOS = 12; 521 enum STT_LOPROC = 13; 522 enum STT_HIPROC = 15; 523 524 enum STN_UNDEF = 0; 525 526 enum STV_DEFAULT = 0; 527 enum STV_INTERNAL = 1; 528 enum STV_HIDDEN = 2; 529 enum STV_PROTECTED = 3; 530 531 struct Elf32_Rel 532 { 533 Elf32_Addr r_offset; 534 Elf32_Word r_info; 535 } 536 537 struct Elf64_Rel 538 { 539 Elf64_Addr r_offset; 540 Elf64_Xword r_info; 541 } 542 543 struct Elf32_Rela 544 { 545 Elf32_Addr r_offset; 546 Elf32_Word r_info; 547 Elf32_Sword r_addend; 548 } 549 550 struct Elf64_Rela 551 { 552 Elf64_Addr r_offset; 553 Elf64_Xword r_info; 554 Elf64_Sxword r_addend; 555 } 556 557 extern (D) 558 { 559 auto ELF32_R_SYM(V)(V val) { return val >> 8; } 560 auto ELF32_R_TYPE(V)(V val) { return val & 0xff; } 561 auto ELF32_R_INFO(S, T)(S sym, T type) { return (sym << 8) + (type & 0xff); } 562 563 auto ELF64_R_SYM(I)(I i) { return i >> 32; } 564 auto ELF64_R_TYPE(I)(I i) { return i & 0xffffffff; } 565 auto ELF64_R_INFO(S, T)(S sym, T type) { return (sym << 32) + (type); } 566 } 567 568 struct Elf32_Phdr 569 { 570 Elf32_Word p_type; 571 Elf32_Off p_offset; 572 Elf32_Addr p_vaddr; 573 Elf32_Addr p_paddr; 574 Elf32_Word p_filesz; 575 Elf32_Word p_memsz; 576 Elf32_Word p_flags; 577 Elf32_Word p_align; 578 } 579 580 struct Elf64_Phdr 581 { 582 Elf64_Word p_type; 583 Elf64_Word p_flags; 584 Elf64_Off p_offset; 585 Elf64_Addr p_vaddr; 586 Elf64_Addr p_paddr; 587 Elf64_Xword p_filesz; 588 Elf64_Xword p_memsz; 589 Elf64_Xword p_align; 590 } 591 592 enum PN_XNUM = 0xffff; 593 594 enum PT_NULL = 0; 595 enum PT_LOAD = 1; 596 enum PT_DYNAMIC = 2; 597 enum PT_INTERP = 3; 598 enum PT_NOTE = 4; 599 enum PT_SHLIB = 5; 600 enum PT_PHDR = 6; 601 enum PT_TLS = 7; 602 enum PT_NUM = 8; 603 enum PT_LOOS = 0x60000000; 604 enum PT_GNU_EH_FRAME = 0x6474e550; 605 enum PT_GNU_STACK = 0x6474e551; 606 enum PT_GNU_RELRO = 0x6474e552; 607 enum PT_LOSUNW = 0x6ffffffa; 608 enum PT_SUNWBSS = 0x6ffffffa; 609 enum PT_SUNWSTACK = 0x6ffffffb; 610 enum PT_HISUNW = 0x6fffffff; 611 enum PT_HIOS = 0x6fffffff; 612 enum PT_LOPROC = 0x70000000; 613 enum PT_HIPROC = 0x7fffffff; 614 615 enum PF_X = (1 << 0); 616 enum PF_W = (1 << 1); 617 enum PF_R = (1 << 2); 618 enum PF_MASKOS = 0x0ff00000; 619 enum PF_MASKPROC = 0xf0000000; 620 621 enum DT_NULL = 0; 622 enum DT_NEEDED = 1; 623 enum DT_PLTRELSZ = 2; 624 enum DT_PLTGOT = 3; 625 enum DT_HASH = 4; 626 enum DT_STRTAB = 5; 627 enum DT_SYMTAB = 6; 628 enum DT_RELA = 7; 629 enum DT_RELASZ = 8; 630 enum DT_RELAENT = 9; 631 enum DT_STRSZ = 10; 632 enum DT_SYMENT = 11; 633 enum DT_INIT = 12; 634 enum DT_FINI = 13; 635 enum DT_SONAME = 14; 636 enum DT_RPATH = 15; 637 enum DT_SYMBOLIC = 16; 638 enum DT_REL = 17; 639 enum DT_RELSZ = 18; 640 enum DT_RELENT = 19; 641 enum DT_PLTREL = 20; 642 enum DT_DEBUG = 21; 643 enum DT_TEXTREL = 22; 644 enum DT_JMPREL = 23; 645 enum DT_BIND_NOW = 24; 646 enum DT_INIT_ARRAY = 25; 647 enum DT_FINI_ARRAY = 26; 648 enum DT_INIT_ARRAYSZ = 27; 649 enum DT_FINI_ARRAYSZ = 28; 650 enum DT_RUNPATH = 29; 651 enum DT_FLAGS = 30; 652 enum DT_ENCODING = 32; 653 enum DT_PREINIT_ARRAY = 32; 654 enum DT_PREINIT_ARRAYSZ = 33; 655 enum DT_NUM = 34; 656 enum DT_LOOS = 0x6000000d; 657 enum DT_HIOS = 0x6ffff000; 658 enum DT_LOPROC = 0x70000000; 659 enum DT_HIPROC = 0x7fffffff; 660 enum DT_PROCNUM = DT_MIPS_NUM; 661 enum DT_VALRNGLO = 0x6ffffd00; 662 enum DT_GNU_PRELINKED = 0x6ffffdf5; 663 enum DT_GNU_CONFLICTSZ = 0x6ffffdf6; 664 enum DT_GNU_LIBLISTSZ = 0x6ffffdf7; 665 enum DT_CHECKSUM = 0x6ffffdf8; 666 enum DT_PLTPADSZ = 0x6ffffdf9; 667 enum DT_MOVEENT = 0x6ffffdfa; 668 enum DT_MOVESZ = 0x6ffffdfb; 669 enum DT_FEATURE_1 = 0x6ffffdfc; 670 enum DT_POSFLAG_1 = 0x6ffffdfd; 671 enum DT_SYMINSZ = 0x6ffffdfe; 672 enum DT_SYMINENT = 0x6ffffdff; 673 enum DT_VALRNGHI = 0x6ffffdff; 674 extern (D) auto DT_VALTAGIDX(T)(T tag) 675 { 676 return DT_VALRNGHI - tag; 677 } 678 enum DT_VALNUM = 12; 679 enum DT_ADDRRNGLO = 0x6ffffe00; 680 enum DT_GNU_HASH = 0x6ffffef5; 681 enum DT_TLSDESC_PLT = 0x6ffffef6; 682 enum DT_TLSDESC_GOT = 0x6ffffef7; 683 enum DT_GNU_CONFLICT = 0x6ffffef8; 684 enum DT_GNU_LIBLIST = 0x6ffffef9; 685 enum DT_CONFIG = 0x6ffffefa; 686 enum DT_DEPAUDIT = 0x6ffffefb; 687 enum DT_AUDIT = 0x6ffffefc; 688 enum DT_PLTPAD = 0x6ffffefd; 689 enum DT_MOVETAB = 0x6ffffefe; 690 enum DT_SYMINFO = 0x6ffffeff; 691 enum DT_ADDRRNGHI = 0x6ffffeff; 692 extern (D) auto DT_ADDRTAGIDX(T)(T tag) 693 { 694 return DT_ADDRRNGHI - tag; 695 } 696 enum DT_ADDRNUM = 11; 697 enum DT_VERSYM = 0x6ffffff0; 698 699 enum DT_RELACOUNT = 0x6ffffff9; 700 enum DT_RELCOUNT = 0x6ffffffa; 701 enum DT_FLAGS_1 = 0x6ffffffb; 702 enum DT_VERDEF = 0x6ffffffc; 703 enum DT_VERDEFNUM = 0x6ffffffd; 704 enum DT_VERNEED = 0x6ffffffe; 705 enum DT_VERNEEDNUM = 0x6fffffff; 706 extern (D) auto DT_VERSIONTAGIDX(T)(T tag) 707 { 708 return DT_VERNEEDNUM - tag; 709 } 710 enum DT_VERSIONTAGNUM = 16; 711 enum DT_AUXILIARY = 0x7ffffffd; 712 enum DT_FILTER = 0x7fffffff; 713 extern (D) auto DT_EXTRATAGIDX(T)(T tag) 714 { 715 return cast(Elf32_Word)(-(cast(Elf32_Sword)(tag) <<1>>1)-1); 716 } 717 enum DT_EXTRANUM = 3; 718 enum DF_ORIGIN = 0x00000001; 719 enum DF_SYMBOLIC = 0x00000002; 720 enum DF_TEXTREL = 0x00000004; 721 enum DF_BIND_NOW = 0x00000008; 722 enum DF_STATIC_TLS = 0x00000010; 723 enum DF_1_NOW = 0x00000001; 724 enum DF_1_GLOBAL = 0x00000002; 725 enum DF_1_GROUP = 0x00000004; 726 enum DF_1_NODELETE = 0x00000008; 727 enum DF_1_LOADFLTR = 0x00000010; 728 enum DF_1_INITFIRST = 0x00000020; 729 enum DF_1_NOOPEN = 0x00000040; 730 enum DF_1_ORIGIN = 0x00000080; 731 enum DF_1_DIRECT = 0x00000100; 732 enum DF_1_TRANS = 0x00000200; 733 enum DF_1_INTERPOSE = 0x00000400; 734 enum DF_1_NODEFLIB = 0x00000800; 735 enum DF_1_NODUMP = 0x00001000; 736 enum DF_1_CONFALT = 0x00002000; 737 enum DF_1_ENDFILTEE = 0x00004000; 738 enum DF_1_DISPRELDNE = 0x00008000; 739 enum DF_1_DISPRELPND = 0x00010000; 740 enum DF_1_NODIRECT = 0x00020000; 741 enum DF_1_IGNMULDEF = 0x00040000; 742 enum DF_1_NOKSYMS = 0x00080000; 743 enum DF_1_NOHDR = 0x00100000; 744 enum DF_1_EDITED = 0x00200000; 745 enum DF_1_NORELOC = 0x00400000; 746 enum DF_1_SYMINTPOSE = 0x00800000; 747 enum DF_1_GLOBAUDIT = 0x01000000; 748 enum DF_1_SINGLETON = 0x02000000; 749 enum DTF_1_PARINIT = 0x00000001; 750 enum DTF_1_CONFEXP = 0x00000002; 751 enum DF_P1_LAZYLOAD = 0x00000001; 752 enum DF_P1_GROUPPERM = 0x00000002; 753 754 struct Elf32_Verdef 755 { 756 Elf32_Half vd_version; 757 Elf32_Half vd_flags; 758 Elf32_Half vd_ndx; 759 Elf32_Half vd_cnt; 760 Elf32_Word vd_hash; 761 Elf32_Word vd_aux; 762 Elf32_Word vd_next; 763 } 764 765 struct Elf64_Verdef 766 { 767 Elf64_Half vd_version; 768 Elf64_Half vd_flags; 769 Elf64_Half vd_ndx; 770 Elf64_Half vd_cnt; 771 Elf64_Word vd_hash; 772 Elf64_Word vd_aux; 773 Elf64_Word vd_next; 774 } 775 enum VER_DEF_NONE = 0; 776 enum VER_DEF_CURRENT = 1; 777 enum VER_DEF_NUM = 2; 778 enum VER_FLG_BASE = 0x1; 779 enum VER_FLG_WEAK = 0x2; 780 enum VER_NDX_LOCAL = 0; 781 enum VER_NDX_GLOBAL = 1; 782 enum VER_NDX_LORESERVE = 0xff00; 783 enum VER_NDX_ELIMINATE = 0xff01; 784 785 struct Elf32_Verdaux 786 { 787 Elf32_Word vda_name; 788 Elf32_Word vda_next; 789 } 790 791 struct Elf64_Verdaux 792 { 793 Elf64_Word vda_name; 794 Elf64_Word vda_next; 795 } 796 797 struct Elf32_Verneed 798 { 799 Elf32_Half vn_version; 800 Elf32_Half vn_cnt; 801 Elf32_Word vn_file; 802 Elf32_Word vn_aux; 803 Elf32_Word vn_next; 804 } 805 806 struct Elf64_Verneed 807 { 808 Elf64_Half vn_version; 809 Elf64_Half vn_cnt; 810 Elf64_Word vn_file; 811 Elf64_Word vn_aux; 812 Elf64_Word vn_next; 813 } 814 enum VER_NEED_NONE = 0; 815 enum VER_NEED_CURRENT = 1; 816 enum VER_NEED_NUM = 2; 817 818 struct Elf32_Vernaux 819 { 820 Elf32_Word vna_hash; 821 Elf32_Half vna_flags; 822 Elf32_Half vna_other; 823 Elf32_Word vna_name; 824 Elf32_Word vna_next; 825 } 826 827 struct Elf64_Vernaux 828 { 829 Elf64_Word vna_hash; 830 Elf64_Half vna_flags; 831 Elf64_Half vna_other; 832 Elf64_Word vna_name; 833 Elf64_Word vna_next; 834 } 835 836 enum ELF_NOTE_SOLARIS = "SUNW Solaris"; 837 enum ELF_NOTE_GNU = "GNU"; 838 enum ELF_NOTE_PAGESIZE_HINT = 1; 839 enum ELF_NOTE_ABI = 1; 840 enum ELF_NOTE_OS_LINUX = 0; 841 enum ELF_NOTE_OS_GNU = 1; 842 enum ELF_NOTE_OS_SOLARIS2 = 2; 843 enum ELF_NOTE_OS_FREEBSD = 3; 844 845 struct Elf32_Move 846 { 847 Elf32_Xword m_value; 848 Elf32_Word m_info; 849 Elf32_Word m_poffset; 850 Elf32_Half m_repeat; 851 Elf32_Half m_stride; 852 } 853 854 struct Elf64_Move 855 { 856 Elf64_Xword m_value; 857 Elf64_Xword m_info; 858 Elf64_Xword m_poffset; 859 Elf64_Half m_repeat; 860 Elf64_Half m_stride; 861 } 862 extern (D) 863 { 864 auto ELF32_M_SYM(I)(I info) { return info >> 8; } 865 auto ELF32_M_SIZE(I)(I info) { return cast(ubyte)info; } 866 auto ELF32_M_INFO(S, SZ)(S sym, SZ size) { return (sym << 8) + cast(ubyte)size; } 867 } 868 869 alias ELF32_M_SYM ELF64_M_SYM; 870 alias ELF32_M_SIZE ELF64_M_SIZE; 871 alias ELF32_M_INFO ELF64_M_INFO; 872 enum EF_CPU32 = 0x00810000; 873 874 enum R_68K_NONE = 0; 875 enum R_68K_32 = 1; 876 enum R_68K_16 = 2; 877 enum R_68K_8 = 3; 878 enum R_68K_PC32 = 4; 879 enum R_68K_PC16 = 5; 880 enum R_68K_PC8 = 6; 881 enum R_68K_GOT32 = 7; 882 enum R_68K_GOT16 = 8; 883 enum R_68K_GOT8 = 9; 884 enum R_68K_GOT32O = 10; 885 enum R_68K_GOT16O = 11; 886 enum R_68K_GOT8O = 12; 887 enum R_68K_PLT32 = 13; 888 enum R_68K_PLT16 = 14; 889 enum R_68K_PLT8 = 15; 890 enum R_68K_PLT32O = 16; 891 enum R_68K_PLT16O = 17; 892 enum R_68K_PLT8O = 18; 893 enum R_68K_COPY = 19; 894 enum R_68K_GLOB_DAT = 20; 895 enum R_68K_JMP_SLOT = 21; 896 enum R_68K_RELATIVE = 22; 897 enum R_68K_TLS_GD32 = 25; 898 enum R_68K_TLS_GD16 = 26; 899 enum R_68K_TLS_GD8 = 27; 900 enum R_68K_TLS_LDM32 = 28; 901 enum R_68K_TLS_LDM16 = 29; 902 enum R_68K_TLS_LDM8 = 30; 903 enum R_68K_TLS_LDO32 = 31; 904 enum R_68K_TLS_LDO16 = 32; 905 enum R_68K_TLS_LDO8 = 33; 906 enum R_68K_TLS_IE32 = 34; 907 enum R_68K_TLS_IE16 = 35; 908 enum R_68K_TLS_IE8 = 36; 909 enum R_68K_TLS_LE32 = 37; 910 enum R_68K_TLS_LE16 = 38; 911 enum R_68K_TLS_LE8 = 39; 912 enum R_68K_TLS_DTPMOD32 = 40; 913 enum R_68K_TLS_DTPREL32 = 41; 914 enum R_68K_TLS_TPREL32 = 42; 915 enum R_68K_NUM = 43; 916 917 enum R_386_NONE = 0; 918 enum R_386_32 = 1; 919 enum R_386_PC32 = 2; 920 enum R_386_GOT32 = 3; 921 enum R_386_PLT32 = 4; 922 enum R_386_COPY = 5; 923 enum R_386_GLOB_DAT = 6; 924 enum R_386_JMP_SLOT = 7; 925 enum R_386_RELATIVE = 8; 926 enum R_386_GOTOFF = 9; 927 enum R_386_GOTPC = 10; 928 enum R_386_32PLT = 11; 929 enum R_386_TLS_TPOFF = 14; 930 enum R_386_TLS_IE = 15; 931 enum R_386_TLS_GOTIE = 16; 932 enum R_386_TLS_LE = 17; 933 enum R_386_TLS_GD = 18; 934 enum R_386_TLS_LDM = 19; 935 enum R_386_16 = 20; 936 enum R_386_PC16 = 21; 937 enum R_386_8 = 22; 938 enum R_386_PC8 = 23; 939 enum R_386_TLS_GD_32 = 24; 940 enum R_386_TLS_GD_PUSH = 25; 941 enum R_386_TLS_GD_CALL = 26; 942 enum R_386_TLS_GD_POP = 27; 943 enum R_386_TLS_LDM_32 = 28; 944 enum R_386_TLS_LDM_PUSH = 29; 945 enum R_386_TLS_LDM_CALL = 30; 946 enum R_386_TLS_LDM_POP = 31; 947 enum R_386_TLS_LDO_32 = 32; 948 enum R_386_TLS_IE_32 = 33; 949 enum R_386_TLS_LE_32 = 34; 950 enum R_386_TLS_DTPMOD32 = 35; 951 enum R_386_TLS_DTPOFF32 = 36; 952 enum R_386_TLS_TPOFF32 = 37; 953 enum R_386_SIZE32 = 38; 954 enum R_386_TLS_GOTDESC = 39; 955 enum R_386_TLS_DESC_CALL = 40; 956 enum R_386_TLS_DESC = 41; 957 enum R_386_IRELATIVE = 42; 958 enum R_386_NUM = 43; 959 960 enum STT_SPARC_REGISTER = 13; 961 962 enum EF_SPARCV9_MM = 3; 963 enum EF_SPARCV9_TSO = 0; 964 enum EF_SPARCV9_PSO = 1; 965 enum EF_SPARCV9_RMO = 2; 966 enum EF_SPARC_LEDATA = 0x800000; 967 enum EF_SPARC_EXT_MASK = 0xFFFF00; 968 enum EF_SPARC_32PLUS = 0x000100; 969 enum EF_SPARC_SUN_US1 = 0x000200; 970 enum EF_SPARC_HAL_R1 = 0x000400; 971 enum EF_SPARC_SUN_US3 = 0x000800; 972 973 enum R_SPARC_NONE = 0; 974 enum R_SPARC_8 = 1; 975 enum R_SPARC_16 = 2; 976 enum R_SPARC_32 = 3; 977 enum R_SPARC_DISP8 = 4; 978 enum R_SPARC_DISP16 = 5; 979 enum R_SPARC_DISP32 = 6; 980 enum R_SPARC_WDISP30 = 7; 981 enum R_SPARC_WDISP22 = 8; 982 enum R_SPARC_HI22 = 9; 983 enum R_SPARC_22 = 10; 984 enum R_SPARC_13 = 11; 985 enum R_SPARC_LO10 = 12; 986 enum R_SPARC_GOT10 = 13; 987 enum R_SPARC_GOT13 = 14; 988 enum R_SPARC_GOT22 = 15; 989 enum R_SPARC_PC10 = 16; 990 enum R_SPARC_PC22 = 17; 991 enum R_SPARC_WPLT30 = 18; 992 enum R_SPARC_COPY = 19; 993 enum R_SPARC_GLOB_DAT = 20; 994 enum R_SPARC_JMP_SLOT = 21; 995 enum R_SPARC_RELATIVE = 22; 996 enum R_SPARC_UA32 = 23; 997 998 enum R_SPARC_PLT32 = 24; 999 enum R_SPARC_HIPLT22 = 25; 1000 enum R_SPARC_LOPLT10 = 26; 1001 enum R_SPARC_PCPLT32 = 27; 1002 enum R_SPARC_PCPLT22 = 28; 1003 enum R_SPARC_PCPLT10 = 29; 1004 enum R_SPARC_10 = 30; 1005 enum R_SPARC_11 = 31; 1006 enum R_SPARC_64 = 32; 1007 enum R_SPARC_OLO10 = 33; 1008 enum R_SPARC_HH22 = 34; 1009 enum R_SPARC_HM10 = 35; 1010 enum R_SPARC_LM22 = 36; 1011 enum R_SPARC_PC_HH22 = 37; 1012 enum R_SPARC_PC_HM10 = 38; 1013 enum R_SPARC_PC_LM22 = 39; 1014 enum R_SPARC_WDISP16 = 40; 1015 enum R_SPARC_WDISP19 = 41; 1016 enum R_SPARC_GLOB_JMP = 42; 1017 enum R_SPARC_7 = 43; 1018 enum R_SPARC_5 = 44; 1019 enum R_SPARC_6 = 45; 1020 enum R_SPARC_DISP64 = 46; 1021 enum R_SPARC_PLT64 = 47; 1022 enum R_SPARC_HIX22 = 48; 1023 enum R_SPARC_LOX10 = 49; 1024 enum R_SPARC_H44 = 50; 1025 enum R_SPARC_M44 = 51; 1026 enum R_SPARC_L44 = 52; 1027 enum R_SPARC_REGISTER = 53; 1028 enum R_SPARC_UA64 = 54; 1029 enum R_SPARC_UA16 = 55; 1030 enum R_SPARC_TLS_GD_HI22 = 56; 1031 enum R_SPARC_TLS_GD_LO10 = 57; 1032 enum R_SPARC_TLS_GD_ADD = 58; 1033 enum R_SPARC_TLS_GD_CALL = 59; 1034 enum R_SPARC_TLS_LDM_HI22 = 60; 1035 enum R_SPARC_TLS_LDM_LO10 = 61; 1036 enum R_SPARC_TLS_LDM_ADD = 62; 1037 enum R_SPARC_TLS_LDM_CALL = 63; 1038 enum R_SPARC_TLS_LDO_HIX22 = 64; 1039 enum R_SPARC_TLS_LDO_LOX10 = 65; 1040 enum R_SPARC_TLS_LDO_ADD = 66; 1041 enum R_SPARC_TLS_IE_HI22 = 67; 1042 enum R_SPARC_TLS_IE_LO10 = 68; 1043 enum R_SPARC_TLS_IE_LD = 69; 1044 enum R_SPARC_TLS_IE_LDX = 70; 1045 enum R_SPARC_TLS_IE_ADD = 71; 1046 enum R_SPARC_TLS_LE_HIX22 = 72; 1047 enum R_SPARC_TLS_LE_LOX10 = 73; 1048 enum R_SPARC_TLS_DTPMOD32 = 74; 1049 enum R_SPARC_TLS_DTPMOD64 = 75; 1050 enum R_SPARC_TLS_DTPOFF32 = 76; 1051 enum R_SPARC_TLS_DTPOFF64 = 77; 1052 enum R_SPARC_TLS_TPOFF32 = 78; 1053 enum R_SPARC_TLS_TPOFF64 = 79; 1054 enum R_SPARC_GOTDATA_HIX22 = 80; 1055 enum R_SPARC_GOTDATA_LOX10 = 81; 1056 enum R_SPARC_GOTDATA_OP_HIX22 = 82; 1057 enum R_SPARC_GOTDATA_OP_LOX10 = 83; 1058 enum R_SPARC_GOTDATA_OP = 84; 1059 enum R_SPARC_H34 = 85; 1060 enum R_SPARC_SIZE32 = 86; 1061 enum R_SPARC_SIZE64 = 87; 1062 enum R_SPARC_WDISP10 = 88; 1063 enum R_SPARC_JMP_IREL = 248; 1064 enum R_SPARC_IRELATIVE = 249; 1065 enum R_SPARC_GNU_VTINHERIT = 250; 1066 enum R_SPARC_GNU_VTENTRY = 251; 1067 enum R_SPARC_REV32 = 252; 1068 enum R_SPARC_NUM = 253; 1069 1070 enum DT_SPARC_REGISTER = 0x70000001; 1071 enum DT_SPARC_NUM = 2; 1072 1073 enum EF_MIPS_NOREORDER = 1; 1074 enum EF_MIPS_PIC = 2; 1075 enum EF_MIPS_CPIC = 4; 1076 enum EF_MIPS_XGOT = 8; 1077 enum EF_MIPS_64BIT_WHIRL = 16; 1078 enum EF_MIPS_ABI2 = 32; 1079 enum EF_MIPS_ABI_ON32 = 64; 1080 enum EF_MIPS_ARCH = 0xf0000000; 1081 1082 enum EF_MIPS_ARCH_1 = 0x00000000; 1083 enum EF_MIPS_ARCH_2 = 0x10000000; 1084 enum EF_MIPS_ARCH_3 = 0x20000000; 1085 enum EF_MIPS_ARCH_4 = 0x30000000; 1086 enum EF_MIPS_ARCH_5 = 0x40000000; 1087 enum EF_MIPS_ARCH_32 = 0x50000000; 1088 enum EF_MIPS_ARCH_64 = 0x60000000; 1089 enum EF_MIPS_ARCH_32R2 = 0x70000000; 1090 enum EF_MIPS_ARCH_64R2 = 0x80000000; 1091 1092 enum E_MIPS_ARCH_1 = EF_MIPS_ARCH_1; 1093 enum E_MIPS_ARCH_2 = EF_MIPS_ARCH_2; 1094 enum E_MIPS_ARCH_3 = EF_MIPS_ARCH_3; 1095 enum E_MIPS_ARCH_4 = EF_MIPS_ARCH_4; 1096 enum E_MIPS_ARCH_5 = EF_MIPS_ARCH_5; 1097 enum E_MIPS_ARCH_32 = EF_MIPS_ARCH_32; 1098 enum E_MIPS_ARCH_64 = EF_MIPS_ARCH_64; 1099 1100 enum SHN_MIPS_ACOMMON = 0xff00; 1101 enum SHN_MIPS_TEXT = 0xff01; 1102 enum SHN_MIPS_DATA = 0xff02; 1103 enum SHN_MIPS_SCOMMON = 0xff03; 1104 enum SHN_MIPS_SUNDEFINED = 0xff04; 1105 1106 enum SHT_MIPS_LIBLIST = 0x70000000; 1107 enum SHT_MIPS_MSYM = 0x70000001; 1108 enum SHT_MIPS_CONFLICT = 0x70000002; 1109 enum SHT_MIPS_GPTAB = 0x70000003; 1110 enum SHT_MIPS_UCODE = 0x70000004; 1111 enum SHT_MIPS_DEBUG = 0x70000005; 1112 enum SHT_MIPS_REGINFO = 0x70000006; 1113 enum SHT_MIPS_PACKAGE = 0x70000007; 1114 enum SHT_MIPS_PACKSYM = 0x70000008; 1115 enum SHT_MIPS_RELD = 0x70000009; 1116 enum SHT_MIPS_IFACE = 0x7000000b; 1117 enum SHT_MIPS_CONTENT = 0x7000000c; 1118 enum SHT_MIPS_OPTIONS = 0x7000000d; 1119 enum SHT_MIPS_SHDR = 0x70000010; 1120 enum SHT_MIPS_FDESC = 0x70000011; 1121 enum SHT_MIPS_EXTSYM = 0x70000012; 1122 enum SHT_MIPS_DENSE = 0x70000013; 1123 enum SHT_MIPS_PDESC = 0x70000014; 1124 enum SHT_MIPS_LOCSYM = 0x70000015; 1125 enum SHT_MIPS_AUXSYM = 0x70000016; 1126 enum SHT_MIPS_OPTSYM = 0x70000017; 1127 enum SHT_MIPS_LOCSTR = 0x70000018; 1128 enum SHT_MIPS_LINE = 0x70000019; 1129 enum SHT_MIPS_RFDESC = 0x7000001a; 1130 enum SHT_MIPS_DELTASYM = 0x7000001b; 1131 enum SHT_MIPS_DELTAINST = 0x7000001c; 1132 enum SHT_MIPS_DELTACLASS = 0x7000001d; 1133 enum SHT_MIPS_DWARF = 0x7000001e; 1134 enum SHT_MIPS_DELTADECL = 0x7000001f; 1135 enum SHT_MIPS_SYMBOL_LIB = 0x70000020; 1136 enum SHT_MIPS_EVENTS = 0x70000021; 1137 enum SHT_MIPS_TRANSLATE = 0x70000022; 1138 enum SHT_MIPS_PIXIE = 0x70000023; 1139 enum SHT_MIPS_XLATE = 0x70000024; 1140 enum SHT_MIPS_XLATE_DEBUG = 0x70000025; 1141 enum SHT_MIPS_WHIRL = 0x70000026; 1142 enum SHT_MIPS_EH_REGION = 0x70000027; 1143 enum SHT_MIPS_XLATE_OLD = 0x70000028; 1144 enum SHT_MIPS_PDR_EXCEPTION = 0x70000029; 1145 1146 enum SHF_MIPS_GPREL = 0x10000000; 1147 enum SHF_MIPS_MERGE = 0x20000000; 1148 enum SHF_MIPS_ADDR = 0x40000000; 1149 enum SHF_MIPS_STRINGS = 0x80000000; 1150 enum SHF_MIPS_NOSTRIP = 0x08000000; 1151 enum SHF_MIPS_LOCAL = 0x04000000; 1152 enum SHF_MIPS_NAMES = 0x02000000; 1153 enum SHF_MIPS_NODUPE = 0x01000000; 1154 enum STO_MIPS_DEFAULT = 0x0; 1155 enum STO_MIPS_INTERNAL = 0x1; 1156 enum STO_MIPS_HIDDEN = 0x2; 1157 enum STO_MIPS_PROTECTED = 0x3; 1158 enum STO_MIPS_PLT = 0x8; 1159 enum STO_MIPS_SC_ALIGN_UNUSED = 0xff; 1160 enum STB_MIPS_SPLIT_COMMON = 13; 1161 1162 union Elf32_gptab 1163 { 1164 struct _gt_header 1165 { 1166 Elf32_Word gt_current_g_value; 1167 Elf32_Word gt_unused; 1168 } _gt_header gt_header; 1169 struct _gt_entry 1170 { 1171 Elf32_Word gt_g_value; 1172 Elf32_Word gt_bytes; 1173 } _gt_entry gt_entry; 1174 } 1175 1176 struct Elf32_RegInfo 1177 { 1178 Elf32_Word ri_gprmask; 1179 Elf32_Word[4] ri_cprmask; 1180 Elf32_Sword ri_gp_value; 1181 } 1182 1183 struct Elf_Options 1184 { 1185 ubyte kind; 1186 ubyte size; 1187 Elf32_Section section; 1188 Elf32_Word info; 1189 } 1190 1191 enum ODK_NULL = 0; 1192 enum ODK_REGINFO = 1; 1193 enum ODK_EXCEPTIONS = 2; 1194 enum ODK_PAD = 3; 1195 enum ODK_HWPATCH = 4; 1196 enum ODK_FILL = 5; 1197 enum ODK_TAGS = 6; 1198 enum ODK_HWAND = 7; 1199 enum ODK_HWOR = 8; 1200 1201 enum OEX_FPU_MIN = 0x1f; 1202 enum OEX_FPU_MAX = 0x1f00; 1203 enum OEX_PAGE0 = 0x10000; 1204 enum OEX_SMM = 0x20000; 1205 enum OEX_FPDBUG = 0x40000; 1206 enum OEX_PRECISEFP = OEX_FPDBUG; 1207 enum OEX_DISMISS = 0x80000; 1208 1209 enum OEX_FPU_INVAL = 0x10; 1210 enum OEX_FPU_DIV0 = 0x08; 1211 enum OEX_FPU_OFLO = 0x04; 1212 enum OEX_FPU_UFLO = 0x02; 1213 enum OEX_FPU_INEX = 0x01; 1214 1215 enum OHW_R4KEOP = 0x1; 1216 enum OHW_R8KPFETCH = 0x2; 1217 enum OHW_R5KEOP = 0x4; 1218 enum OHW_R5KCVTL = 0x8; 1219 1220 enum OPAD_PREFIX = 0x1; 1221 enum OPAD_POSTFIX = 0x2; 1222 enum OPAD_SYMBOL = 0x4; 1223 1224 struct Elf_Options_Hw 1225 { 1226 Elf32_Word hwp_flags1; 1227 Elf32_Word hwp_flags2; 1228 } 1229 1230 enum OHWA0_R4KEOP_CHECKED = 0x00000001; 1231 enum OHWA1_R4KEOP_CLEAN = 0x00000002; 1232 1233 enum R_MIPS_NONE = 0; 1234 enum R_MIPS_16 = 1; 1235 enum R_MIPS_32 = 2; 1236 enum R_MIPS_REL32 = 3; 1237 enum R_MIPS_26 = 4; 1238 enum R_MIPS_HI16 = 5; 1239 enum R_MIPS_LO16 = 6; 1240 enum R_MIPS_GPREL16 = 7; 1241 enum R_MIPS_LITERAL = 8; 1242 enum R_MIPS_GOT16 = 9; 1243 enum R_MIPS_PC16 = 10; 1244 enum R_MIPS_CALL16 = 11; 1245 enum R_MIPS_GPREL32 = 12; 1246 1247 enum R_MIPS_SHIFT5 = 16; 1248 enum R_MIPS_SHIFT6 = 17; 1249 enum R_MIPS_64 = 18; 1250 enum R_MIPS_GOT_DISP = 19; 1251 enum R_MIPS_GOT_PAGE = 20; 1252 enum R_MIPS_GOT_OFST = 21; 1253 enum R_MIPS_GOT_HI16 = 22; 1254 enum R_MIPS_GOT_LO16 = 23; 1255 enum R_MIPS_SUB = 24; 1256 enum R_MIPS_INSERT_A = 25; 1257 enum R_MIPS_INSERT_B = 26; 1258 enum R_MIPS_DELETE = 27; 1259 enum R_MIPS_HIGHER = 28; 1260 enum R_MIPS_HIGHEST = 29; 1261 enum R_MIPS_CALL_HI16 = 30; 1262 enum R_MIPS_CALL_LO16 = 31; 1263 enum R_MIPS_SCN_DISP = 32; 1264 enum R_MIPS_REL16 = 33; 1265 enum R_MIPS_ADD_IMMEDIATE = 34; 1266 enum R_MIPS_PJUMP = 35; 1267 enum R_MIPS_RELGOT = 36; 1268 enum R_MIPS_JALR = 37; 1269 enum R_MIPS_TLS_DTPMOD32 = 38; 1270 enum R_MIPS_TLS_DTPREL32 = 39; 1271 enum R_MIPS_TLS_DTPMOD64 = 40; 1272 enum R_MIPS_TLS_DTPREL64 = 41; 1273 enum R_MIPS_TLS_GD = 42; 1274 enum R_MIPS_TLS_LDM = 43; 1275 enum R_MIPS_TLS_DTPREL_HI16 = 44; 1276 enum R_MIPS_TLS_DTPREL_LO16 = 45; 1277 enum R_MIPS_TLS_GOTTPREL = 46; 1278 enum R_MIPS_TLS_TPREL32 = 47; 1279 enum R_MIPS_TLS_TPREL64 = 48; 1280 enum R_MIPS_TLS_TPREL_HI16 = 49; 1281 enum R_MIPS_TLS_TPREL_LO16 = 50; 1282 enum R_MIPS_GLOB_DAT = 51; 1283 enum R_MIPS_COPY = 126; 1284 enum R_MIPS_JUMP_SLOT = 127; 1285 enum R_MIPS_NUM = 128; 1286 1287 enum PT_MIPS_REGINFO = 0x70000000; 1288 enum PT_MIPS_RTPROC = 0x70000001; 1289 enum PT_MIPS_OPTIONS = 0x70000002; 1290 1291 enum PF_MIPS_LOCAL = 0x10000000; 1292 1293 enum DT_MIPS_RLD_VERSION = 0x70000001; 1294 enum DT_MIPS_TIME_STAMP = 0x70000002; 1295 enum DT_MIPS_ICHECKSUM = 0x70000003; 1296 enum DT_MIPS_IVERSION = 0x70000004; 1297 enum DT_MIPS_FLAGS = 0x70000005; 1298 enum DT_MIPS_BASE_ADDRESS = 0x70000006; 1299 enum DT_MIPS_MSYM = 0x70000007; 1300 enum DT_MIPS_CONFLICT = 0x70000008; 1301 enum DT_MIPS_LIBLIST = 0x70000009; 1302 enum DT_MIPS_LOCAL_GOTNO = 0x7000000a; 1303 enum DT_MIPS_CONFLICTNO = 0x7000000b; 1304 enum DT_MIPS_LIBLISTNO = 0x70000010; 1305 enum DT_MIPS_SYMTABNO = 0x70000011; 1306 enum DT_MIPS_UNREFEXTNO = 0x70000012; 1307 enum DT_MIPS_GOTSYM = 0x70000013; 1308 enum DT_MIPS_HIPAGENO = 0x70000014; 1309 enum DT_MIPS_RLD_MAP = 0x70000016; 1310 enum DT_MIPS_DELTA_CLASS = 0x70000017; 1311 enum DT_MIPS_DELTA_CLASS_NO = 0x70000018; 1312 enum DT_MIPS_DELTA_INSTANCE = 0x70000019; 1313 enum DT_MIPS_DELTA_INSTANCE_NO = 0x7000001a; 1314 enum DT_MIPS_DELTA_RELOC = 0x7000001b; 1315 enum DT_MIPS_DELTA_RELOC_NO = 0x7000001c; 1316 enum DT_MIPS_DELTA_SYM = 0x7000001d; 1317 enum DT_MIPS_DELTA_SYM_NO = 0x7000001e; 1318 enum DT_MIPS_DELTA_CLASSSYM = 0x70000020; 1319 enum DT_MIPS_DELTA_CLASSSYM_NO = 0x70000021; 1320 enum DT_MIPS_CXX_FLAGS = 0x70000022; 1321 enum DT_MIPS_PIXIE_INIT = 0x70000023; 1322 enum DT_MIPS_SYMBOL_LIB = 0x70000024; 1323 enum DT_MIPS_LOCALPAGE_GOTIDX = 0x70000025; 1324 enum DT_MIPS_LOCAL_GOTIDX = 0x70000026; 1325 enum DT_MIPS_HIDDEN_GOTIDX = 0x70000027; 1326 enum DT_MIPS_PROTECTED_GOTIDX = 0x70000028; 1327 enum DT_MIPS_OPTIONS = 0x70000029; 1328 enum DT_MIPS_INTERFACE = 0x7000002a; 1329 enum DT_MIPS_DYNSTR_ALIGN = 0x7000002b; 1330 enum DT_MIPS_INTERFACE_SIZE = 0x7000002c; 1331 enum DT_MIPS_RLD_TEXT_RESOLVE_ADDR = 0x7000002d; 1332 enum DT_MIPS_PERF_SUFFIX = 0x7000002e; 1333 enum DT_MIPS_COMPACT_SIZE = 0x7000002f; 1334 enum DT_MIPS_GP_VALUE = 0x70000030; 1335 enum DT_MIPS_AUX_DYNAMIC = 0x70000031; 1336 enum DT_MIPS_PLTGOT = 0x70000032; 1337 enum DT_MIPS_RWPLT = 0x70000034; 1338 enum DT_MIPS_NUM = 0x35; 1339 1340 enum RHF_NONE = 0; 1341 enum RHF_QUICKSTART = (1 << 0); 1342 enum RHF_NOTPOT = (1 << 1); 1343 enum RHF_NO_LIBRARY_REPLACEMENT = (1 << 2); 1344 enum RHF_NO_MOVE = (1 << 3); 1345 enum RHF_SGI_ONLY = (1 << 4); 1346 enum RHF_GUARANTEE_INIT = (1 << 5); 1347 enum RHF_DELTA_C_PLUS_PLUS = (1 << 6); 1348 enum RHF_GUARANTEE_START_INIT = (1 << 7); 1349 enum RHF_PIXIE = (1 << 8); 1350 enum RHF_DEFAULT_DELAY_LOAD = (1 << 9); 1351 enum RHF_REQUICKSTART = (1 << 10); 1352 enum RHF_REQUICKSTARTED = (1 << 11); 1353 enum RHF_CORD = (1 << 12); 1354 enum RHF_NO_UNRES_UNDEF = (1 << 13); 1355 enum RHF_RLD_ORDER_SAFE = (1 << 14); 1356 1357 struct Elf32_Lib 1358 { 1359 Elf32_Word l_name; 1360 Elf32_Word l_time_stamp; 1361 Elf32_Word l_checksum; 1362 Elf32_Word l_version; 1363 Elf32_Word l_flags; 1364 } 1365 1366 struct Elf64_Lib 1367 { 1368 Elf64_Word l_name; 1369 Elf64_Word l_time_stamp; 1370 Elf64_Word l_checksum; 1371 Elf64_Word l_version; 1372 Elf64_Word l_flags; 1373 } 1374 1375 enum LL_NONE = 0; 1376 enum LL_EXACT_MATCH = (1 << 0); 1377 enum LL_IGNORE_INT_VER = (1 << 1); 1378 enum LL_REQUIRE_MINOR = (1 << 2); 1379 enum LL_EXPORTS = (1 << 3); 1380 enum LL_DELAY_LOAD = (1 << 4); 1381 enum LL_DELTA = (1 << 5); 1382 1383 alias Elf32_Addr Elf32_Conflict; 1384 1385 enum EF_PARISC_TRAPNIL = 0x00010000; 1386 enum EF_PARISC_EXT = 0x00020000; 1387 enum EF_PARISC_LSB = 0x00040000; 1388 enum EF_PARISC_WIDE = 0x00080000; 1389 enum EF_PARISC_NO_KABP = 0x00100000; 1390 enum EF_PARISC_LAZYSWAP = 0x00400000; 1391 enum EF_PARISC_ARCH = 0x0000ffff; 1392 1393 enum EFA_PARISC_1_0 = 0x020b; 1394 enum EFA_PARISC_1_1 = 0x0210; 1395 enum EFA_PARISC_2_0 = 0x0214; 1396 1397 enum SHN_PARISC_ANSI_COMMON = 0xff00; 1398 enum SHN_PARISC_HUGE_COMMON = 0xff01; 1399 1400 enum SHT_PARISC_EXT = 0x70000000; 1401 enum SHT_PARISC_UNWIND = 0x70000001; 1402 enum SHT_PARISC_DOC = 0x70000002; 1403 1404 enum SHF_PARISC_SHORT = 0x20000000; 1405 enum SHF_PARISC_HUGE = 0x40000000; 1406 enum SHF_PARISC_SBP = 0x80000000; 1407 1408 enum STT_PARISC_MILLICODE = 13; 1409 1410 enum STT_HP_OPAQUE = (STT_LOOS + 0x1); 1411 enum STT_HP_STUB = (STT_LOOS + 0x2); 1412 1413 enum R_PARISC_NONE = 0; 1414 enum R_PARISC_DIR32 = 1; 1415 enum R_PARISC_DIR21L = 2; 1416 enum R_PARISC_DIR17R = 3; 1417 enum R_PARISC_DIR17F = 4; 1418 enum R_PARISC_DIR14R = 6; 1419 enum R_PARISC_PCREL32 = 9; 1420 enum R_PARISC_PCREL21L = 10; 1421 enum R_PARISC_PCREL17R = 11; 1422 enum R_PARISC_PCREL17F = 12; 1423 enum R_PARISC_PCREL14R = 14; 1424 enum R_PARISC_DPREL21L = 18; 1425 enum R_PARISC_DPREL14R = 22; 1426 enum R_PARISC_GPREL21L = 26; 1427 enum R_PARISC_GPREL14R = 30; 1428 enum R_PARISC_LTOFF21L = 34; 1429 enum R_PARISC_LTOFF14R = 38; 1430 enum R_PARISC_SECREL32 = 41; 1431 enum R_PARISC_SEGBASE = 48; 1432 enum R_PARISC_SEGREL32 = 49; 1433 enum R_PARISC_PLTOFF21L = 50; 1434 enum R_PARISC_PLTOFF14R = 54; 1435 enum R_PARISC_LTOFF_FPTR32 = 57; 1436 enum R_PARISC_LTOFF_FPTR21L = 58; 1437 enum R_PARISC_LTOFF_FPTR14R = 62; 1438 enum R_PARISC_FPTR64 = 64; 1439 enum R_PARISC_PLABEL32 = 65; 1440 enum R_PARISC_PLABEL21L = 66; 1441 enum R_PARISC_PLABEL14R = 70; 1442 enum R_PARISC_PCREL64 = 72; 1443 enum R_PARISC_PCREL22F = 74; 1444 enum R_PARISC_PCREL14WR = 75; 1445 enum R_PARISC_PCREL14DR = 76; 1446 enum R_PARISC_PCREL16F = 77; 1447 enum R_PARISC_PCREL16WF = 78; 1448 enum R_PARISC_PCREL16DF = 79; 1449 enum R_PARISC_DIR64 = 80; 1450 enum R_PARISC_DIR14WR = 83; 1451 enum R_PARISC_DIR14DR = 84; 1452 enum R_PARISC_DIR16F = 85; 1453 enum R_PARISC_DIR16WF = 86; 1454 enum R_PARISC_DIR16DF = 87; 1455 enum R_PARISC_GPREL64 = 88; 1456 enum R_PARISC_GPREL14WR = 91; 1457 enum R_PARISC_GPREL14DR = 92; 1458 enum R_PARISC_GPREL16F = 93; 1459 enum R_PARISC_GPREL16WF = 94; 1460 enum R_PARISC_GPREL16DF = 95; 1461 enum R_PARISC_LTOFF64 = 96; 1462 enum R_PARISC_LTOFF14WR = 99; 1463 enum R_PARISC_LTOFF14DR = 100; 1464 enum R_PARISC_LTOFF16F = 101; 1465 enum R_PARISC_LTOFF16WF = 102; 1466 enum R_PARISC_LTOFF16DF = 103; 1467 enum R_PARISC_SECREL64 = 104; 1468 enum R_PARISC_SEGREL64 = 112; 1469 enum R_PARISC_PLTOFF14WR = 115; 1470 enum R_PARISC_PLTOFF14DR = 116; 1471 enum R_PARISC_PLTOFF16F = 117; 1472 enum R_PARISC_PLTOFF16WF = 118; 1473 enum R_PARISC_PLTOFF16DF = 119; 1474 enum R_PARISC_LTOFF_FPTR64 = 120; 1475 enum R_PARISC_LTOFF_FPTR14WR = 123; 1476 enum R_PARISC_LTOFF_FPTR14DR = 124; 1477 enum R_PARISC_LTOFF_FPTR16F = 125; 1478 enum R_PARISC_LTOFF_FPTR16WF = 126; 1479 enum R_PARISC_LTOFF_FPTR16DF = 127; 1480 enum R_PARISC_LORESERVE = 128; 1481 enum R_PARISC_COPY = 128; 1482 enum R_PARISC_IPLT = 129; 1483 enum R_PARISC_EPLT = 130; 1484 enum R_PARISC_TPREL32 = 153; 1485 enum R_PARISC_TPREL21L = 154; 1486 enum R_PARISC_TPREL14R = 158; 1487 enum R_PARISC_LTOFF_TP21L = 162; 1488 enum R_PARISC_LTOFF_TP14R = 166; 1489 enum R_PARISC_LTOFF_TP14F = 167; 1490 enum R_PARISC_TPREL64 = 216; 1491 enum R_PARISC_TPREL14WR = 219; 1492 enum R_PARISC_TPREL14DR = 220; 1493 enum R_PARISC_TPREL16F = 221; 1494 enum R_PARISC_TPREL16WF = 222; 1495 enum R_PARISC_TPREL16DF = 223; 1496 enum R_PARISC_LTOFF_TP64 = 224; 1497 enum R_PARISC_LTOFF_TP14WR = 227; 1498 enum R_PARISC_LTOFF_TP14DR = 228; 1499 enum R_PARISC_LTOFF_TP16F = 229; 1500 enum R_PARISC_LTOFF_TP16WF = 230; 1501 enum R_PARISC_LTOFF_TP16DF = 231; 1502 enum R_PARISC_GNU_VTENTRY = 232; 1503 enum R_PARISC_GNU_VTINHERIT = 233; 1504 enum R_PARISC_TLS_GD21L = 234; 1505 enum R_PARISC_TLS_GD14R = 235; 1506 enum R_PARISC_TLS_GDCALL = 236; 1507 enum R_PARISC_TLS_LDM21L = 237; 1508 enum R_PARISC_TLS_LDM14R = 238; 1509 enum R_PARISC_TLS_LDMCALL = 239; 1510 enum R_PARISC_TLS_LDO21L = 240; 1511 enum R_PARISC_TLS_LDO14R = 241; 1512 enum R_PARISC_TLS_DTPMOD32 = 242; 1513 enum R_PARISC_TLS_DTPMOD64 = 243; 1514 enum R_PARISC_TLS_DTPOFF32 = 244; 1515 enum R_PARISC_TLS_DTPOFF64 = 245; 1516 enum R_PARISC_TLS_LE21L = R_PARISC_TPREL21L; 1517 enum R_PARISC_TLS_LE14R = R_PARISC_TPREL14R; 1518 enum R_PARISC_TLS_IE21L = R_PARISC_LTOFF_TP21L; 1519 enum R_PARISC_TLS_IE14R = R_PARISC_LTOFF_TP14R; 1520 enum R_PARISC_TLS_TPREL32 = R_PARISC_TPREL32; 1521 enum R_PARISC_TLS_TPREL64 = R_PARISC_TPREL64; 1522 enum R_PARISC_HIRESERVE = 255; 1523 1524 enum PT_HP_TLS = (PT_LOOS + 0x0); 1525 enum PT_HP_CORE_NONE = (PT_LOOS + 0x1); 1526 enum PT_HP_CORE_VERSION = (PT_LOOS + 0x2); 1527 enum PT_HP_CORE_KERNEL = (PT_LOOS + 0x3); 1528 enum PT_HP_CORE_COMM = (PT_LOOS + 0x4); 1529 enum PT_HP_CORE_PROC = (PT_LOOS + 0x5); 1530 enum PT_HP_CORE_LOADABLE = (PT_LOOS + 0x6); 1531 enum PT_HP_CORE_STACK = (PT_LOOS + 0x7); 1532 enum PT_HP_CORE_SHM = (PT_LOOS + 0x8); 1533 enum PT_HP_CORE_MMF = (PT_LOOS + 0x9); 1534 enum PT_HP_PARALLEL = (PT_LOOS + 0x10); 1535 enum PT_HP_FASTBIND = (PT_LOOS + 0x11); 1536 enum PT_HP_OPT_ANNOT = (PT_LOOS + 0x12); 1537 enum PT_HP_HSL_ANNOT = (PT_LOOS + 0x13); 1538 enum PT_HP_STACK = (PT_LOOS + 0x14); 1539 1540 enum PT_PARISC_ARCHEXT = 0x70000000; 1541 enum PT_PARISC_UNWIND = 0x70000001; 1542 1543 enum PF_PARISC_SBP = 0x08000000; 1544 1545 enum PF_HP_PAGE_SIZE = 0x00100000; 1546 enum PF_HP_FAR_SHARED = 0x00200000; 1547 enum PF_HP_NEAR_SHARED = 0x00400000; 1548 enum PF_HP_CODE = 0x01000000; 1549 enum PF_HP_MODIFY = 0x02000000; 1550 enum PF_HP_LAZYSWAP = 0x04000000; 1551 enum PF_HP_SBP = 0x08000000; 1552 1553 enum EF_ALPHA_32BIT = 1; 1554 enum EF_ALPHA_CANRELAX = 2; 1555 enum SHT_ALPHA_DEBUG = 0x70000001; 1556 enum SHT_ALPHA_REGINFO = 0x70000002; 1557 1558 enum SHF_ALPHA_GPREL = 0x10000000; 1559 enum STO_ALPHA_NOPV = 0x80; 1560 enum STO_ALPHA_STD_GPLOAD = 0x88; 1561 1562 enum R_ALPHA_NONE = 0; 1563 enum R_ALPHA_REFLONG = 1; 1564 enum R_ALPHA_REFQUAD = 2; 1565 enum R_ALPHA_GPREL32 = 3; 1566 enum R_ALPHA_LITERAL = 4; 1567 enum R_ALPHA_LITUSE = 5; 1568 enum R_ALPHA_GPDISP = 6; 1569 enum R_ALPHA_BRADDR = 7; 1570 enum R_ALPHA_HINT = 8; 1571 enum R_ALPHA_SREL16 = 9; 1572 enum R_ALPHA_SREL32 = 10; 1573 enum R_ALPHA_SREL64 = 11; 1574 enum R_ALPHA_GPRELHIGH = 17; 1575 enum R_ALPHA_GPRELLOW = 18; 1576 enum R_ALPHA_GPREL16 = 19; 1577 enum R_ALPHA_COPY = 24; 1578 enum R_ALPHA_GLOB_DAT = 25; 1579 enum R_ALPHA_JMP_SLOT = 26; 1580 enum R_ALPHA_RELATIVE = 27; 1581 enum R_ALPHA_TLS_GD_HI = 28; 1582 enum R_ALPHA_TLSGD = 29; 1583 enum R_ALPHA_TLS_LDM = 30; 1584 enum R_ALPHA_DTPMOD64 = 31; 1585 enum R_ALPHA_GOTDTPREL = 32; 1586 enum R_ALPHA_DTPREL64 = 33; 1587 enum R_ALPHA_DTPRELHI = 34; 1588 enum R_ALPHA_DTPRELLO = 35; 1589 enum R_ALPHA_DTPREL16 = 36; 1590 enum R_ALPHA_GOTTPREL = 37; 1591 enum R_ALPHA_TPREL64 = 38; 1592 enum R_ALPHA_TPRELHI = 39; 1593 enum R_ALPHA_TPRELLO = 40; 1594 enum R_ALPHA_TPREL16 = 41; 1595 enum R_ALPHA_NUM = 46; 1596 enum LITUSE_ALPHA_ADDR = 0; 1597 enum LITUSE_ALPHA_BASE = 1; 1598 enum LITUSE_ALPHA_BYTOFF = 2; 1599 enum LITUSE_ALPHA_JSR = 3; 1600 enum LITUSE_ALPHA_TLS_GD = 4; 1601 enum LITUSE_ALPHA_TLS_LDM = 5; 1602 enum DT_ALPHA_PLTRO = (DT_LOPROC + 0); 1603 enum DT_ALPHA_NUM = 1; 1604 enum EF_PPC_EMB = 0x80000000; 1605 enum EF_PPC_RELOCATABLE = 0x00010000; 1606 enum EF_PPC_RELOCATABLE_LIB = 0x00008000; 1607 enum R_PPC_NONE = 0; 1608 enum R_PPC_ADDR32 = 1; 1609 enum R_PPC_ADDR24 = 2; 1610 enum R_PPC_ADDR16 = 3; 1611 enum R_PPC_ADDR16_LO = 4; 1612 enum R_PPC_ADDR16_HI = 5; 1613 enum R_PPC_ADDR16_HA = 6; 1614 enum R_PPC_ADDR14 = 7; 1615 enum R_PPC_ADDR14_BRTAKEN = 8; 1616 enum R_PPC_ADDR14_BRNTAKEN = 9; 1617 enum R_PPC_REL24 = 10; 1618 enum R_PPC_REL14 = 11; 1619 enum R_PPC_REL14_BRTAKEN = 12; 1620 enum R_PPC_REL14_BRNTAKEN = 13; 1621 enum R_PPC_GOT16 = 14; 1622 enum R_PPC_GOT16_LO = 15; 1623 enum R_PPC_GOT16_HI = 16; 1624 enum R_PPC_GOT16_HA = 17; 1625 enum R_PPC_PLTREL24 = 18; 1626 enum R_PPC_COPY = 19; 1627 enum R_PPC_GLOB_DAT = 20; 1628 enum R_PPC_JMP_SLOT = 21; 1629 enum R_PPC_RELATIVE = 22; 1630 enum R_PPC_LOCAL24PC = 23; 1631 enum R_PPC_UADDR32 = 24; 1632 enum R_PPC_UADDR16 = 25; 1633 enum R_PPC_REL32 = 26; 1634 enum R_PPC_PLT32 = 27; 1635 enum R_PPC_PLTREL32 = 28; 1636 enum R_PPC_PLT16_LO = 29; 1637 enum R_PPC_PLT16_HI = 30; 1638 enum R_PPC_PLT16_HA = 31; 1639 enum R_PPC_SDAREL16 = 32; 1640 enum R_PPC_SECTOFF = 33; 1641 enum R_PPC_SECTOFF_LO = 34; 1642 enum R_PPC_SECTOFF_HI = 35; 1643 enum R_PPC_SECTOFF_HA = 36; 1644 enum R_PPC_TLS = 67; 1645 enum R_PPC_DTPMOD32 = 68; 1646 enum R_PPC_TPREL16 = 69; 1647 enum R_PPC_TPREL16_LO = 70; 1648 enum R_PPC_TPREL16_HI = 71; 1649 enum R_PPC_TPREL16_HA = 72; 1650 enum R_PPC_TPREL32 = 73; 1651 enum R_PPC_DTPREL16 = 74; 1652 enum R_PPC_DTPREL16_LO = 75; 1653 enum R_PPC_DTPREL16_HI = 76; 1654 enum R_PPC_DTPREL16_HA = 77; 1655 enum R_PPC_DTPREL32 = 78; 1656 enum R_PPC_GOT_TLSGD16 = 79; 1657 enum R_PPC_GOT_TLSGD16_LO = 80; 1658 enum R_PPC_GOT_TLSGD16_HI = 81; 1659 enum R_PPC_GOT_TLSGD16_HA = 82; 1660 enum R_PPC_GOT_TLSLD16 = 83; 1661 enum R_PPC_GOT_TLSLD16_LO = 84; 1662 enum R_PPC_GOT_TLSLD16_HI = 85; 1663 enum R_PPC_GOT_TLSLD16_HA = 86; 1664 enum R_PPC_GOT_TPREL16 = 87; 1665 enum R_PPC_GOT_TPREL16_LO = 88; 1666 enum R_PPC_GOT_TPREL16_HI = 89; 1667 enum R_PPC_GOT_TPREL16_HA = 90; 1668 enum R_PPC_GOT_DTPREL16 = 91; 1669 enum R_PPC_GOT_DTPREL16_LO = 92; 1670 enum R_PPC_GOT_DTPREL16_HI = 93; 1671 enum R_PPC_GOT_DTPREL16_HA = 94; 1672 enum R_PPC_EMB_NADDR32 = 101; 1673 enum R_PPC_EMB_NADDR16 = 102; 1674 enum R_PPC_EMB_NADDR16_LO = 103; 1675 enum R_PPC_EMB_NADDR16_HI = 104; 1676 enum R_PPC_EMB_NADDR16_HA = 105; 1677 enum R_PPC_EMB_SDAI16 = 106; 1678 enum R_PPC_EMB_SDA2I16 = 107; 1679 enum R_PPC_EMB_SDA2REL = 108; 1680 enum R_PPC_EMB_SDA21 = 109; 1681 enum R_PPC_EMB_MRKREF = 110; 1682 enum R_PPC_EMB_RELSEC16 = 111; 1683 enum R_PPC_EMB_RELST_LO = 112; 1684 enum R_PPC_EMB_RELST_HI = 113; 1685 enum R_PPC_EMB_RELST_HA = 114; 1686 enum R_PPC_EMB_BIT_FLD = 115; 1687 enum R_PPC_EMB_RELSDA = 116; 1688 enum R_PPC_DIAB_SDA21_LO = 180; 1689 enum R_PPC_DIAB_SDA21_HI = 181; 1690 enum R_PPC_DIAB_SDA21_HA = 182; 1691 enum R_PPC_DIAB_RELSDA_LO = 183; 1692 enum R_PPC_DIAB_RELSDA_HI = 184; 1693 enum R_PPC_DIAB_RELSDA_HA = 185; 1694 enum R_PPC_IRELATIVE = 248; 1695 enum R_PPC_REL16 = 249; 1696 enum R_PPC_REL16_LO = 250; 1697 enum R_PPC_REL16_HI = 251; 1698 enum R_PPC_REL16_HA = 252; 1699 enum R_PPC_TOC16 = 255; 1700 enum DT_PPC_GOT = (DT_LOPROC + 0); 1701 enum DT_PPC_NUM = 1; 1702 enum R_PPC64_NONE = R_PPC_NONE; 1703 enum R_PPC64_ADDR32 = R_PPC_ADDR32; 1704 enum R_PPC64_ADDR24 = R_PPC_ADDR24; 1705 enum R_PPC64_ADDR16 = R_PPC_ADDR16; 1706 enum R_PPC64_ADDR16_LO = R_PPC_ADDR16_LO; 1707 enum R_PPC64_ADDR16_HI = R_PPC_ADDR16_HI; 1708 enum R_PPC64_ADDR16_HA = R_PPC_ADDR16_HA; 1709 enum R_PPC64_ADDR14 = R_PPC_ADDR14; 1710 enum R_PPC64_ADDR14_BRTAKEN = R_PPC_ADDR14_BRTAKEN; 1711 enum R_PPC64_ADDR14_BRNTAKEN = R_PPC_ADDR14_BRNTAKEN; 1712 enum R_PPC64_REL24 = R_PPC_REL24; 1713 enum R_PPC64_REL14 = R_PPC_REL14; 1714 enum R_PPC64_REL14_BRTAKEN = R_PPC_REL14_BRTAKEN; 1715 enum R_PPC64_REL14_BRNTAKEN = R_PPC_REL14_BRNTAKEN; 1716 enum R_PPC64_GOT16 = R_PPC_GOT16; 1717 enum R_PPC64_GOT16_LO = R_PPC_GOT16_LO; 1718 enum R_PPC64_GOT16_HI = R_PPC_GOT16_HI; 1719 enum R_PPC64_GOT16_HA = R_PPC_GOT16_HA; 1720 1721 enum R_PPC64_COPY = R_PPC_COPY; 1722 enum R_PPC64_GLOB_DAT = R_PPC_GLOB_DAT; 1723 enum R_PPC64_JMP_SLOT = R_PPC_JMP_SLOT; 1724 enum R_PPC64_RELATIVE = R_PPC_RELATIVE; 1725 1726 enum R_PPC64_UADDR32 = R_PPC_UADDR32; 1727 enum R_PPC64_UADDR16 = R_PPC_UADDR16; 1728 enum R_PPC64_REL32 = R_PPC_REL32; 1729 enum R_PPC64_PLT32 = R_PPC_PLT32; 1730 enum R_PPC64_PLTREL32 = R_PPC_PLTREL32; 1731 enum R_PPC64_PLT16_LO = R_PPC_PLT16_LO; 1732 enum R_PPC64_PLT16_HI = R_PPC_PLT16_HI; 1733 enum R_PPC64_PLT16_HA = R_PPC_PLT16_HA; 1734 1735 enum R_PPC64_SECTOFF = R_PPC_SECTOFF; 1736 enum R_PPC64_SECTOFF_LO = R_PPC_SECTOFF_LO; 1737 enum R_PPC64_SECTOFF_HI = R_PPC_SECTOFF_HI; 1738 enum R_PPC64_SECTOFF_HA = R_PPC_SECTOFF_HA; 1739 enum R_PPC64_ADDR30 = 37; 1740 enum R_PPC64_ADDR64 = 38; 1741 enum R_PPC64_ADDR16_HIGHER = 39; 1742 enum R_PPC64_ADDR16_HIGHERA = 40; 1743 enum R_PPC64_ADDR16_HIGHEST = 41; 1744 enum R_PPC64_ADDR16_HIGHESTA = 42; 1745 enum R_PPC64_UADDR64 = 43; 1746 enum R_PPC64_REL64 = 44; 1747 enum R_PPC64_PLT64 = 45; 1748 enum R_PPC64_PLTREL64 = 46; 1749 enum R_PPC64_TOC16 = 47; 1750 enum R_PPC64_TOC16_LO = 48; 1751 enum R_PPC64_TOC16_HI = 49; 1752 enum R_PPC64_TOC16_HA = 50; 1753 enum R_PPC64_TOC = 51; 1754 enum R_PPC64_PLTGOT16 = 52; 1755 enum R_PPC64_PLTGOT16_LO = 53; 1756 enum R_PPC64_PLTGOT16_HI = 54; 1757 enum R_PPC64_PLTGOT16_HA = 55; 1758 1759 enum R_PPC64_ADDR16_DS = 56; 1760 enum R_PPC64_ADDR16_LO_DS = 57; 1761 enum R_PPC64_GOT16_DS = 58; 1762 enum R_PPC64_GOT16_LO_DS = 59; 1763 enum R_PPC64_PLT16_LO_DS = 60; 1764 enum R_PPC64_SECTOFF_DS = 61; 1765 enum R_PPC64_SECTOFF_LO_DS = 62; 1766 enum R_PPC64_TOC16_DS = 63; 1767 enum R_PPC64_TOC16_LO_DS = 64; 1768 enum R_PPC64_PLTGOT16_DS = 65; 1769 enum R_PPC64_PLTGOT16_LO_DS = 66; 1770 enum R_PPC64_TLS = 67; 1771 enum R_PPC64_DTPMOD64 = 68; 1772 enum R_PPC64_TPREL16 = 69; 1773 enum R_PPC64_TPREL16_LO = 70; 1774 enum R_PPC64_TPREL16_HI = 71; 1775 enum R_PPC64_TPREL16_HA = 72; 1776 enum R_PPC64_TPREL64 = 73; 1777 enum R_PPC64_DTPREL16 = 74; 1778 enum R_PPC64_DTPREL16_LO = 75; 1779 enum R_PPC64_DTPREL16_HI = 76; 1780 enum R_PPC64_DTPREL16_HA = 77; 1781 enum R_PPC64_DTPREL64 = 78; 1782 enum R_PPC64_GOT_TLSGD16 = 79; 1783 enum R_PPC64_GOT_TLSGD16_LO = 80; 1784 enum R_PPC64_GOT_TLSGD16_HI = 81; 1785 enum R_PPC64_GOT_TLSGD16_HA = 82; 1786 enum R_PPC64_GOT_TLSLD16 = 83; 1787 enum R_PPC64_GOT_TLSLD16_LO = 84; 1788 enum R_PPC64_GOT_TLSLD16_HI = 85; 1789 enum R_PPC64_GOT_TLSLD16_HA = 86; 1790 enum R_PPC64_GOT_TPREL16_DS = 87; 1791 enum R_PPC64_GOT_TPREL16_LO_DS = 88; 1792 enum R_PPC64_GOT_TPREL16_HI = 89; 1793 enum R_PPC64_GOT_TPREL16_HA = 90; 1794 enum R_PPC64_GOT_DTPREL16_DS = 91; 1795 enum R_PPC64_GOT_DTPREL16_LO_DS = 92; 1796 enum R_PPC64_GOT_DTPREL16_HI = 93; 1797 enum R_PPC64_GOT_DTPREL16_HA = 94; 1798 enum R_PPC64_TPREL16_DS = 95; 1799 enum R_PPC64_TPREL16_LO_DS = 96; 1800 enum R_PPC64_TPREL16_HIGHER = 97; 1801 enum R_PPC64_TPREL16_HIGHERA = 98; 1802 enum R_PPC64_TPREL16_HIGHEST = 99; 1803 enum R_PPC64_TPREL16_HIGHESTA = 100; 1804 enum R_PPC64_DTPREL16_DS = 101; 1805 enum R_PPC64_DTPREL16_LO_DS = 102; 1806 enum R_PPC64_DTPREL16_HIGHER = 103; 1807 enum R_PPC64_DTPREL16_HIGHERA = 104; 1808 enum R_PPC64_DTPREL16_HIGHEST = 105; 1809 enum R_PPC64_DTPREL16_HIGHESTA = 106; 1810 enum R_PPC64_JMP_IREL = 247; 1811 enum R_PPC64_IRELATIVE = 248; 1812 enum R_PPC64_REL16 = 249; 1813 enum R_PPC64_REL16_LO = 250; 1814 enum R_PPC64_REL16_HI = 251; 1815 enum R_PPC64_REL16_HA = 252; 1816 enum DT_PPC64_GLINK = (DT_LOPROC + 0); 1817 enum DT_PPC64_OPD = (DT_LOPROC + 1); 1818 enum DT_PPC64_OPDSZ = (DT_LOPROC + 2); 1819 enum DT_PPC64_NUM = 3; 1820 enum EF_ARM_RELEXEC = 0x01; 1821 enum EF_ARM_HASENTRY = 0x02; 1822 enum EF_ARM_INTERWORK = 0x04; 1823 enum EF_ARM_APCS_26 = 0x08; 1824 enum EF_ARM_APCS_FLOAT = 0x10; 1825 enum EF_ARM_PIC = 0x20; 1826 enum EF_ARM_ALIGN8 = 0x40; 1827 enum EF_ARM_NEW_ABI = 0x80; 1828 enum EF_ARM_OLD_ABI = 0x100; 1829 enum EF_ARM_SOFT_FLOAT = 0x200; 1830 enum EF_ARM_VFP_FLOAT = 0x400; 1831 enum EF_ARM_MAVERICK_FLOAT = 0x800; 1832 1833 enum EF_ARM_ABI_FLOAT_SOFT = 0x200; 1834 enum EF_ARM_ABI_FLOAT_HARD = 0x400; 1835 enum EF_ARM_SYMSARESORTED = 0x04; 1836 enum EF_ARM_DYNSYMSUSESEGIDX = 0x08; 1837 enum EF_ARM_MAPSYMSFIRST = 0x10; 1838 enum EF_ARM_EABIMASK = 0XFF000000; 1839 enum EF_ARM_BE8 = 0x00800000; 1840 enum EF_ARM_LE8 = 0x00400000; 1841 1842 extern (D) auto EF_ARM_EABI_VERSION(F)(F flags) { return flags & EF_ARM_EABIMASK; } 1843 enum EF_ARM_EABI_UNKNOWN = 0x00000000; 1844 enum EF_ARM_EABI_VER1 = 0x01000000; 1845 enum EF_ARM_EABI_VER2 = 0x02000000; 1846 enum EF_ARM_EABI_VER3 = 0x03000000; 1847 enum EF_ARM_EABI_VER4 = 0x04000000; 1848 enum EF_ARM_EABI_VER5 = 0x05000000; 1849 enum STT_ARM_TFUNC = STT_LOPROC; 1850 enum STT_ARM_16BIT = STT_HIPROC; 1851 enum SHF_ARM_ENTRYSECT = 0x10000000; 1852 enum SHF_ARM_COMDEF = 0x80000000; 1853 enum PF_ARM_SB = 0x10000000; 1854 enum PF_ARM_PI = 0x20000000; 1855 enum PF_ARM_ABS = 0x40000000; 1856 enum PT_ARM_EXIDX = (PT_LOPROC + 1); 1857 enum SHT_ARM_EXIDX = (SHT_LOPROC + 1); 1858 enum SHT_ARM_PREEMPTMAP = (SHT_LOPROC + 2); 1859 enum SHT_ARM_ATTRIBUTES = (SHT_LOPROC + 3); 1860 1861 enum R_AARCH64_NONE = 0; 1862 enum R_AARCH64_ABS64 = 257; 1863 enum R_AARCH64_ABS32 = 258; 1864 enum R_AARCH64_COPY = 1024; 1865 enum R_AARCH64_GLOB_DAT = 1025; 1866 enum R_AARCH64_JUMP_SLOT = 1026; 1867 enum R_AARCH64_RELATIVE = 1027; 1868 enum R_AARCH64_TLS_DTPMOD64 = 1028; 1869 enum R_AARCH64_TLS_DTPREL64 = 1029; 1870 enum R_AARCH64_TLS_TPREL64 = 1030; 1871 enum R_AARCH64_TLSDESC = 1031; 1872 1873 enum R_ARM_NONE = 0; 1874 enum R_ARM_PC24 = 1; 1875 enum R_ARM_ABS32 = 2; 1876 enum R_ARM_REL32 = 3; 1877 enum R_ARM_PC13 = 4; 1878 enum R_ARM_ABS16 = 5; 1879 enum R_ARM_ABS12 = 6; 1880 enum R_ARM_THM_ABS5 = 7; 1881 enum R_ARM_ABS8 = 8; 1882 enum R_ARM_SBREL32 = 9; 1883 enum R_ARM_THM_PC22 = 10; 1884 enum R_ARM_THM_PC8 = 11; 1885 enum R_ARM_AMP_VCALL9 = 12; 1886 enum R_ARM_SWI24 = 13; 1887 enum R_ARM_TLS_DESC = 13; 1888 enum R_ARM_THM_SWI8 = 14; 1889 enum R_ARM_XPC25 = 15; 1890 enum R_ARM_THM_XPC22 = 16; 1891 enum R_ARM_TLS_DTPMOD32 = 17; 1892 enum R_ARM_TLS_DTPOFF32 = 18; 1893 enum R_ARM_TLS_TPOFF32 = 19; 1894 enum R_ARM_COPY = 20; 1895 enum R_ARM_GLOB_DAT = 21; 1896 enum R_ARM_JUMP_SLOT = 22; 1897 enum R_ARM_RELATIVE = 23; 1898 enum R_ARM_GOTOFF = 24; 1899 enum R_ARM_GOTPC = 25; 1900 enum R_ARM_GOT32 = 26; 1901 enum R_ARM_PLT32 = 27; 1902 enum R_ARM_ALU_PCREL_7_0 = 32; 1903 enum R_ARM_ALU_PCREL_15_8 = 33; 1904 enum R_ARM_ALU_PCREL_23_15 = 34; 1905 enum R_ARM_LDR_SBREL_11_0 = 35; 1906 enum R_ARM_ALU_SBREL_19_12 = 36; 1907 enum R_ARM_ALU_SBREL_27_20 = 37; 1908 enum R_ARM_TLS_GOTDESC = 90; 1909 enum R_ARM_TLS_CALL = 91; 1910 enum R_ARM_TLS_DESCSEQ = 92; 1911 enum R_ARM_THM_TLS_CALL = 93; 1912 enum R_ARM_GNU_VTENTRY = 100; 1913 enum R_ARM_GNU_VTINHERIT = 101; 1914 enum R_ARM_THM_PC11 = 102; 1915 enum R_ARM_THM_PC9 = 103; 1916 enum R_ARM_TLS_GD32 = 104; 1917 enum R_ARM_TLS_LDM32 = 105; 1918 enum R_ARM_TLS_LDO32 = 106; 1919 enum R_ARM_TLS_IE32 = 107; 1920 enum R_ARM_TLS_LE32 = 108; 1921 enum R_ARM_THM_TLS_DESCSEQ = 129; 1922 enum R_ARM_IRELATIVE = 160; 1923 enum R_ARM_RXPC25 = 249; 1924 enum R_ARM_RSBREL32 = 250; 1925 enum R_ARM_THM_RPC22 = 251; 1926 enum R_ARM_RREL32 = 252; 1927 enum R_ARM_RABS22 = 253; 1928 enum R_ARM_RPC24 = 254; 1929 enum R_ARM_RBASE = 255; 1930 enum R_ARM_NUM = 256; 1931 enum EF_IA_64_MASKOS = 0x0000000f; 1932 enum EF_IA_64_ABI64 = 0x00000010; 1933 enum EF_IA_64_ARCH = 0xff000000; 1934 enum PT_IA_64_ARCHEXT = (PT_LOPROC + 0); 1935 enum PT_IA_64_UNWIND = (PT_LOPROC + 1); 1936 enum PT_IA_64_HP_OPT_ANOT = (PT_LOOS + 0x12); 1937 enum PT_IA_64_HP_HSL_ANOT = (PT_LOOS + 0x13); 1938 enum PT_IA_64_HP_STACK = (PT_LOOS + 0x14); 1939 enum PF_IA_64_NORECOV = 0x80000000; 1940 enum SHT_IA_64_EXT = (SHT_LOPROC + 0); 1941 enum SHT_IA_64_UNWIND = (SHT_LOPROC + 1); 1942 enum SHF_IA_64_SHORT = 0x10000000; 1943 enum SHF_IA_64_NORECOV = 0x20000000; 1944 enum DT_IA_64_PLT_RESERVE = (DT_LOPROC + 0); 1945 enum DT_IA_64_NUM = 1; 1946 enum R_IA64_NONE = 0x00; 1947 enum R_IA64_IMM14 = 0x21; 1948 enum R_IA64_IMM22 = 0x22; 1949 enum R_IA64_IMM64 = 0x23; 1950 enum R_IA64_DIR32MSB = 0x24; 1951 enum R_IA64_DIR32LSB = 0x25; 1952 enum R_IA64_DIR64MSB = 0x26; 1953 enum R_IA64_DIR64LSB = 0x27; 1954 enum R_IA64_GPREL22 = 0x2a; 1955 enum R_IA64_GPREL64I = 0x2b; 1956 enum R_IA64_GPREL32MSB = 0x2c; 1957 enum R_IA64_GPREL32LSB = 0x2d; 1958 enum R_IA64_GPREL64MSB = 0x2e; 1959 enum R_IA64_GPREL64LSB = 0x2f; 1960 enum R_IA64_LTOFF22 = 0x32; 1961 enum R_IA64_LTOFF64I = 0x33; 1962 enum R_IA64_PLTOFF22 = 0x3a; 1963 enum R_IA64_PLTOFF64I = 0x3b; 1964 enum R_IA64_PLTOFF64MSB = 0x3e; 1965 enum R_IA64_PLTOFF64LSB = 0x3f; 1966 enum R_IA64_FPTR64I = 0x43; 1967 enum R_IA64_FPTR32MSB = 0x44; 1968 enum R_IA64_FPTR32LSB = 0x45; 1969 enum R_IA64_FPTR64MSB = 0x46; 1970 enum R_IA64_FPTR64LSB = 0x47; 1971 enum R_IA64_PCREL60B = 0x48; 1972 enum R_IA64_PCREL21B = 0x49; 1973 enum R_IA64_PCREL21M = 0x4a; 1974 enum R_IA64_PCREL21F = 0x4b; 1975 enum R_IA64_PCREL32MSB = 0x4c; 1976 enum R_IA64_PCREL32LSB = 0x4d; 1977 enum R_IA64_PCREL64MSB = 0x4e; 1978 enum R_IA64_PCREL64LSB = 0x4f; 1979 enum R_IA64_LTOFF_FPTR22 = 0x52; 1980 enum R_IA64_LTOFF_FPTR64I = 0x53; 1981 enum R_IA64_LTOFF_FPTR32MSB = 0x54; 1982 enum R_IA64_LTOFF_FPTR32LSB = 0x55; 1983 enum R_IA64_LTOFF_FPTR64MSB = 0x56; 1984 enum R_IA64_LTOFF_FPTR64LSB = 0x57; 1985 enum R_IA64_SEGREL32MSB = 0x5c; 1986 enum R_IA64_SEGREL32LSB = 0x5d; 1987 enum R_IA64_SEGREL64MSB = 0x5e; 1988 enum R_IA64_SEGREL64LSB = 0x5f; 1989 enum R_IA64_SECREL32MSB = 0x64; 1990 enum R_IA64_SECREL32LSB = 0x65; 1991 enum R_IA64_SECREL64MSB = 0x66; 1992 enum R_IA64_SECREL64LSB = 0x67; 1993 enum R_IA64_REL32MSB = 0x6c; 1994 enum R_IA64_REL32LSB = 0x6d; 1995 enum R_IA64_REL64MSB = 0x6e; 1996 enum R_IA64_REL64LSB = 0x6f; 1997 enum R_IA64_LTV32MSB = 0x74; 1998 enum R_IA64_LTV32LSB = 0x75; 1999 enum R_IA64_LTV64MSB = 0x76; 2000 enum R_IA64_LTV64LSB = 0x77; 2001 enum R_IA64_PCREL21BI = 0x79; 2002 enum R_IA64_PCREL22 = 0x7a; 2003 enum R_IA64_PCREL64I = 0x7b; 2004 enum R_IA64_IPLTMSB = 0x80; 2005 enum R_IA64_IPLTLSB = 0x81; 2006 enum R_IA64_COPY = 0x84; 2007 enum R_IA64_SUB = 0x85; 2008 enum R_IA64_LTOFF22X = 0x86; 2009 enum R_IA64_LDXMOV = 0x87; 2010 enum R_IA64_TPREL14 = 0x91; 2011 enum R_IA64_TPREL22 = 0x92; 2012 enum R_IA64_TPREL64I = 0x93; 2013 enum R_IA64_TPREL64MSB = 0x96; 2014 enum R_IA64_TPREL64LSB = 0x97; 2015 enum R_IA64_LTOFF_TPREL22 = 0x9a; 2016 enum R_IA64_DTPMOD64MSB = 0xa6; 2017 enum R_IA64_DTPMOD64LSB = 0xa7; 2018 enum R_IA64_LTOFF_DTPMOD22 = 0xaa; 2019 enum R_IA64_DTPREL14 = 0xb1; 2020 enum R_IA64_DTPREL22 = 0xb2; 2021 enum R_IA64_DTPREL64I = 0xb3; 2022 enum R_IA64_DTPREL32MSB = 0xb4; 2023 enum R_IA64_DTPREL32LSB = 0xb5; 2024 enum R_IA64_DTPREL64MSB = 0xb6; 2025 enum R_IA64_DTPREL64LSB = 0xb7; 2026 enum R_IA64_LTOFF_DTPREL22 = 0xba; 2027 enum EF_SH_MACH_MASK = 0x1f; 2028 enum EF_SH_UNKNOWN = 0x0; 2029 enum EF_SH1 = 0x1; 2030 enum EF_SH2 = 0x2; 2031 enum EF_SH3 = 0x3; 2032 enum EF_SH_DSP = 0x4; 2033 enum EF_SH3_DSP = 0x5; 2034 enum EF_SH4AL_DSP = 0x6; 2035 enum EF_SH3E = 0x8; 2036 enum EF_SH4 = 0x9; 2037 enum EF_SH2E = 0xb; 2038 enum EF_SH4A = 0xc; 2039 enum EF_SH2A = 0xd; 2040 enum EF_SH4_NOFPU = 0x10; 2041 enum EF_SH4A_NOFPU = 0x11; 2042 enum EF_SH4_NOMMU_NOFPU = 0x12; 2043 enum EF_SH2A_NOFPU = 0x13; 2044 enum EF_SH3_NOMMU = 0x14; 2045 enum EF_SH2A_SH4_NOFPU = 0x15; 2046 enum EF_SH2A_SH3_NOFPU = 0x16; 2047 enum EF_SH2A_SH4 = 0x17; 2048 enum EF_SH2A_SH3E = 0x18; 2049 enum R_SH_NONE = 0; 2050 enum R_SH_DIR32 = 1; 2051 enum R_SH_REL32 = 2; 2052 enum R_SH_DIR8WPN = 3; 2053 enum R_SH_IND12W = 4; 2054 enum R_SH_DIR8WPL = 5; 2055 enum R_SH_DIR8WPZ = 6; 2056 enum R_SH_DIR8BP = 7; 2057 enum R_SH_DIR8W = 8; 2058 enum R_SH_DIR8L = 9; 2059 enum R_SH_SWITCH16 = 25; 2060 enum R_SH_SWITCH32 = 26; 2061 enum R_SH_USES = 27; 2062 enum R_SH_COUNT = 28; 2063 enum R_SH_ALIGN = 29; 2064 enum R_SH_CODE = 30; 2065 enum R_SH_DATA = 31; 2066 enum R_SH_LABEL = 32; 2067 enum R_SH_SWITCH8 = 33; 2068 enum R_SH_GNU_VTINHERIT = 34; 2069 enum R_SH_GNU_VTENTRY = 35; 2070 enum R_SH_TLS_GD_32 = 144; 2071 enum R_SH_TLS_LD_32 = 145; 2072 enum R_SH_TLS_LDO_32 = 146; 2073 enum R_SH_TLS_IE_32 = 147; 2074 enum R_SH_TLS_LE_32 = 148; 2075 enum R_SH_TLS_DTPMOD32 = 149; 2076 enum R_SH_TLS_DTPOFF32 = 150; 2077 enum R_SH_TLS_TPOFF32 = 151; 2078 enum R_SH_GOT32 = 160; 2079 enum R_SH_PLT32 = 161; 2080 enum R_SH_COPY = 162; 2081 enum R_SH_GLOB_DAT = 163; 2082 enum R_SH_JMP_SLOT = 164; 2083 enum R_SH_RELATIVE = 165; 2084 enum R_SH_GOTOFF = 166; 2085 enum R_SH_GOTPC = 167; 2086 enum R_SH_NUM = 256; 2087 2088 enum EF_S390_HIGH_GPRS = 0x00000001; 2089 2090 enum R_390_NONE = 0; 2091 enum R_390_8 = 1; 2092 enum R_390_12 = 2; 2093 enum R_390_16 = 3; 2094 enum R_390_32 = 4; 2095 enum R_390_PC32 = 5; 2096 enum R_390_GOT12 = 6; 2097 enum R_390_GOT32 = 7; 2098 enum R_390_PLT32 = 8; 2099 enum R_390_COPY = 9; 2100 enum R_390_GLOB_DAT = 10; 2101 enum R_390_JMP_SLOT = 11; 2102 enum R_390_RELATIVE = 12; 2103 enum R_390_GOTOFF32 = 13; 2104 enum R_390_GOTPC = 14; 2105 enum R_390_GOT16 = 15; 2106 enum R_390_PC16 = 16; 2107 enum R_390_PC16DBL = 17; 2108 enum R_390_PLT16DBL = 18; 2109 enum R_390_PC32DBL = 19; 2110 enum R_390_PLT32DBL = 20; 2111 enum R_390_GOTPCDBL = 21; 2112 enum R_390_64 = 22; 2113 enum R_390_PC64 = 23; 2114 enum R_390_GOT64 = 24; 2115 enum R_390_PLT64 = 25; 2116 enum R_390_GOTENT = 26; 2117 enum R_390_GOTOFF16 = 27; 2118 enum R_390_GOTOFF64 = 28; 2119 enum R_390_GOTPLT12 = 29; 2120 enum R_390_GOTPLT16 = 30; 2121 enum R_390_GOTPLT32 = 31; 2122 enum R_390_GOTPLT64 = 32; 2123 enum R_390_GOTPLTENT = 33; 2124 enum R_390_PLTOFF16 = 34; 2125 enum R_390_PLTOFF32 = 35; 2126 enum R_390_PLTOFF64 = 36; 2127 enum R_390_TLS_LOAD = 37; 2128 enum R_390_TLS_GDCALL = 38; 2129 enum R_390_TLS_LDCALL = 39; 2130 enum R_390_TLS_GD32 = 40; 2131 enum R_390_TLS_GD64 = 41; 2132 enum R_390_TLS_GOTIE12 = 42; 2133 enum R_390_TLS_GOTIE32 = 43; 2134 enum R_390_TLS_GOTIE64 = 44; 2135 enum R_390_TLS_LDM32 = 45; 2136 enum R_390_TLS_LDM64 = 46; 2137 enum R_390_TLS_IE32 = 47; 2138 enum R_390_TLS_IE64 = 48; 2139 enum R_390_TLS_IEENT = 49; 2140 enum R_390_TLS_LE32 = 50; 2141 enum R_390_TLS_LE64 = 51; 2142 enum R_390_TLS_LDO32 = 52; 2143 enum R_390_TLS_LDO64 = 53; 2144 enum R_390_TLS_DTPMOD = 54; 2145 enum R_390_TLS_DTPOFF = 55; 2146 enum R_390_TLS_TPOFF = 56; 2147 enum R_390_20 = 57; 2148 enum R_390_GOT20 = 58; 2149 enum R_390_GOTPLT20 = 59; 2150 enum R_390_TLS_GOTIE20 = 60; 2151 enum R_390_IRELATIVE = 61; 2152 enum R_390_NUM = 62; 2153 enum R_CRIS_NONE = 0; 2154 enum R_CRIS_8 = 1; 2155 enum R_CRIS_16 = 2; 2156 enum R_CRIS_32 = 3; 2157 enum R_CRIS_8_PCREL = 4; 2158 enum R_CRIS_16_PCREL = 5; 2159 enum R_CRIS_32_PCREL = 6; 2160 enum R_CRIS_GNU_VTINHERIT = 7; 2161 enum R_CRIS_GNU_VTENTRY = 8; 2162 enum R_CRIS_COPY = 9; 2163 enum R_CRIS_GLOB_DAT = 10; 2164 enum R_CRIS_JUMP_SLOT = 11; 2165 enum R_CRIS_RELATIVE = 12; 2166 enum R_CRIS_16_GOT = 13; 2167 enum R_CRIS_32_GOT = 14; 2168 enum R_CRIS_16_GOTPLT = 15; 2169 enum R_CRIS_32_GOTPLT = 16; 2170 enum R_CRIS_32_GOTREL = 17; 2171 enum R_CRIS_32_PLT_GOTREL = 18; 2172 enum R_CRIS_32_PLT_PCREL = 19; 2173 2174 enum R_CRIS_NUM = 20; 2175 enum R_X86_64_NONE = 0; 2176 enum R_X86_64_64 = 1; 2177 enum R_X86_64_PC32 = 2; 2178 enum R_X86_64_GOT32 = 3; 2179 enum R_X86_64_PLT32 = 4; 2180 enum R_X86_64_COPY = 5; 2181 enum R_X86_64_GLOB_DAT = 6; 2182 enum R_X86_64_JUMP_SLOT = 7; 2183 enum R_X86_64_RELATIVE = 8; 2184 enum R_X86_64_GOTPCREL = 9; 2185 enum R_X86_64_32 = 10; 2186 enum R_X86_64_32S = 11; 2187 enum R_X86_64_16 = 12; 2188 enum R_X86_64_PC16 = 13; 2189 enum R_X86_64_8 = 14; 2190 enum R_X86_64_PC8 = 15; 2191 enum R_X86_64_DTPMOD64 = 16; 2192 enum R_X86_64_DTPOFF64 = 17; 2193 enum R_X86_64_TPOFF64 = 18; 2194 enum R_X86_64_TLSGD = 19; 2195 enum R_X86_64_TLSLD = 20; 2196 enum R_X86_64_DTPOFF32 = 21; 2197 enum R_X86_64_GOTTPOFF = 22; 2198 enum R_X86_64_TPOFF32 = 23; 2199 enum R_X86_64_PC64 = 24; 2200 enum R_X86_64_GOTOFF64 = 25; 2201 enum R_X86_64_GOTPC32 = 26; 2202 enum R_X86_64_GOT64 = 27; 2203 enum R_X86_64_GOTPCREL64 = 28; 2204 enum R_X86_64_GOTPC64 = 29; 2205 enum R_X86_64_GOTPLT64 = 30; 2206 enum R_X86_64_PLTOFF64 = 31; 2207 enum R_X86_64_SIZE32 = 32; 2208 enum R_X86_64_SIZE64 = 33; 2209 enum R_X86_64_GOTPC32_TLSDESC = 34; 2210 enum R_X86_64_TLSDESC_CALL = 35; 2211 enum R_X86_64_TLSDESC = 36; 2212 enum R_X86_64_IRELATIVE = 37; 2213 enum R_X86_64_RELATIVE64 = 38; 2214 2215 enum R_X86_64_NUM = 39; 2216 enum R_MN10300_NONE = 0; 2217 enum R_MN10300_32 = 1; 2218 enum R_MN10300_16 = 2; 2219 enum R_MN10300_8 = 3; 2220 enum R_MN10300_PCREL32 = 4; 2221 enum R_MN10300_PCREL16 = 5; 2222 enum R_MN10300_PCREL8 = 6; 2223 enum R_MN10300_GNU_VTINHERIT = 7; 2224 enum R_MN10300_GNU_VTENTRY = 8; 2225 enum R_MN10300_24 = 9; 2226 enum R_MN10300_GOTPC32 = 10; 2227 enum R_MN10300_GOTPC16 = 11; 2228 enum R_MN10300_GOTOFF32 = 12; 2229 enum R_MN10300_GOTOFF24 = 13; 2230 enum R_MN10300_GOTOFF16 = 14; 2231 enum R_MN10300_PLT32 = 15; 2232 enum R_MN10300_PLT16 = 16; 2233 enum R_MN10300_GOT32 = 17; 2234 enum R_MN10300_GOT24 = 18; 2235 enum R_MN10300_GOT16 = 19; 2236 enum R_MN10300_COPY = 20; 2237 enum R_MN10300_GLOB_DAT = 21; 2238 enum R_MN10300_JMP_SLOT = 22; 2239 enum R_MN10300_RELATIVE = 23; 2240 enum R_MN10300_TLS_GD = 24; 2241 enum R_MN10300_TLS_LD = 25; 2242 enum R_MN10300_TLS_LDO = 26; 2243 enum R_MN10300_TLS_GOTIE = 27; 2244 enum R_MN10300_TLS_IE = 28; 2245 enum R_MN10300_TLS_LE = 29; 2246 enum R_MN10300_TLS_DTPMOD = 30; 2247 enum R_MN10300_TLS_DTPOFF = 31; 2248 enum R_MN10300_TLS_TPOFF = 32; 2249 enum R_MN10300_SYM_DIFF = 33; 2250 enum R_MN10300_ALIGN = 34; 2251 enum R_MN10300_NUM = 35; 2252 enum R_M32R_NONE = 0; 2253 enum R_M32R_16 = 1; 2254 enum R_M32R_32 = 2; 2255 enum R_M32R_24 = 3; 2256 enum R_M32R_10_PCREL = 4; 2257 enum R_M32R_18_PCREL = 5; 2258 enum R_M32R_26_PCREL = 6; 2259 enum R_M32R_HI16_ULO = 7; 2260 enum R_M32R_HI16_SLO = 8; 2261 enum R_M32R_LO16 = 9; 2262 enum R_M32R_SDA16 = 10; 2263 enum R_M32R_GNU_VTINHERIT = 11; 2264 enum R_M32R_GNU_VTENTRY = 12; 2265 enum R_M32R_16_RELA = 33; 2266 enum R_M32R_32_RELA = 34; 2267 enum R_M32R_24_RELA = 35; 2268 enum R_M32R_10_PCREL_RELA = 36; 2269 enum R_M32R_18_PCREL_RELA = 37; 2270 enum R_M32R_26_PCREL_RELA = 38; 2271 enum R_M32R_HI16_ULO_RELA = 39; 2272 enum R_M32R_HI16_SLO_RELA = 40; 2273 enum R_M32R_LO16_RELA = 41; 2274 enum R_M32R_SDA16_RELA = 42; 2275 enum R_M32R_RELA_GNU_VTINHERIT = 43; 2276 enum R_M32R_RELA_GNU_VTENTRY = 44; 2277 enum R_M32R_REL32 = 45; 2278 2279 enum R_M32R_GOT24 = 48; 2280 enum R_M32R_26_PLTREL = 49; 2281 enum R_M32R_COPY = 50; 2282 enum R_M32R_GLOB_DAT = 51; 2283 enum R_M32R_JMP_SLOT = 52; 2284 enum R_M32R_RELATIVE = 53; 2285 enum R_M32R_GOTOFF = 54; 2286 enum R_M32R_GOTPC24 = 55; 2287 enum R_M32R_GOT16_HI_ULO = 56; 2288 enum R_M32R_GOT16_HI_SLO = 57; 2289 enum R_M32R_GOT16_LO = 58; 2290 enum R_M32R_GOTPC_HI_ULO = 59; 2291 enum R_M32R_GOTPC_HI_SLO = 60; 2292 enum R_M32R_GOTPC_LO = 61; 2293 enum R_M32R_GOTOFF_HI_ULO = 62; 2294 enum R_M32R_GOTOFF_HI_SLO = 63; 2295 enum R_M32R_GOTOFF_LO = 64; 2296 enum R_M32R_NUM = 256; 2297 enum R_TILEPRO_NONE = 0; 2298 enum R_TILEPRO_32 = 1; 2299 enum R_TILEPRO_16 = 2; 2300 enum R_TILEPRO_8 = 3; 2301 enum R_TILEPRO_32_PCREL = 4; 2302 enum R_TILEPRO_16_PCREL = 5; 2303 enum R_TILEPRO_8_PCREL = 6; 2304 enum R_TILEPRO_LO16 = 7; 2305 enum R_TILEPRO_HI16 = 8; 2306 enum R_TILEPRO_HA16 = 9; 2307 enum R_TILEPRO_COPY = 10; 2308 enum R_TILEPRO_GLOB_DAT = 11; 2309 enum R_TILEPRO_JMP_SLOT = 12; 2310 enum R_TILEPRO_RELATIVE = 13; 2311 enum R_TILEPRO_BROFF_X1 = 14; 2312 enum R_TILEPRO_JOFFLONG_X1 = 15; 2313 enum R_TILEPRO_JOFFLONG_X1_PLT = 16; 2314 enum R_TILEPRO_IMM8_X0 = 17; 2315 enum R_TILEPRO_IMM8_Y0 = 18; 2316 enum R_TILEPRO_IMM8_X1 = 19; 2317 enum R_TILEPRO_IMM8_Y1 = 20; 2318 enum R_TILEPRO_MT_IMM15_X1 = 21; 2319 enum R_TILEPRO_MF_IMM15_X1 = 22; 2320 enum R_TILEPRO_IMM16_X0 = 23; 2321 enum R_TILEPRO_IMM16_X1 = 24; 2322 enum R_TILEPRO_IMM16_X0_LO = 25; 2323 enum R_TILEPRO_IMM16_X1_LO = 26; 2324 enum R_TILEPRO_IMM16_X0_HI = 27; 2325 enum R_TILEPRO_IMM16_X1_HI = 28; 2326 enum R_TILEPRO_IMM16_X0_HA = 29; 2327 enum R_TILEPRO_IMM16_X1_HA = 30; 2328 enum R_TILEPRO_IMM16_X0_PCREL = 31; 2329 enum R_TILEPRO_IMM16_X1_PCREL = 32; 2330 enum R_TILEPRO_IMM16_X0_LO_PCREL = 33; 2331 enum R_TILEPRO_IMM16_X1_LO_PCREL = 34; 2332 enum R_TILEPRO_IMM16_X0_HI_PCREL = 35; 2333 enum R_TILEPRO_IMM16_X1_HI_PCREL = 36; 2334 enum R_TILEPRO_IMM16_X0_HA_PCREL = 37; 2335 enum R_TILEPRO_IMM16_X1_HA_PCREL = 38; 2336 enum R_TILEPRO_IMM16_X0_GOT = 39; 2337 enum R_TILEPRO_IMM16_X1_GOT = 40; 2338 enum R_TILEPRO_IMM16_X0_GOT_LO = 41; 2339 enum R_TILEPRO_IMM16_X1_GOT_LO = 42; 2340 enum R_TILEPRO_IMM16_X0_GOT_HI = 43; 2341 enum R_TILEPRO_IMM16_X1_GOT_HI = 44; 2342 enum R_TILEPRO_IMM16_X0_GOT_HA = 45; 2343 enum R_TILEPRO_IMM16_X1_GOT_HA = 46; 2344 enum R_TILEPRO_MMSTART_X0 = 47; 2345 enum R_TILEPRO_MMEND_X0 = 48; 2346 enum R_TILEPRO_MMSTART_X1 = 49; 2347 enum R_TILEPRO_MMEND_X1 = 50; 2348 enum R_TILEPRO_SHAMT_X0 = 51; 2349 enum R_TILEPRO_SHAMT_X1 = 52; 2350 enum R_TILEPRO_SHAMT_Y0 = 53; 2351 enum R_TILEPRO_SHAMT_Y1 = 54; 2352 enum R_TILEPRO_DEST_IMM8_X1 = 55; 2353 enum R_TILEPRO_TLS_GD_CALL = 60; 2354 enum R_TILEPRO_IMM8_X0_TLS_GD_ADD = 61; 2355 enum R_TILEPRO_IMM8_X1_TLS_GD_ADD = 62; 2356 enum R_TILEPRO_IMM8_Y0_TLS_GD_ADD = 63; 2357 enum R_TILEPRO_IMM8_Y1_TLS_GD_ADD = 64; 2358 enum R_TILEPRO_TLS_IE_LOAD = 65; 2359 enum R_TILEPRO_IMM16_X0_TLS_GD = 66; 2360 enum R_TILEPRO_IMM16_X1_TLS_GD = 67; 2361 enum R_TILEPRO_IMM16_X0_TLS_GD_LO = 68; 2362 enum R_TILEPRO_IMM16_X1_TLS_GD_LO = 69; 2363 enum R_TILEPRO_IMM16_X0_TLS_GD_HI = 70; 2364 enum R_TILEPRO_IMM16_X1_TLS_GD_HI = 71; 2365 enum R_TILEPRO_IMM16_X0_TLS_GD_HA = 72; 2366 enum R_TILEPRO_IMM16_X1_TLS_GD_HA = 73; 2367 enum R_TILEPRO_IMM16_X0_TLS_IE = 74; 2368 enum R_TILEPRO_IMM16_X1_TLS_IE = 75; 2369 enum R_TILEPRO_IMM16_X0_TLS_IE_LO = 76; 2370 enum R_TILEPRO_IMM16_X1_TLS_IE_LO = 77; 2371 enum R_TILEPRO_IMM16_X0_TLS_IE_HI = 78; 2372 enum R_TILEPRO_IMM16_X1_TLS_IE_HI = 79; 2373 enum R_TILEPRO_IMM16_X0_TLS_IE_HA = 80; 2374 enum R_TILEPRO_IMM16_X1_TLS_IE_HA = 81; 2375 enum R_TILEPRO_TLS_DTPMOD32 = 82; 2376 enum R_TILEPRO_TLS_DTPOFF32 = 83; 2377 enum R_TILEPRO_TLS_TPOFF32 = 84; 2378 enum R_TILEPRO_IMM16_X0_TLS_LE = 85; 2379 enum R_TILEPRO_IMM16_X1_TLS_LE = 86; 2380 enum R_TILEPRO_IMM16_X0_TLS_LE_LO = 87; 2381 enum R_TILEPRO_IMM16_X1_TLS_LE_LO = 88; 2382 enum R_TILEPRO_IMM16_X0_TLS_LE_HI = 89; 2383 enum R_TILEPRO_IMM16_X1_TLS_LE_HI = 90; 2384 enum R_TILEPRO_IMM16_X0_TLS_LE_HA = 91; 2385 enum R_TILEPRO_IMM16_X1_TLS_LE_HA = 92; 2386 2387 enum R_TILEPRO_GNU_VTINHERIT = 128; 2388 enum R_TILEPRO_GNU_VTENTRY = 129; 2389 2390 enum R_TILEPRO_NUM = 130; 2391 enum R_TILEGX_NONE = 0; 2392 enum R_TILEGX_64 = 1; 2393 enum R_TILEGX_32 = 2; 2394 enum R_TILEGX_16 = 3; 2395 enum R_TILEGX_8 = 4; 2396 enum R_TILEGX_64_PCREL = 5; 2397 enum R_TILEGX_32_PCREL = 6; 2398 enum R_TILEGX_16_PCREL = 7; 2399 enum R_TILEGX_8_PCREL = 8; 2400 enum R_TILEGX_HW0 = 9; 2401 enum R_TILEGX_HW1 = 10; 2402 enum R_TILEGX_HW2 = 11; 2403 enum R_TILEGX_HW3 = 12; 2404 enum R_TILEGX_HW0_LAST = 13; 2405 enum R_TILEGX_HW1_LAST = 14; 2406 enum R_TILEGX_HW2_LAST = 15; 2407 enum R_TILEGX_COPY = 16; 2408 enum R_TILEGX_GLOB_DAT = 17; 2409 enum R_TILEGX_JMP_SLOT = 18; 2410 enum R_TILEGX_RELATIVE = 19; 2411 enum R_TILEGX_BROFF_X1 = 20; 2412 enum R_TILEGX_JUMPOFF_X1 = 21; 2413 enum R_TILEGX_JUMPOFF_X1_PLT = 22; 2414 enum R_TILEGX_IMM8_X0 = 23; 2415 enum R_TILEGX_IMM8_Y0 = 24; 2416 enum R_TILEGX_IMM8_X1 = 25; 2417 enum R_TILEGX_IMM8_Y1 = 26; 2418 enum R_TILEGX_DEST_IMM8_X1 = 27; 2419 enum R_TILEGX_MT_IMM14_X1 = 28; 2420 enum R_TILEGX_MF_IMM14_X1 = 29; 2421 enum R_TILEGX_MMSTART_X0 = 30; 2422 enum R_TILEGX_MMEND_X0 = 31; 2423 enum R_TILEGX_SHAMT_X0 = 32; 2424 enum R_TILEGX_SHAMT_X1 = 33; 2425 enum R_TILEGX_SHAMT_Y0 = 34; 2426 enum R_TILEGX_SHAMT_Y1 = 35; 2427 enum R_TILEGX_IMM16_X0_HW0 = 36; 2428 enum R_TILEGX_IMM16_X1_HW0 = 37; 2429 enum R_TILEGX_IMM16_X0_HW1 = 38; 2430 enum R_TILEGX_IMM16_X1_HW1 = 39; 2431 enum R_TILEGX_IMM16_X0_HW2 = 40; 2432 enum R_TILEGX_IMM16_X1_HW2 = 41; 2433 enum R_TILEGX_IMM16_X0_HW3 = 42; 2434 enum R_TILEGX_IMM16_X1_HW3 = 43; 2435 enum R_TILEGX_IMM16_X0_HW0_LAST = 44; 2436 enum R_TILEGX_IMM16_X1_HW0_LAST = 45; 2437 enum R_TILEGX_IMM16_X0_HW1_LAST = 46; 2438 enum R_TILEGX_IMM16_X1_HW1_LAST = 47; 2439 enum R_TILEGX_IMM16_X0_HW2_LAST = 48; 2440 enum R_TILEGX_IMM16_X1_HW2_LAST = 49; 2441 enum R_TILEGX_IMM16_X0_HW0_PCREL = 50; 2442 enum R_TILEGX_IMM16_X1_HW0_PCREL = 51; 2443 enum R_TILEGX_IMM16_X0_HW1_PCREL = 52; 2444 enum R_TILEGX_IMM16_X1_HW1_PCREL = 53; 2445 enum R_TILEGX_IMM16_X0_HW2_PCREL = 54; 2446 enum R_TILEGX_IMM16_X1_HW2_PCREL = 55; 2447 enum R_TILEGX_IMM16_X0_HW3_PCREL = 56; 2448 enum R_TILEGX_IMM16_X1_HW3_PCREL = 57; 2449 enum R_TILEGX_IMM16_X0_HW0_LAST_PCREL = 58; 2450 enum R_TILEGX_IMM16_X1_HW0_LAST_PCREL = 59; 2451 enum R_TILEGX_IMM16_X0_HW1_LAST_PCREL = 60; 2452 enum R_TILEGX_IMM16_X1_HW1_LAST_PCREL = 61; 2453 enum R_TILEGX_IMM16_X0_HW2_LAST_PCREL = 62; 2454 enum R_TILEGX_IMM16_X1_HW2_LAST_PCREL = 63; 2455 enum R_TILEGX_IMM16_X0_HW0_GOT = 64; 2456 enum R_TILEGX_IMM16_X1_HW0_GOT = 65; 2457 enum R_TILEGX_IMM16_X0_HW0_PLT_PCREL = 66; 2458 enum R_TILEGX_IMM16_X1_HW0_PLT_PCREL = 67; 2459 enum R_TILEGX_IMM16_X0_HW1_PLT_PCREL = 68; 2460 enum R_TILEGX_IMM16_X1_HW1_PLT_PCREL = 69; 2461 enum R_TILEGX_IMM16_X0_HW2_PLT_PCREL = 70; 2462 enum R_TILEGX_IMM16_X1_HW2_PLT_PCREL = 71; 2463 enum R_TILEGX_IMM16_X0_HW0_LAST_GOT = 72; 2464 enum R_TILEGX_IMM16_X1_HW0_LAST_GOT = 73; 2465 enum R_TILEGX_IMM16_X0_HW1_LAST_GOT = 74; 2466 enum R_TILEGX_IMM16_X1_HW1_LAST_GOT = 75; 2467 enum R_TILEGX_IMM16_X0_HW3_PLT_PCREL = 76; 2468 enum R_TILEGX_IMM16_X1_HW3_PLT_PCREL = 77; 2469 enum R_TILEGX_IMM16_X0_HW0_TLS_GD = 78; 2470 enum R_TILEGX_IMM16_X1_HW0_TLS_GD = 79; 2471 enum R_TILEGX_IMM16_X0_HW0_TLS_LE = 80; 2472 enum R_TILEGX_IMM16_X1_HW0_TLS_LE = 81; 2473 enum R_TILEGX_IMM16_X0_HW0_LAST_TLS_LE = 82; 2474 enum R_TILEGX_IMM16_X1_HW0_LAST_TLS_LE = 83; 2475 enum R_TILEGX_IMM16_X0_HW1_LAST_TLS_LE = 84; 2476 enum R_TILEGX_IMM16_X1_HW1_LAST_TLS_LE = 85; 2477 enum R_TILEGX_IMM16_X0_HW0_LAST_TLS_GD = 86; 2478 enum R_TILEGX_IMM16_X1_HW0_LAST_TLS_GD = 87; 2479 enum R_TILEGX_IMM16_X0_HW1_LAST_TLS_GD = 88; 2480 enum R_TILEGX_IMM16_X1_HW1_LAST_TLS_GD = 89; 2481 enum R_TILEGX_IMM16_X0_HW0_TLS_IE = 92; 2482 enum R_TILEGX_IMM16_X1_HW0_TLS_IE = 93; 2483 enum R_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL = 94; 2484 enum R_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL = 95; 2485 enum R_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL = 96; 2486 enum R_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL = 97; 2487 enum R_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL = 98; 2488 enum R_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL = 99; 2489 enum R_TILEGX_IMM16_X0_HW0_LAST_TLS_IE = 100; 2490 enum R_TILEGX_IMM16_X1_HW0_LAST_TLS_IE = 101; 2491 enum R_TILEGX_IMM16_X0_HW1_LAST_TLS_IE = 102; 2492 enum R_TILEGX_IMM16_X1_HW1_LAST_TLS_IE = 103; 2493 enum R_TILEGX_TLS_DTPMOD64 = 106; 2494 enum R_TILEGX_TLS_DTPOFF64 = 107; 2495 enum R_TILEGX_TLS_TPOFF64 = 108; 2496 enum R_TILEGX_TLS_DTPMOD32 = 109; 2497 enum R_TILEGX_TLS_DTPOFF32 = 110; 2498 enum R_TILEGX_TLS_TPOFF32 = 111; 2499 enum R_TILEGX_TLS_GD_CALL = 112; 2500 enum R_TILEGX_IMM8_X0_TLS_GD_ADD = 113; 2501 enum R_TILEGX_IMM8_X1_TLS_GD_ADD = 114; 2502 enum R_TILEGX_IMM8_Y0_TLS_GD_ADD = 115; 2503 enum R_TILEGX_IMM8_Y1_TLS_GD_ADD = 116; 2504 enum R_TILEGX_TLS_IE_LOAD = 117; 2505 enum R_TILEGX_IMM8_X0_TLS_ADD = 118; 2506 enum R_TILEGX_IMM8_X1_TLS_ADD = 119; 2507 enum R_TILEGX_IMM8_Y0_TLS_ADD = 120; 2508 enum R_TILEGX_IMM8_Y1_TLS_ADD = 121; 2509 2510 enum R_TILEGX_GNU_VTINHERIT = 128; 2511 enum R_TILEGX_GNU_VTENTRY = 129; 2512 2513 enum R_TILEGX_NUM = 130; 2514 2515 enum EF_RISCV_RVC = 0x0001; 2516 enum EF_RISCV_FLOAT_ABI = 0x0006; 2517 enum EF_RISCV_FLOAT_ABI_SOFT = 0x0000; 2518 enum EF_RISCV_FLOAT_ABI_SINGLE = 0x0002; 2519 enum EF_RISCV_FLOAT_ABI_DOUBLE = 0x0004; 2520 enum EF_RISCV_FLOAT_ABI_QUAD = 0x0006; 2521 enum R_RISCV_NONE = 0; 2522 enum R_RISCV_32 = 1; 2523 enum R_RISCV_64 = 2; 2524 enum R_RISCV_RELATIVE = 3; 2525 enum R_RISCV_COPY = 4; 2526 enum R_RISCV_JUMP_SLOT = 5; 2527 enum R_RISCV_TLS_DTPMOD32 = 6; 2528 enum R_RISCV_TLS_DTPMOD64 = 7; 2529 enum R_RISCV_TLS_DTPREL32 = 8; 2530 enum R_RISCV_TLS_DTPREL64 = 9; 2531 enum R_RISCV_TLS_TPREL32 = 10; 2532 enum R_RISCV_TLS_TPREL64 = 11; 2533 enum R_RISCV_BRANCH = 16; 2534 enum R_RISCV_JAL = 17; 2535 enum R_RISCV_CALL = 18; 2536 enum R_RISCV_CALL_PLT = 19; 2537 enum R_RISCV_GOT_HI20 = 20; 2538 enum R_RISCV_TLS_GOT_HI20 = 21; 2539 enum R_RISCV_TLS_GD_HI20 = 22; 2540 enum R_RISCV_PCREL_HI20 = 23; 2541 enum R_RISCV_PCREL_LO12_I = 24; 2542 enum R_RISCV_PCREL_LO12_S = 25; 2543 enum R_RISCV_HI20 = 26; 2544 enum R_RISCV_LO12_I = 27; 2545 enum R_RISCV_LO12_S = 28; 2546 enum R_RISCV_TPREL_HI20 = 29; 2547 enum R_RISCV_TPREL_LO12_I = 30; 2548 enum R_RISCV_TPREL_LO12_S = 31; 2549 enum R_RISCV_TPREL_ADD = 32; 2550 enum R_RISCV_ADD8 = 33; 2551 enum R_RISCV_ADD16 = 34; 2552 enum R_RISCV_ADD32 = 35; 2553 enum R_RISCV_ADD64 = 36; 2554 enum R_RISCV_SUB8 = 37; 2555 enum R_RISCV_SUB16 = 38; 2556 enum R_RISCV_SUB32 = 39; 2557 enum R_RISCV_SUB64 = 40; 2558 enum R_RISCV_GNU_VTINHERIT = 41; 2559 enum R_RISCV_GNU_VTENTRY = 42; 2560 enum R_RISCV_ALIGN = 43; 2561 enum R_RISCV_RVC_BRANCH = 44; 2562 enum R_RISCV_RVC_JUMP = 45; 2563 enum R_RISCV_RVC_LUI = 46; 2564 enum R_RISCV_GPREL_I = 47; 2565 enum R_RISCV_GPREL_S = 48; 2566 enum R_RISCV_TPREL_I = 49; 2567 enum R_RISCV_TPREL_S = 50; 2568 enum R_RISCV_RELAX = 51; 2569 enum R_RISCV_SUB6 = 52; 2570 enum R_RISCV_SET6 = 53; 2571 enum R_RISCV_SET8 = 54; 2572 enum R_RISCV_SET16 = 55; 2573 enum R_RISCV_SET32 = 56; 2574 enum R_RISCV_32_PCREL = 57; 2575 enum R_RISCV_IRELATIVE = 58; 2576 enum R_RISCV_NUM = 59;