1 /* 2 From musl include/elf.h 3 4 Copyright © 2005-2014 Rich Felker, et al. 5 6 Permission is hereby granted, free of charge, to any person obtaining 7 a copy of this software and associated documentation files (the 8 "Software"), to deal in the Software without restriction, including 9 without limitation the rights to use, copy, modify, merge, publish, 10 distribute, sublicense, and/or sell copies of the Software, and to 11 permit persons to whom the Software is furnished to do so, subject to 12 the following conditions: 13 14 The above copyright notice and this permission notice shall be 15 included in all copies or substantial portions of the Software. 16 17 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 18 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 20 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 21 CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 22 TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 23 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 */ 25 26 #ifndef _ELF_H 27 #define _ELF_H 28 29 #ifdef __cplusplus 30 extern "C" { 31 #endif 32 33 #include <stdint.h> 34 35 typedef uint16_t Elf32_Half; 36 typedef uint16_t Elf64_Half; 37 38 typedef uint32_t Elf32_Word; 39 typedef int32_t Elf32_Sword; 40 typedef uint32_t Elf64_Word; 41 typedef int32_t Elf64_Sword; 42 43 typedef uint64_t Elf32_Xword; 44 typedef int64_t Elf32_Sxword; 45 typedef uint64_t Elf64_Xword; 46 typedef int64_t Elf64_Sxword; 47 48 typedef uint32_t Elf32_Addr; 49 typedef uint64_t Elf64_Addr; 50 51 typedef uint32_t Elf32_Off; 52 typedef uint64_t Elf64_Off; 53 54 typedef uint16_t Elf32_Section; 55 typedef uint16_t Elf64_Section; 56 57 typedef Elf32_Half Elf32_Versym; 58 typedef Elf64_Half Elf64_Versym; 59 60 #define EI_NIDENT (16) 61 62 typedef struct { 63 unsigned char e_ident[EI_NIDENT]; 64 Elf32_Half e_type; 65 Elf32_Half e_machine; 66 Elf32_Word e_version; 67 Elf32_Addr e_entry; 68 Elf32_Off e_phoff; 69 Elf32_Off e_shoff; 70 Elf32_Word e_flags; 71 Elf32_Half e_ehsize; 72 Elf32_Half e_phentsize; 73 Elf32_Half e_phnum; 74 Elf32_Half e_shentsize; 75 Elf32_Half e_shnum; 76 Elf32_Half e_shstrndx; 77 } Elf32_Ehdr; 78 79 typedef struct { 80 unsigned char e_ident[EI_NIDENT]; 81 Elf64_Half e_type; 82 Elf64_Half e_machine; 83 Elf64_Word e_version; 84 Elf64_Addr e_entry; 85 Elf64_Off e_phoff; 86 Elf64_Off e_shoff; 87 Elf64_Word e_flags; 88 Elf64_Half e_ehsize; 89 Elf64_Half e_phentsize; 90 Elf64_Half e_phnum; 91 Elf64_Half e_shentsize; 92 Elf64_Half e_shnum; 93 Elf64_Half e_shstrndx; 94 } Elf64_Ehdr; 95 96 #define EI_MAG0 0 97 #define ELFMAG0 0x7f 98 99 #define EI_MAG1 1 100 #define ELFMAG1 'E' 101 102 #define EI_MAG2 2 103 #define ELFMAG2 'L' 104 105 #define EI_MAG3 3 106 #define ELFMAG3 'F' 107 108 109 #define ELFMAG "\177ELF" 110 #define SELFMAG 4 111 112 #define EI_CLASS 4 113 #define ELFCLASSNONE 0 114 #define ELFCLASS32 1 115 #define ELFCLASS64 2 116 #define ELFCLASSNUM 3 117 118 #define EI_DATA 5 119 #define ELFDATANONE 0 120 #define ELFDATA2LSB 1 121 #define ELFDATA2MSB 2 122 #define ELFDATANUM 3 123 124 #define EI_VERSION 6 125 126 127 #define EI_OSABI 7 128 #define ELFOSABI_NONE 0 129 #define ELFOSABI_SYSV 0 130 #define ELFOSABI_HPUX 1 131 #define ELFOSABI_NETBSD 2 132 #define ELFOSABI_LINUX 3 133 #define ELFOSABI_GNU 3 134 #define ELFOSABI_SOLARIS 6 135 #define ELFOSABI_AIX 7 136 #define ELFOSABI_IRIX 8 137 #define ELFOSABI_FREEBSD 9 138 #define ELFOSABI_TRU64 10 139 #define ELFOSABI_MODESTO 11 140 #define ELFOSABI_OPENBSD 12 141 #define ELFOSABI_ARM 97 142 #define ELFOSABI_STANDALONE 255 143 144 #define EI_ABIVERSION 8 145 146 #define EI_PAD 9 147 148 149 150 #define ET_NONE 0 151 #define ET_REL 1 152 #define ET_EXEC 2 153 #define ET_DYN 3 154 #define ET_CORE 4 155 #define ET_NUM 5 156 #define ET_LOOS 0xfe00 157 #define ET_HIOS 0xfeff 158 #define ET_LOPROC 0xff00 159 #define ET_HIPROC 0xffff 160 161 162 163 #define EM_NONE 0 164 #define EM_M32 1 165 #define EM_SPARC 2 166 #define EM_386 3 167 #define EM_68K 4 168 #define EM_88K 5 169 #define EM_860 7 170 #define EM_MIPS 8 171 #define EM_S370 9 172 #define EM_MIPS_RS3_LE 10 173 174 #define EM_PARISC 15 175 #define EM_VPP500 17 176 #define EM_SPARC32PLUS 18 177 #define EM_960 19 178 #define EM_PPC 20 179 #define EM_PPC64 21 180 #define EM_S390 22 181 182 #define EM_V800 36 183 #define EM_FR20 37 184 #define EM_RH32 38 185 #define EM_RCE 39 186 #define EM_ARM 40 187 #define EM_FAKE_ALPHA 41 188 #define EM_SH 42 189 #define EM_SPARCV9 43 190 #define EM_TRICORE 44 191 #define EM_ARC 45 192 #define EM_H8_300 46 193 #define EM_H8_300H 47 194 #define EM_H8S 48 195 #define EM_H8_500 49 196 #define EM_IA_64 50 197 #define EM_MIPS_X 51 198 #define EM_COLDFIRE 52 199 #define EM_68HC12 53 200 #define EM_MMA 54 201 #define EM_PCP 55 202 #define EM_NCPU 56 203 #define EM_NDR1 57 204 #define EM_STARCORE 58 205 #define EM_ME16 59 206 #define EM_ST100 60 207 #define EM_TINYJ 61 208 #define EM_X86_64 62 209 #define EM_PDSP 63 210 211 #define EM_FX66 66 212 #define EM_ST9PLUS 67 213 #define EM_ST7 68 214 #define EM_68HC16 69 215 #define EM_68HC11 70 216 #define EM_68HC08 71 217 #define EM_68HC05 72 218 #define EM_SVX 73 219 #define EM_ST19 74 220 #define EM_VAX 75 221 #define EM_CRIS 76 222 #define EM_JAVELIN 77 223 #define EM_FIREPATH 78 224 #define EM_ZSP 79 225 #define EM_MMIX 80 226 #define EM_HUANY 81 227 #define EM_PRISM 82 228 #define EM_AVR 83 229 #define EM_FR30 84 230 #define EM_D10V 85 231 #define EM_D30V 86 232 #define EM_V850 87 233 #define EM_M32R 88 234 #define EM_MN10300 89 235 #define EM_MN10200 90 236 #define EM_PJ 91 237 #define EM_OR1K 92 238 #define EM_OPENRISC 92 239 #define EM_ARC_A5 93 240 #define EM_ARC_COMPACT 93 241 #define EM_XTENSA 94 242 #define EM_VIDEOCORE 95 243 #define EM_TMM_GPP 96 244 #define EM_NS32K 97 245 #define EM_TPC 98 246 #define EM_SNP1K 99 247 #define EM_ST200 100 248 #define EM_IP2K 101 249 #define EM_MAX 102 250 #define EM_CR 103 251 #define EM_F2MC16 104 252 #define EM_MSP430 105 253 #define EM_BLACKFIN 106 254 #define EM_SE_C33 107 255 #define EM_SEP 108 256 #define EM_ARCA 109 257 #define EM_UNICORE 110 258 #define EM_EXCESS 111 259 #define EM_DXP 112 260 #define EM_ALTERA_NIOS2 113 261 #define EM_CRX 114 262 #define EM_XGATE 115 263 #define EM_C166 116 264 #define EM_M16C 117 265 #define EM_DSPIC30F 118 266 #define EM_CE 119 267 #define EM_M32C 120 268 #define EM_TSK3000 131 269 #define EM_RS08 132 270 #define EM_SHARC 133 271 #define EM_ECOG2 134 272 #define EM_SCORE7 135 273 #define EM_DSP24 136 274 #define EM_VIDEOCORE3 137 275 #define EM_LATTICEMICO32 138 276 #define EM_SE_C17 139 277 #define EM_TI_C6000 140 278 #define EM_TI_C2000 141 279 #define EM_TI_C5500 142 280 #define EM_TI_ARP32 143 281 #define EM_TI_PRU 144 282 #define EM_MMDSP_PLUS 160 283 #define EM_CYPRESS_M8C 161 284 #define EM_R32C 162 285 #define EM_TRIMEDIA 163 286 #define EM_QDSP6 164 287 #define EM_8051 165 288 #define EM_STXP7X 166 289 #define EM_NDS32 167 290 #define EM_ECOG1X 168 291 #define EM_MAXQ30 169 292 #define EM_XIMO16 170 293 #define EM_MANIK 171 294 #define EM_CRAYNV2 172 295 #define EM_RX 173 296 #define EM_METAG 174 297 #define EM_MCST_ELBRUS 175 298 #define EM_ECOG16 176 299 #define EM_CR16 177 300 #define EM_ETPU 178 301 #define EM_SLE9X 179 302 #define EM_L10M 180 303 #define EM_K10M 181 304 #define EM_AARCH64 183 305 #define EM_AVR32 185 306 #define EM_STM8 186 307 #define EM_TILE64 187 308 #define EM_TILEPRO 188 309 #define EM_MICROBLAZE 189 310 #define EM_CUDA 190 311 #define EM_TILEGX 191 312 #define EM_CLOUDSHIELD 192 313 #define EM_COREA_1ST 193 314 #define EM_COREA_2ND 194 315 #define EM_ARC_COMPACT2 195 316 #define EM_OPEN8 196 317 #define EM_RL78 197 318 #define EM_VIDEOCORE5 198 319 #define EM_78KOR 199 320 #define EM_56800EX 200 321 #define EM_BA1 201 322 #define EM_BA2 202 323 #define EM_XCORE 203 324 #define EM_MCHP_PIC 204 325 #define EM_KM32 210 326 #define EM_KMX32 211 327 #define EM_EMX16 212 328 #define EM_EMX8 213 329 #define EM_KVARC 214 330 #define EM_CDP 215 331 #define EM_COGE 216 332 #define EM_COOL 217 333 #define EM_NORC 218 334 #define EM_CSR_KALIMBA 219 335 #define EM_Z80 220 336 #define EM_VISIUM 221 337 #define EM_FT32 222 338 #define EM_MOXIE 223 339 #define EM_AMDGPU 224 340 #define EM_RISCV 243 341 #define EM_BPF 247 342 #define EM_NUM 248 343 344 #define EM_ALPHA 0x9026 345 346 #define EV_NONE 0 347 #define EV_CURRENT 1 348 #define EV_NUM 2 349 350 typedef struct { 351 Elf32_Word sh_name; 352 Elf32_Word sh_type; 353 Elf32_Word sh_flags; 354 Elf32_Addr sh_addr; 355 Elf32_Off sh_offset; 356 Elf32_Word sh_size; 357 Elf32_Word sh_link; 358 Elf32_Word sh_info; 359 Elf32_Word sh_addralign; 360 Elf32_Word sh_entsize; 361 } Elf32_Shdr; 362 363 typedef struct { 364 Elf64_Word sh_name; 365 Elf64_Word sh_type; 366 Elf64_Xword sh_flags; 367 Elf64_Addr sh_addr; 368 Elf64_Off sh_offset; 369 Elf64_Xword sh_size; 370 Elf64_Word sh_link; 371 Elf64_Word sh_info; 372 Elf64_Xword sh_addralign; 373 Elf64_Xword sh_entsize; 374 } Elf64_Shdr; 375 376 377 378 #define SHN_UNDEF 0 379 #define SHN_LORESERVE 0xff00 380 #define SHN_LOPROC 0xff00 381 #define SHN_BEFORE 0xff00 382 383 #define SHN_AFTER 0xff01 384 385 #define SHN_HIPROC 0xff1f 386 #define SHN_LOOS 0xff20 387 #define SHN_HIOS 0xff3f 388 #define SHN_ABS 0xfff1 389 #define SHN_COMMON 0xfff2 390 #define SHN_XINDEX 0xffff 391 #define SHN_HIRESERVE 0xffff 392 393 394 395 #define SHT_NULL 0 396 #define SHT_PROGBITS 1 397 #define SHT_SYMTAB 2 398 #define SHT_STRTAB 3 399 #define SHT_RELA 4 400 #define SHT_HASH 5 401 #define SHT_DYNAMIC 6 402 #define SHT_NOTE 7 403 #define SHT_NOBITS 8 404 #define SHT_REL 9 405 #define SHT_SHLIB 10 406 #define SHT_DYNSYM 11 407 #define SHT_INIT_ARRAY 14 408 #define SHT_FINI_ARRAY 15 409 #define SHT_PREINIT_ARRAY 16 410 #define SHT_GROUP 17 411 #define SHT_SYMTAB_SHNDX 18 412 #define SHT_NUM 19 413 #define SHT_LOOS 0x60000000 414 #define SHT_GNU_ATTRIBUTES 0x6ffffff5 415 #define SHT_GNU_HASH 0x6ffffff6 416 #define SHT_GNU_LIBLIST 0x6ffffff7 417 #define SHT_CHECKSUM 0x6ffffff8 418 #define SHT_LOSUNW 0x6ffffffa 419 #define SHT_SUNW_move 0x6ffffffa 420 #define SHT_SUNW_COMDAT 0x6ffffffb 421 #define SHT_SUNW_syminfo 0x6ffffffc 422 #define SHT_GNU_verdef 0x6ffffffd 423 #define SHT_GNU_verneed 0x6ffffffe 424 #define SHT_GNU_versym 0x6fffffff 425 #define SHT_HISUNW 0x6fffffff 426 #define SHT_HIOS 0x6fffffff 427 #define SHT_LOPROC 0x70000000 428 #define SHT_HIPROC 0x7fffffff 429 #define SHT_LOUSER 0x80000000 430 #define SHT_HIUSER 0x8fffffff 431 432 #define SHF_WRITE (1 << 0) 433 #define SHF_ALLOC (1 << 1) 434 #define SHF_EXECINSTR (1 << 2) 435 #define SHF_MERGE (1 << 4) 436 #define SHF_STRINGS (1 << 5) 437 #define SHF_INFO_LINK (1 << 6) 438 #define SHF_LINK_ORDER (1 << 7) 439 #define SHF_OS_NONCONFORMING (1 << 8) 440 441 #define SHF_GROUP (1 << 9) 442 #define SHF_TLS (1 << 10) 443 #define SHF_COMPRESSED (1 << 11) 444 #define SHF_MASKOS 0x0ff00000 445 #define SHF_MASKPROC 0xf0000000 446 #define SHF_ORDERED (1 << 30) 447 #define SHF_EXCLUDE (1U << 31) 448 449 typedef struct { 450 Elf32_Word ch_type; 451 Elf32_Word ch_size; 452 Elf32_Word ch_addralign; 453 } Elf32_Chdr; 454 455 typedef struct { 456 Elf64_Word ch_type; 457 Elf64_Word ch_reserved; 458 Elf64_Xword ch_size; 459 Elf64_Xword ch_addralign; 460 } Elf64_Chdr; 461 462 #define ELFCOMPRESS_ZLIB 1 463 #define ELFCOMPRESS_LOOS 0x60000000 464 #define ELFCOMPRESS_HIOS 0x6fffffff 465 #define ELFCOMPRESS_LOPROC 0x70000000 466 #define ELFCOMPRESS_HIPROC 0x7fffffff 467 468 469 #define GRP_COMDAT 0x1 470 471 typedef struct { 472 Elf32_Word st_name; 473 Elf32_Addr st_value; 474 Elf32_Word st_size; 475 unsigned char st_info; 476 unsigned char st_other; 477 Elf32_Section st_shndx; 478 } Elf32_Sym; 479 480 typedef struct { 481 Elf64_Word st_name; 482 unsigned char st_info; 483 unsigned char st_other; 484 Elf64_Section st_shndx; 485 Elf64_Addr st_value; 486 Elf64_Xword st_size; 487 } Elf64_Sym; 488 489 typedef struct { 490 Elf32_Half si_boundto; 491 Elf32_Half si_flags; 492 } Elf32_Syminfo; 493 494 typedef struct { 495 Elf64_Half si_boundto; 496 Elf64_Half si_flags; 497 } Elf64_Syminfo; 498 499 #define SYMINFO_BT_SELF 0xffff 500 #define SYMINFO_BT_PARENT 0xfffe 501 #define SYMINFO_BT_LOWRESERVE 0xff00 502 503 #define SYMINFO_FLG_DIRECT 0x0001 504 #define SYMINFO_FLG_PASSTHRU 0x0002 505 #define SYMINFO_FLG_COPY 0x0004 506 #define SYMINFO_FLG_LAZYLOAD 0x0008 507 508 #define SYMINFO_NONE 0 509 #define SYMINFO_CURRENT 1 510 #define SYMINFO_NUM 2 511 512 #define ELF32_ST_BIND(val) (((unsigned char) (val)) >> 4) 513 #define ELF32_ST_TYPE(val) ((val) & 0xf) 514 #define ELF32_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf)) 515 516 #define ELF64_ST_BIND(val) ELF32_ST_BIND (val) 517 #define ELF64_ST_TYPE(val) ELF32_ST_TYPE (val) 518 #define ELF64_ST_INFO(bind, type) ELF32_ST_INFO ((bind), (type)) 519 520 #define STB_LOCAL 0 521 #define STB_GLOBAL 1 522 #define STB_WEAK 2 523 #define STB_NUM 3 524 #define STB_LOOS 10 525 #define STB_GNU_UNIQUE 10 526 #define STB_HIOS 12 527 #define STB_LOPROC 13 528 #define STB_HIPROC 15 529 530 #define STT_NOTYPE 0 531 #define STT_OBJECT 1 532 #define STT_FUNC 2 533 #define STT_SECTION 3 534 #define STT_FILE 4 535 #define STT_COMMON 5 536 #define STT_TLS 6 537 #define STT_NUM 7 538 #define STT_LOOS 10 539 #define STT_GNU_IFUNC 10 540 #define STT_HIOS 12 541 #define STT_LOPROC 13 542 #define STT_HIPROC 15 543 544 #define STN_UNDEF 0 545 546 #define ELF32_ST_VISIBILITY(o) ((o) & 0x03) 547 #define ELF64_ST_VISIBILITY(o) ELF32_ST_VISIBILITY (o) 548 549 #define STV_DEFAULT 0 550 #define STV_INTERNAL 1 551 #define STV_HIDDEN 2 552 #define STV_PROTECTED 3 553 554 555 556 557 typedef struct { 558 Elf32_Addr r_offset; 559 Elf32_Word r_info; 560 } Elf32_Rel; 561 562 typedef struct { 563 Elf64_Addr r_offset; 564 Elf64_Xword r_info; 565 } Elf64_Rel; 566 567 568 569 typedef struct { 570 Elf32_Addr r_offset; 571 Elf32_Word r_info; 572 Elf32_Sword r_addend; 573 } Elf32_Rela; 574 575 typedef struct { 576 Elf64_Addr r_offset; 577 Elf64_Xword r_info; 578 Elf64_Sxword r_addend; 579 } Elf64_Rela; 580 581 582 583 #define ELF32_R_SYM(val) ((val) >> 8) 584 #define ELF32_R_TYPE(val) ((val) & 0xff) 585 #define ELF32_R_INFO(sym, type) (((sym) << 8) + ((type) & 0xff)) 586 587 #define ELF64_R_SYM(i) ((i) >> 32) 588 #define ELF64_R_TYPE(i) ((i) & 0xffffffff) 589 #define ELF64_R_INFO(sym,type) ((((Elf64_Xword) (sym)) << 32) + (type)) 590 591 592 593 typedef struct { 594 Elf32_Word p_type; 595 Elf32_Off p_offset; 596 Elf32_Addr p_vaddr; 597 Elf32_Addr p_paddr; 598 Elf32_Word p_filesz; 599 Elf32_Word p_memsz; 600 Elf32_Word p_flags; 601 Elf32_Word p_align; 602 } Elf32_Phdr; 603 604 typedef struct { 605 Elf64_Word p_type; 606 Elf64_Word p_flags; 607 Elf64_Off p_offset; 608 Elf64_Addr p_vaddr; 609 Elf64_Addr p_paddr; 610 Elf64_Xword p_filesz; 611 Elf64_Xword p_memsz; 612 Elf64_Xword p_align; 613 } Elf64_Phdr; 614 615 616 617 #define PT_NULL 0 618 #define PT_LOAD 1 619 #define PT_DYNAMIC 2 620 #define PT_INTERP 3 621 #define PT_NOTE 4 622 #define PT_SHLIB 5 623 #define PT_PHDR 6 624 #define PT_TLS 7 625 #define PT_NUM 8 626 #define PT_LOOS 0x60000000 627 #define PT_GNU_EH_FRAME 0x6474e550 628 #define PT_GNU_STACK 0x6474e551 629 #define PT_GNU_RELRO 0x6474e552 630 #define PT_LOSUNW 0x6ffffffa 631 #define PT_SUNWBSS 0x6ffffffa 632 #define PT_SUNWSTACK 0x6ffffffb 633 #define PT_HISUNW 0x6fffffff 634 #define PT_HIOS 0x6fffffff 635 #define PT_LOPROC 0x70000000 636 #define PT_HIPROC 0x7fffffff 637 638 639 #define PN_XNUM 0xffff 640 641 642 #define PF_X (1 << 0) 643 #define PF_W (1 << 1) 644 #define PF_R (1 << 2) 645 #define PF_MASKOS 0x0ff00000 646 #define PF_MASKPROC 0xf0000000 647 648 649 650 #define NT_PRSTATUS 1 651 #define NT_FPREGSET 2 652 #define NT_PRPSINFO 3 653 #define NT_PRXREG 4 654 #define NT_TASKSTRUCT 4 655 #define NT_PLATFORM 5 656 #define NT_AUXV 6 657 #define NT_GWINDOWS 7 658 #define NT_ASRS 8 659 #define NT_PSTATUS 10 660 #define NT_PSINFO 13 661 #define NT_PRCRED 14 662 #define NT_UTSNAME 15 663 #define NT_LWPSTATUS 16 664 #define NT_LWPSINFO 17 665 #define NT_PRFPXREG 20 666 #define NT_SIGINFO 0x53494749 667 #define NT_FILE 0x46494c45 668 #define NT_PRXFPREG 0x46e62b7f 669 #define NT_PPC_VMX 0x100 670 #define NT_PPC_SPE 0x101 671 #define NT_PPC_VSX 0x102 672 #define NT_386_TLS 0x200 673 #define NT_386_IOPERM 0x201 674 #define NT_X86_XSTATE 0x202 675 #define NT_S390_HIGH_GPRS 0x300 676 #define NT_S390_TIMER 0x301 677 #define NT_S390_TODCMP 0x302 678 #define NT_S390_TODPREG 0x303 679 #define NT_S390_CTRS 0x304 680 #define NT_S390_PREFIX 0x305 681 #define NT_S390_LAST_BREAK 0x306 682 #define NT_S390_SYSTEM_CALL 0x307 683 #define NT_S390_TDB 0x308 684 #define NT_ARM_VFP 0x400 685 #define NT_ARM_TLS 0x401 686 #define NT_ARM_HW_BREAK 0x402 687 #define NT_ARM_HW_WATCH 0x403 688 #define NT_ARM_SYSTEM_CALL 0x404 689 #define NT_ARM_SVE 0x405 690 #define NT_METAG_CBUF 0x500 691 #define NT_METAG_RPIPE 0x501 692 #define NT_METAG_TLS 0x502 693 #define NT_VERSION 1 694 695 696 697 698 typedef struct { 699 Elf32_Sword d_tag; 700 union { 701 Elf32_Word d_val; 702 Elf32_Addr d_ptr; 703 } d_un; 704 } Elf32_Dyn; 705 706 typedef struct { 707 Elf64_Sxword d_tag; 708 union { 709 Elf64_Xword d_val; 710 Elf64_Addr d_ptr; 711 } d_un; 712 } Elf64_Dyn; 713 714 715 716 #define DT_NULL 0 717 #define DT_NEEDED 1 718 #define DT_PLTRELSZ 2 719 #define DT_PLTGOT 3 720 #define DT_HASH 4 721 #define DT_STRTAB 5 722 #define DT_SYMTAB 6 723 #define DT_RELA 7 724 #define DT_RELASZ 8 725 #define DT_RELAENT 9 726 #define DT_STRSZ 10 727 #define DT_SYMENT 11 728 #define DT_INIT 12 729 #define DT_FINI 13 730 #define DT_SONAME 14 731 #define DT_RPATH 15 732 #define DT_SYMBOLIC 16 733 #define DT_REL 17 734 #define DT_RELSZ 18 735 #define DT_RELENT 19 736 #define DT_PLTREL 20 737 #define DT_DEBUG 21 738 #define DT_TEXTREL 22 739 #define DT_JMPREL 23 740 #define DT_BIND_NOW 24 741 #define DT_INIT_ARRAY 25 742 #define DT_FINI_ARRAY 26 743 #define DT_INIT_ARRAYSZ 27 744 #define DT_FINI_ARRAYSZ 28 745 #define DT_RUNPATH 29 746 #define DT_FLAGS 30 747 #define DT_ENCODING 32 748 #define DT_PREINIT_ARRAY 32 749 #define DT_PREINIT_ARRAYSZ 33 750 #define DT_NUM 34 751 #define DT_LOOS 0x6000000d 752 #define DT_HIOS 0x6ffff000 753 #define DT_LOPROC 0x70000000 754 #define DT_HIPROC 0x7fffffff 755 #define DT_PROCNUM DT_MIPS_NUM 756 757 #define DT_VALRNGLO 0x6ffffd00 758 #define DT_GNU_PRELINKED 0x6ffffdf5 759 #define DT_GNU_CONFLICTSZ 0x6ffffdf6 760 #define DT_GNU_LIBLISTSZ 0x6ffffdf7 761 #define DT_CHECKSUM 0x6ffffdf8 762 #define DT_PLTPADSZ 0x6ffffdf9 763 #define DT_MOVEENT 0x6ffffdfa 764 #define DT_MOVESZ 0x6ffffdfb 765 #define DT_FEATURE_1 0x6ffffdfc 766 #define DT_POSFLAG_1 0x6ffffdfd 767 768 #define DT_SYMINSZ 0x6ffffdfe 769 #define DT_SYMINENT 0x6ffffdff 770 #define DT_VALRNGHI 0x6ffffdff 771 #define DT_VALTAGIDX(tag) (DT_VALRNGHI - (tag)) 772 #define DT_VALNUM 12 773 774 #define DT_ADDRRNGLO 0x6ffffe00 775 #define DT_GNU_HASH 0x6ffffef5 776 #define DT_TLSDESC_PLT 0x6ffffef6 777 #define DT_TLSDESC_GOT 0x6ffffef7 778 #define DT_GNU_CONFLICT 0x6ffffef8 779 #define DT_GNU_LIBLIST 0x6ffffef9 780 #define DT_CONFIG 0x6ffffefa 781 #define DT_DEPAUDIT 0x6ffffefb 782 #define DT_AUDIT 0x6ffffefc 783 #define DT_PLTPAD 0x6ffffefd 784 #define DT_MOVETAB 0x6ffffefe 785 #define DT_SYMINFO 0x6ffffeff 786 #define DT_ADDRRNGHI 0x6ffffeff 787 #define DT_ADDRTAGIDX(tag) (DT_ADDRRNGHI - (tag)) 788 #define DT_ADDRNUM 11 789 790 791 792 #define DT_VERSYM 0x6ffffff0 793 794 #define DT_RELACOUNT 0x6ffffff9 795 #define DT_RELCOUNT 0x6ffffffa 796 797 798 #define DT_FLAGS_1 0x6ffffffb 799 #define DT_VERDEF 0x6ffffffc 800 801 #define DT_VERDEFNUM 0x6ffffffd 802 #define DT_VERNEED 0x6ffffffe 803 804 #define DT_VERNEEDNUM 0x6fffffff 805 #define DT_VERSIONTAGIDX(tag) (DT_VERNEEDNUM - (tag)) 806 #define DT_VERSIONTAGNUM 16 807 808 809 810 #define DT_AUXILIARY 0x7ffffffd 811 #define DT_FILTER 0x7fffffff 812 #define DT_EXTRATAGIDX(tag) ((Elf32_Word)-((Elf32_Sword) (tag) <<1>>1)-1) 813 #define DT_EXTRANUM 3 814 815 816 #define DF_ORIGIN 0x00000001 817 #define DF_SYMBOLIC 0x00000002 818 #define DF_TEXTREL 0x00000004 819 #define DF_BIND_NOW 0x00000008 820 #define DF_STATIC_TLS 0x00000010 821 822 823 824 #define DF_1_NOW 0x00000001 825 #define DF_1_GLOBAL 0x00000002 826 #define DF_1_GROUP 0x00000004 827 #define DF_1_NODELETE 0x00000008 828 #define DF_1_LOADFLTR 0x00000010 829 #define DF_1_INITFIRST 0x00000020 830 #define DF_1_NOOPEN 0x00000040 831 #define DF_1_ORIGIN 0x00000080 832 #define DF_1_DIRECT 0x00000100 833 #define DF_1_TRANS 0x00000200 834 #define DF_1_INTERPOSE 0x00000400 835 #define DF_1_NODEFLIB 0x00000800 836 #define DF_1_NODUMP 0x00001000 837 #define DF_1_CONFALT 0x00002000 838 #define DF_1_ENDFILTEE 0x00004000 839 #define DF_1_DISPRELDNE 0x00008000 840 #define DF_1_DISPRELPND 0x00010000 841 #define DF_1_NODIRECT 0x00020000 842 #define DF_1_IGNMULDEF 0x00040000 843 #define DF_1_NOKSYMS 0x00080000 844 #define DF_1_NOHDR 0x00100000 845 #define DF_1_EDITED 0x00200000 846 #define DF_1_NORELOC 0x00400000 847 #define DF_1_SYMINTPOSE 0x00800000 848 #define DF_1_GLOBAUDIT 0x01000000 849 #define DF_1_SINGLETON 0x02000000 850 851 #define DTF_1_PARINIT 0x00000001 852 #define DTF_1_CONFEXP 0x00000002 853 854 855 #define DF_P1_LAZYLOAD 0x00000001 856 #define DF_P1_GROUPPERM 0x00000002 857 858 859 860 861 typedef struct { 862 Elf32_Half vd_version; 863 Elf32_Half vd_flags; 864 Elf32_Half vd_ndx; 865 Elf32_Half vd_cnt; 866 Elf32_Word vd_hash; 867 Elf32_Word vd_aux; 868 Elf32_Word vd_next; 869 } Elf32_Verdef; 870 871 typedef struct { 872 Elf64_Half vd_version; 873 Elf64_Half vd_flags; 874 Elf64_Half vd_ndx; 875 Elf64_Half vd_cnt; 876 Elf64_Word vd_hash; 877 Elf64_Word vd_aux; 878 Elf64_Word vd_next; 879 } Elf64_Verdef; 880 881 882 883 #define VER_DEF_NONE 0 884 #define VER_DEF_CURRENT 1 885 #define VER_DEF_NUM 2 886 887 888 #define VER_FLG_BASE 0x1 889 #define VER_FLG_WEAK 0x2 890 891 892 #define VER_NDX_LOCAL 0 893 #define VER_NDX_GLOBAL 1 894 #define VER_NDX_LORESERVE 0xff00 895 #define VER_NDX_ELIMINATE 0xff01 896 897 898 899 typedef struct { 900 Elf32_Word vda_name; 901 Elf32_Word vda_next; 902 } Elf32_Verdaux; 903 904 typedef struct { 905 Elf64_Word vda_name; 906 Elf64_Word vda_next; 907 } Elf64_Verdaux; 908 909 910 911 912 typedef struct { 913 Elf32_Half vn_version; 914 Elf32_Half vn_cnt; 915 Elf32_Word vn_file; 916 Elf32_Word vn_aux; 917 Elf32_Word vn_next; 918 } Elf32_Verneed; 919 920 typedef struct { 921 Elf64_Half vn_version; 922 Elf64_Half vn_cnt; 923 Elf64_Word vn_file; 924 Elf64_Word vn_aux; 925 Elf64_Word vn_next; 926 } Elf64_Verneed; 927 928 929 930 #define VER_NEED_NONE 0 931 #define VER_NEED_CURRENT 1 932 #define VER_NEED_NUM 2 933 934 935 936 typedef struct { 937 Elf32_Word vna_hash; 938 Elf32_Half vna_flags; 939 Elf32_Half vna_other; 940 Elf32_Word vna_name; 941 Elf32_Word vna_next; 942 } Elf32_Vernaux; 943 944 typedef struct { 945 Elf64_Word vna_hash; 946 Elf64_Half vna_flags; 947 Elf64_Half vna_other; 948 Elf64_Word vna_name; 949 Elf64_Word vna_next; 950 } Elf64_Vernaux; 951 952 953 954 #define VER_FLG_WEAK 0x2 955 956 957 958 typedef struct { 959 uint32_t a_type; 960 union { 961 uint32_t a_val; 962 } a_un; 963 } Elf32_auxv_t; 964 965 typedef struct { 966 uint64_t a_type; 967 union { 968 uint64_t a_val; 969 } a_un; 970 } Elf64_auxv_t; 971 972 973 974 #define AT_NULL 0 975 #define AT_IGNORE 1 976 #define AT_EXECFD 2 977 #define AT_PHDR 3 978 #define AT_PHENT 4 979 #define AT_PHNUM 5 980 #define AT_PAGESZ 6 981 #define AT_BASE 7 982 #define AT_FLAGS 8 983 #define AT_ENTRY 9 984 #define AT_NOTELF 10 985 #define AT_UID 11 986 #define AT_EUID 12 987 #define AT_GID 13 988 #define AT_EGID 14 989 #define AT_CLKTCK 17 990 991 992 #define AT_PLATFORM 15 993 #define AT_HWCAP 16 994 995 996 997 998 #define AT_FPUCW 18 999 1000 1001 #define AT_DCACHEBSIZE 19 1002 #define AT_ICACHEBSIZE 20 1003 #define AT_UCACHEBSIZE 21 1004 1005 1006 1007 #define AT_IGNOREPPC 22 1008 1009 #define AT_SECURE 23 1010 1011 #define AT_BASE_PLATFORM 24 1012 1013 #define AT_RANDOM 25 1014 1015 #define AT_HWCAP2 26 1016 1017 #define AT_EXECFN 31 1018 1019 1020 1021 #define AT_SYSINFO 32 1022 #define AT_SYSINFO_EHDR 33 1023 1024 1025 1026 #define AT_L1I_CACHESHAPE 34 1027 #define AT_L1D_CACHESHAPE 35 1028 #define AT_L2_CACHESHAPE 36 1029 #define AT_L3_CACHESHAPE 37 1030 1031 1032 1033 1034 typedef struct { 1035 Elf32_Word n_namesz; 1036 Elf32_Word n_descsz; 1037 Elf32_Word n_type; 1038 } Elf32_Nhdr; 1039 1040 typedef struct { 1041 Elf64_Word n_namesz; 1042 Elf64_Word n_descsz; 1043 Elf64_Word n_type; 1044 } Elf64_Nhdr; 1045 1046 1047 1048 1049 #define ELF_NOTE_SOLARIS "SUNW Solaris" 1050 1051 1052 #define ELF_NOTE_GNU "GNU" 1053 1054 1055 1056 1057 1058 #define ELF_NOTE_PAGESIZE_HINT 1 1059 1060 1061 #define NT_GNU_ABI_TAG 1 1062 #define ELF_NOTE_ABI NT_GNU_ABI_TAG 1063 1064 1065 1066 #define ELF_NOTE_OS_LINUX 0 1067 #define ELF_NOTE_OS_GNU 1 1068 #define ELF_NOTE_OS_SOLARIS2 2 1069 #define ELF_NOTE_OS_FREEBSD 3 1070 1071 #define NT_GNU_BUILD_ID 3 1072 #define NT_GNU_GOLD_VERSION 4 1073 1074 1075 1076 typedef struct { 1077 Elf32_Xword m_value; 1078 Elf32_Word m_info; 1079 Elf32_Word m_poffset; 1080 Elf32_Half m_repeat; 1081 Elf32_Half m_stride; 1082 } Elf32_Move; 1083 1084 typedef struct { 1085 Elf64_Xword m_value; 1086 Elf64_Xword m_info; 1087 Elf64_Xword m_poffset; 1088 Elf64_Half m_repeat; 1089 Elf64_Half m_stride; 1090 } Elf64_Move; 1091 1092 1093 #define ELF32_M_SYM(info) ((info) >> 8) 1094 #define ELF32_M_SIZE(info) ((unsigned char) (info)) 1095 #define ELF32_M_INFO(sym, size) (((sym) << 8) + (unsigned char) (size)) 1096 1097 #define ELF64_M_SYM(info) ELF32_M_SYM (info) 1098 #define ELF64_M_SIZE(info) ELF32_M_SIZE (info) 1099 #define ELF64_M_INFO(sym, size) ELF32_M_INFO (sym, size) 1100 1101 #define EF_CPU32 0x00810000 1102 1103 #define R_68K_NONE 0 1104 #define R_68K_32 1 1105 #define R_68K_16 2 1106 #define R_68K_8 3 1107 #define R_68K_PC32 4 1108 #define R_68K_PC16 5 1109 #define R_68K_PC8 6 1110 #define R_68K_GOT32 7 1111 #define R_68K_GOT16 8 1112 #define R_68K_GOT8 9 1113 #define R_68K_GOT32O 10 1114 #define R_68K_GOT16O 11 1115 #define R_68K_GOT8O 12 1116 #define R_68K_PLT32 13 1117 #define R_68K_PLT16 14 1118 #define R_68K_PLT8 15 1119 #define R_68K_PLT32O 16 1120 #define R_68K_PLT16O 17 1121 #define R_68K_PLT8O 18 1122 #define R_68K_COPY 19 1123 #define R_68K_GLOB_DAT 20 1124 #define R_68K_JMP_SLOT 21 1125 #define R_68K_RELATIVE 22 1126 #define R_68K_NUM 23 1127 1128 #define R_386_NONE 0 1129 #define R_386_32 1 1130 #define R_386_PC32 2 1131 #define R_386_GOT32 3 1132 #define R_386_PLT32 4 1133 #define R_386_COPY 5 1134 #define R_386_GLOB_DAT 6 1135 #define R_386_JMP_SLOT 7 1136 #define R_386_RELATIVE 8 1137 #define R_386_GOTOFF 9 1138 #define R_386_GOTPC 10 1139 #define R_386_32PLT 11 1140 #define R_386_TLS_TPOFF 14 1141 #define R_386_TLS_IE 15 1142 #define R_386_TLS_GOTIE 16 1143 #define R_386_TLS_LE 17 1144 #define R_386_TLS_GD 18 1145 #define R_386_TLS_LDM 19 1146 #define R_386_16 20 1147 #define R_386_PC16 21 1148 #define R_386_8 22 1149 #define R_386_PC8 23 1150 #define R_386_TLS_GD_32 24 1151 #define R_386_TLS_GD_PUSH 25 1152 #define R_386_TLS_GD_CALL 26 1153 #define R_386_TLS_GD_POP 27 1154 #define R_386_TLS_LDM_32 28 1155 #define R_386_TLS_LDM_PUSH 29 1156 #define R_386_TLS_LDM_CALL 30 1157 #define R_386_TLS_LDM_POP 31 1158 #define R_386_TLS_LDO_32 32 1159 #define R_386_TLS_IE_32 33 1160 #define R_386_TLS_LE_32 34 1161 #define R_386_TLS_DTPMOD32 35 1162 #define R_386_TLS_DTPOFF32 36 1163 #define R_386_TLS_TPOFF32 37 1164 #define R_386_SIZE32 38 1165 #define R_386_TLS_GOTDESC 39 1166 #define R_386_TLS_DESC_CALL 40 1167 #define R_386_TLS_DESC 41 1168 #define R_386_IRELATIVE 42 1169 #define R_386_GOT32X 43 1170 #define R_386_NUM 44 1171 1172 1173 1174 1175 1176 #define STT_SPARC_REGISTER 13 1177 1178 1179 1180 #define EF_SPARCV9_MM 3 1181 #define EF_SPARCV9_TSO 0 1182 #define EF_SPARCV9_PSO 1 1183 #define EF_SPARCV9_RMO 2 1184 #define EF_SPARC_LEDATA 0x800000 1185 #define EF_SPARC_EXT_MASK 0xFFFF00 1186 #define EF_SPARC_32PLUS 0x000100 1187 #define EF_SPARC_SUN_US1 0x000200 1188 #define EF_SPARC_HAL_R1 0x000400 1189 #define EF_SPARC_SUN_US3 0x000800 1190 1191 1192 1193 #define R_SPARC_NONE 0 1194 #define R_SPARC_8 1 1195 #define R_SPARC_16 2 1196 #define R_SPARC_32 3 1197 #define R_SPARC_DISP8 4 1198 #define R_SPARC_DISP16 5 1199 #define R_SPARC_DISP32 6 1200 #define R_SPARC_WDISP30 7 1201 #define R_SPARC_WDISP22 8 1202 #define R_SPARC_HI22 9 1203 #define R_SPARC_22 10 1204 #define R_SPARC_13 11 1205 #define R_SPARC_LO10 12 1206 #define R_SPARC_GOT10 13 1207 #define R_SPARC_GOT13 14 1208 #define R_SPARC_GOT22 15 1209 #define R_SPARC_PC10 16 1210 #define R_SPARC_PC22 17 1211 #define R_SPARC_WPLT30 18 1212 #define R_SPARC_COPY 19 1213 #define R_SPARC_GLOB_DAT 20 1214 #define R_SPARC_JMP_SLOT 21 1215 #define R_SPARC_RELATIVE 22 1216 #define R_SPARC_UA32 23 1217 1218 1219 1220 #define R_SPARC_PLT32 24 1221 #define R_SPARC_HIPLT22 25 1222 #define R_SPARC_LOPLT10 26 1223 #define R_SPARC_PCPLT32 27 1224 #define R_SPARC_PCPLT22 28 1225 #define R_SPARC_PCPLT10 29 1226 #define R_SPARC_10 30 1227 #define R_SPARC_11 31 1228 #define R_SPARC_64 32 1229 #define R_SPARC_OLO10 33 1230 #define R_SPARC_HH22 34 1231 #define R_SPARC_HM10 35 1232 #define R_SPARC_LM22 36 1233 #define R_SPARC_PC_HH22 37 1234 #define R_SPARC_PC_HM10 38 1235 #define R_SPARC_PC_LM22 39 1236 #define R_SPARC_WDISP16 40 1237 #define R_SPARC_WDISP19 41 1238 #define R_SPARC_GLOB_JMP 42 1239 #define R_SPARC_7 43 1240 #define R_SPARC_5 44 1241 #define R_SPARC_6 45 1242 #define R_SPARC_DISP64 46 1243 #define R_SPARC_PLT64 47 1244 #define R_SPARC_HIX22 48 1245 #define R_SPARC_LOX10 49 1246 #define R_SPARC_H44 50 1247 #define R_SPARC_M44 51 1248 #define R_SPARC_L44 52 1249 #define R_SPARC_REGISTER 53 1250 #define R_SPARC_UA64 54 1251 #define R_SPARC_UA16 55 1252 #define R_SPARC_TLS_GD_HI22 56 1253 #define R_SPARC_TLS_GD_LO10 57 1254 #define R_SPARC_TLS_GD_ADD 58 1255 #define R_SPARC_TLS_GD_CALL 59 1256 #define R_SPARC_TLS_LDM_HI22 60 1257 #define R_SPARC_TLS_LDM_LO10 61 1258 #define R_SPARC_TLS_LDM_ADD 62 1259 #define R_SPARC_TLS_LDM_CALL 63 1260 #define R_SPARC_TLS_LDO_HIX22 64 1261 #define R_SPARC_TLS_LDO_LOX10 65 1262 #define R_SPARC_TLS_LDO_ADD 66 1263 #define R_SPARC_TLS_IE_HI22 67 1264 #define R_SPARC_TLS_IE_LO10 68 1265 #define R_SPARC_TLS_IE_LD 69 1266 #define R_SPARC_TLS_IE_LDX 70 1267 #define R_SPARC_TLS_IE_ADD 71 1268 #define R_SPARC_TLS_LE_HIX22 72 1269 #define R_SPARC_TLS_LE_LOX10 73 1270 #define R_SPARC_TLS_DTPMOD32 74 1271 #define R_SPARC_TLS_DTPMOD64 75 1272 #define R_SPARC_TLS_DTPOFF32 76 1273 #define R_SPARC_TLS_DTPOFF64 77 1274 #define R_SPARC_TLS_TPOFF32 78 1275 #define R_SPARC_TLS_TPOFF64 79 1276 #define R_SPARC_GOTDATA_HIX22 80 1277 #define R_SPARC_GOTDATA_LOX10 81 1278 #define R_SPARC_GOTDATA_OP_HIX22 82 1279 #define R_SPARC_GOTDATA_OP_LOX10 83 1280 #define R_SPARC_GOTDATA_OP 84 1281 #define R_SPARC_H34 85 1282 #define R_SPARC_SIZE32 86 1283 #define R_SPARC_SIZE64 87 1284 #define R_SPARC_GNU_VTINHERIT 250 1285 #define R_SPARC_GNU_VTENTRY 251 1286 #define R_SPARC_REV32 252 1287 1288 #define R_SPARC_NUM 253 1289 1290 1291 1292 #define DT_SPARC_REGISTER 0x70000001 1293 #define DT_SPARC_NUM 2 1294 1295 1296 #define EF_MIPS_NOREORDER 1 1297 #define EF_MIPS_PIC 2 1298 #define EF_MIPS_CPIC 4 1299 #define EF_MIPS_XGOT 8 1300 #define EF_MIPS_64BIT_WHIRL 16 1301 #define EF_MIPS_ABI2 32 1302 #define EF_MIPS_ABI_ON32 64 1303 #define EF_MIPS_FP64 512 1304 #define EF_MIPS_NAN2008 1024 1305 #define EF_MIPS_ARCH 0xf0000000 1306 1307 1308 1309 #define EF_MIPS_ARCH_1 0x00000000 1310 #define EF_MIPS_ARCH_2 0x10000000 1311 #define EF_MIPS_ARCH_3 0x20000000 1312 #define EF_MIPS_ARCH_4 0x30000000 1313 #define EF_MIPS_ARCH_5 0x40000000 1314 #define EF_MIPS_ARCH_32 0x50000000 1315 #define EF_MIPS_ARCH_64 0x60000000 1316 #define EF_MIPS_ARCH_32R2 0x70000000 1317 #define EF_MIPS_ARCH_64R2 0x80000000 1318 1319 1320 #define E_MIPS_ARCH_1 0x00000000 1321 #define E_MIPS_ARCH_2 0x10000000 1322 #define E_MIPS_ARCH_3 0x20000000 1323 #define E_MIPS_ARCH_4 0x30000000 1324 #define E_MIPS_ARCH_5 0x40000000 1325 #define E_MIPS_ARCH_32 0x50000000 1326 #define E_MIPS_ARCH_64 0x60000000 1327 1328 1329 1330 #define SHN_MIPS_ACOMMON 0xff00 1331 #define SHN_MIPS_TEXT 0xff01 1332 #define SHN_MIPS_DATA 0xff02 1333 #define SHN_MIPS_SCOMMON 0xff03 1334 #define SHN_MIPS_SUNDEFINED 0xff04 1335 1336 1337 1338 #define SHT_MIPS_LIBLIST 0x70000000 1339 #define SHT_MIPS_MSYM 0x70000001 1340 #define SHT_MIPS_CONFLICT 0x70000002 1341 #define SHT_MIPS_GPTAB 0x70000003 1342 #define SHT_MIPS_UCODE 0x70000004 1343 #define SHT_MIPS_DEBUG 0x70000005 1344 #define SHT_MIPS_REGINFO 0x70000006 1345 #define SHT_MIPS_PACKAGE 0x70000007 1346 #define SHT_MIPS_PACKSYM 0x70000008 1347 #define SHT_MIPS_RELD 0x70000009 1348 #define SHT_MIPS_IFACE 0x7000000b 1349 #define SHT_MIPS_CONTENT 0x7000000c 1350 #define SHT_MIPS_OPTIONS 0x7000000d 1351 #define SHT_MIPS_SHDR 0x70000010 1352 #define SHT_MIPS_FDESC 0x70000011 1353 #define SHT_MIPS_EXTSYM 0x70000012 1354 #define SHT_MIPS_DENSE 0x70000013 1355 #define SHT_MIPS_PDESC 0x70000014 1356 #define SHT_MIPS_LOCSYM 0x70000015 1357 #define SHT_MIPS_AUXSYM 0x70000016 1358 #define SHT_MIPS_OPTSYM 0x70000017 1359 #define SHT_MIPS_LOCSTR 0x70000018 1360 #define SHT_MIPS_LINE 0x70000019 1361 #define SHT_MIPS_RFDESC 0x7000001a 1362 #define SHT_MIPS_DELTASYM 0x7000001b 1363 #define SHT_MIPS_DELTAINST 0x7000001c 1364 #define SHT_MIPS_DELTACLASS 0x7000001d 1365 #define SHT_MIPS_DWARF 0x7000001e 1366 #define SHT_MIPS_DELTADECL 0x7000001f 1367 #define SHT_MIPS_SYMBOL_LIB 0x70000020 1368 #define SHT_MIPS_EVENTS 0x70000021 1369 #define SHT_MIPS_TRANSLATE 0x70000022 1370 #define SHT_MIPS_PIXIE 0x70000023 1371 #define SHT_MIPS_XLATE 0x70000024 1372 #define SHT_MIPS_XLATE_DEBUG 0x70000025 1373 #define SHT_MIPS_WHIRL 0x70000026 1374 #define SHT_MIPS_EH_REGION 0x70000027 1375 #define SHT_MIPS_XLATE_OLD 0x70000028 1376 #define SHT_MIPS_PDR_EXCEPTION 0x70000029 1377 1378 1379 1380 #define SHF_MIPS_GPREL 0x10000000 1381 #define SHF_MIPS_MERGE 0x20000000 1382 #define SHF_MIPS_ADDR 0x40000000 1383 #define SHF_MIPS_STRINGS 0x80000000 1384 #define SHF_MIPS_NOSTRIP 0x08000000 1385 #define SHF_MIPS_LOCAL 0x04000000 1386 #define SHF_MIPS_NAMES 0x02000000 1387 #define SHF_MIPS_NODUPE 0x01000000 1388 1389 1390 1391 1392 1393 #define STO_MIPS_DEFAULT 0x0 1394 #define STO_MIPS_INTERNAL 0x1 1395 #define STO_MIPS_HIDDEN 0x2 1396 #define STO_MIPS_PROTECTED 0x3 1397 #define STO_MIPS_PLT 0x8 1398 #define STO_MIPS_SC_ALIGN_UNUSED 0xff 1399 1400 1401 #define STB_MIPS_SPLIT_COMMON 13 1402 1403 1404 1405 typedef union { 1406 struct { 1407 Elf32_Word gt_current_g_value; 1408 Elf32_Word gt_unused; 1409 } gt_header; 1410 struct { 1411 Elf32_Word gt_g_value; 1412 Elf32_Word gt_bytes; 1413 } gt_entry; 1414 } Elf32_gptab; 1415 1416 1417 1418 typedef struct { 1419 Elf32_Word ri_gprmask; 1420 Elf32_Word ri_cprmask[4]; 1421 Elf32_Sword ri_gp_value; 1422 } Elf32_RegInfo; 1423 1424 1425 1426 typedef struct { 1427 unsigned char kind; 1428 1429 unsigned char size; 1430 Elf32_Section section; 1431 1432 Elf32_Word info; 1433 } Elf_Options; 1434 1435 1436 1437 #define ODK_NULL 0 1438 #define ODK_REGINFO 1 1439 #define ODK_EXCEPTIONS 2 1440 #define ODK_PAD 3 1441 #define ODK_HWPATCH 4 1442 #define ODK_FILL 5 1443 #define ODK_TAGS 6 1444 #define ODK_HWAND 7 1445 #define ODK_HWOR 8 1446 1447 1448 1449 #define OEX_FPU_MIN 0x1f 1450 #define OEX_FPU_MAX 0x1f00 1451 #define OEX_PAGE0 0x10000 1452 #define OEX_SMM 0x20000 1453 #define OEX_FPDBUG 0x40000 1454 #define OEX_PRECISEFP OEX_FPDBUG 1455 #define OEX_DISMISS 0x80000 1456 1457 #define OEX_FPU_INVAL 0x10 1458 #define OEX_FPU_DIV0 0x08 1459 #define OEX_FPU_OFLO 0x04 1460 #define OEX_FPU_UFLO 0x02 1461 #define OEX_FPU_INEX 0x01 1462 1463 1464 1465 #define OHW_R4KEOP 0x1 1466 #define OHW_R8KPFETCH 0x2 1467 #define OHW_R5KEOP 0x4 1468 #define OHW_R5KCVTL 0x8 1469 1470 #define OPAD_PREFIX 0x1 1471 #define OPAD_POSTFIX 0x2 1472 #define OPAD_SYMBOL 0x4 1473 1474 1475 1476 typedef struct { 1477 Elf32_Word hwp_flags1; 1478 Elf32_Word hwp_flags2; 1479 } Elf_Options_Hw; 1480 1481 1482 1483 #define OHWA0_R4KEOP_CHECKED 0x00000001 1484 #define OHWA1_R4KEOP_CLEAN 0x00000002 1485 1486 1487 1488 #define R_MIPS_NONE 0 1489 #define R_MIPS_16 1 1490 #define R_MIPS_32 2 1491 #define R_MIPS_REL32 3 1492 #define R_MIPS_26 4 1493 #define R_MIPS_HI16 5 1494 #define R_MIPS_LO16 6 1495 #define R_MIPS_GPREL16 7 1496 #define R_MIPS_LITERAL 8 1497 #define R_MIPS_GOT16 9 1498 #define R_MIPS_PC16 10 1499 #define R_MIPS_CALL16 11 1500 #define R_MIPS_GPREL32 12 1501 1502 #define R_MIPS_SHIFT5 16 1503 #define R_MIPS_SHIFT6 17 1504 #define R_MIPS_64 18 1505 #define R_MIPS_GOT_DISP 19 1506 #define R_MIPS_GOT_PAGE 20 1507 #define R_MIPS_GOT_OFST 21 1508 #define R_MIPS_GOT_HI16 22 1509 #define R_MIPS_GOT_LO16 23 1510 #define R_MIPS_SUB 24 1511 #define R_MIPS_INSERT_A 25 1512 #define R_MIPS_INSERT_B 26 1513 #define R_MIPS_DELETE 27 1514 #define R_MIPS_HIGHER 28 1515 #define R_MIPS_HIGHEST 29 1516 #define R_MIPS_CALL_HI16 30 1517 #define R_MIPS_CALL_LO16 31 1518 #define R_MIPS_SCN_DISP 32 1519 #define R_MIPS_REL16 33 1520 #define R_MIPS_ADD_IMMEDIATE 34 1521 #define R_MIPS_PJUMP 35 1522 #define R_MIPS_RELGOT 36 1523 #define R_MIPS_JALR 37 1524 #define R_MIPS_TLS_DTPMOD32 38 1525 #define R_MIPS_TLS_DTPREL32 39 1526 #define R_MIPS_TLS_DTPMOD64 40 1527 #define R_MIPS_TLS_DTPREL64 41 1528 #define R_MIPS_TLS_GD 42 1529 #define R_MIPS_TLS_LDM 43 1530 #define R_MIPS_TLS_DTPREL_HI16 44 1531 #define R_MIPS_TLS_DTPREL_LO16 45 1532 #define R_MIPS_TLS_GOTTPREL 46 1533 #define R_MIPS_TLS_TPREL32 47 1534 #define R_MIPS_TLS_TPREL64 48 1535 #define R_MIPS_TLS_TPREL_HI16 49 1536 #define R_MIPS_TLS_TPREL_LO16 50 1537 #define R_MIPS_GLOB_DAT 51 1538 #define R_MIPS_COPY 126 1539 #define R_MIPS_JUMP_SLOT 127 1540 1541 #define R_MIPS_NUM 128 1542 1543 1544 1545 #define PT_MIPS_REGINFO 0x70000000 1546 #define PT_MIPS_RTPROC 0x70000001 1547 #define PT_MIPS_OPTIONS 0x70000002 1548 #define PT_MIPS_ABIFLAGS 0x70000003 1549 1550 1551 1552 #define PF_MIPS_LOCAL 0x10000000 1553 1554 1555 1556 #define DT_MIPS_RLD_VERSION 0x70000001 1557 #define DT_MIPS_TIME_STAMP 0x70000002 1558 #define DT_MIPS_ICHECKSUM 0x70000003 1559 #define DT_MIPS_IVERSION 0x70000004 1560 #define DT_MIPS_FLAGS 0x70000005 1561 #define DT_MIPS_BASE_ADDRESS 0x70000006 1562 #define DT_MIPS_MSYM 0x70000007 1563 #define DT_MIPS_CONFLICT 0x70000008 1564 #define DT_MIPS_LIBLIST 0x70000009 1565 #define DT_MIPS_LOCAL_GOTNO 0x7000000a 1566 #define DT_MIPS_CONFLICTNO 0x7000000b 1567 #define DT_MIPS_LIBLISTNO 0x70000010 1568 #define DT_MIPS_SYMTABNO 0x70000011 1569 #define DT_MIPS_UNREFEXTNO 0x70000012 1570 #define DT_MIPS_GOTSYM 0x70000013 1571 #define DT_MIPS_HIPAGENO 0x70000014 1572 #define DT_MIPS_RLD_MAP 0x70000016 1573 #define DT_MIPS_DELTA_CLASS 0x70000017 1574 #define DT_MIPS_DELTA_CLASS_NO 0x70000018 1575 1576 #define DT_MIPS_DELTA_INSTANCE 0x70000019 1577 #define DT_MIPS_DELTA_INSTANCE_NO 0x7000001a 1578 1579 #define DT_MIPS_DELTA_RELOC 0x7000001b 1580 #define DT_MIPS_DELTA_RELOC_NO 0x7000001c 1581 1582 #define DT_MIPS_DELTA_SYM 0x7000001d 1583 1584 #define DT_MIPS_DELTA_SYM_NO 0x7000001e 1585 1586 #define DT_MIPS_DELTA_CLASSSYM 0x70000020 1587 1588 #define DT_MIPS_DELTA_CLASSSYM_NO 0x70000021 1589 1590 #define DT_MIPS_CXX_FLAGS 0x70000022 1591 #define DT_MIPS_PIXIE_INIT 0x70000023 1592 #define DT_MIPS_SYMBOL_LIB 0x70000024 1593 #define DT_MIPS_LOCALPAGE_GOTIDX 0x70000025 1594 #define DT_MIPS_LOCAL_GOTIDX 0x70000026 1595 #define DT_MIPS_HIDDEN_GOTIDX 0x70000027 1596 #define DT_MIPS_PROTECTED_GOTIDX 0x70000028 1597 #define DT_MIPS_OPTIONS 0x70000029 1598 #define DT_MIPS_INTERFACE 0x7000002a 1599 #define DT_MIPS_DYNSTR_ALIGN 0x7000002b 1600 #define DT_MIPS_INTERFACE_SIZE 0x7000002c 1601 #define DT_MIPS_RLD_TEXT_RESOLVE_ADDR 0x7000002d 1602 1603 #define DT_MIPS_PERF_SUFFIX 0x7000002e 1604 1605 #define DT_MIPS_COMPACT_SIZE 0x7000002f 1606 #define DT_MIPS_GP_VALUE 0x70000030 1607 #define DT_MIPS_AUX_DYNAMIC 0x70000031 1608 1609 #define DT_MIPS_PLTGOT 0x70000032 1610 1611 #define DT_MIPS_RWPLT 0x70000034 1612 #define DT_MIPS_RLD_MAP_REL 0x70000035 1613 #define DT_MIPS_NUM 0x36 1614 1615 1616 1617 #define RHF_NONE 0 1618 #define RHF_QUICKSTART (1 << 0) 1619 #define RHF_NOTPOT (1 << 1) 1620 #define RHF_NO_LIBRARY_REPLACEMENT (1 << 2) 1621 #define RHF_NO_MOVE (1 << 3) 1622 #define RHF_SGI_ONLY (1 << 4) 1623 #define RHF_GUARANTEE_INIT (1 << 5) 1624 #define RHF_DELTA_C_PLUS_PLUS (1 << 6) 1625 #define RHF_GUARANTEE_START_INIT (1 << 7) 1626 #define RHF_PIXIE (1 << 8) 1627 #define RHF_DEFAULT_DELAY_LOAD (1 << 9) 1628 #define RHF_REQUICKSTART (1 << 10) 1629 #define RHF_REQUICKSTARTED (1 << 11) 1630 #define RHF_CORD (1 << 12) 1631 #define RHF_NO_UNRES_UNDEF (1 << 13) 1632 #define RHF_RLD_ORDER_SAFE (1 << 14) 1633 1634 1635 1636 typedef struct { 1637 Elf32_Word l_name; 1638 Elf32_Word l_time_stamp; 1639 Elf32_Word l_checksum; 1640 Elf32_Word l_version; 1641 Elf32_Word l_flags; 1642 } Elf32_Lib; 1643 1644 typedef struct { 1645 Elf64_Word l_name; 1646 Elf64_Word l_time_stamp; 1647 Elf64_Word l_checksum; 1648 Elf64_Word l_version; 1649 Elf64_Word l_flags; 1650 } Elf64_Lib; 1651 1652 1653 1654 1655 #define LL_NONE 0 1656 #define LL_EXACT_MATCH (1 << 0) 1657 #define LL_IGNORE_INT_VER (1 << 1) 1658 #define LL_REQUIRE_MINOR (1 << 2) 1659 #define LL_EXPORTS (1 << 3) 1660 #define LL_DELAY_LOAD (1 << 4) 1661 #define LL_DELTA (1 << 5) 1662 1663 1664 1665 typedef Elf32_Addr Elf32_Conflict; 1666 1667 typedef struct { 1668 Elf32_Half version; 1669 unsigned char isa_level; 1670 unsigned char isa_rev; 1671 unsigned char gpr_size; 1672 unsigned char cpr1_size; 1673 unsigned char cpr2_size; 1674 unsigned char fp_abi; 1675 Elf32_Word isa_ext; 1676 Elf32_Word ases; 1677 Elf32_Word flags1; 1678 Elf32_Word flags2; 1679 } Elf_MIPS_ABIFlags_v0; 1680 1681 #define MIPS_AFL_REG_NONE 0x00 1682 #define MIPS_AFL_REG_32 0x01 1683 #define MIPS_AFL_REG_64 0x02 1684 #define MIPS_AFL_REG_128 0x03 1685 1686 #define MIPS_AFL_ASE_DSP 0x00000001 1687 #define MIPS_AFL_ASE_DSPR2 0x00000002 1688 #define MIPS_AFL_ASE_EVA 0x00000004 1689 #define MIPS_AFL_ASE_MCU 0x00000008 1690 #define MIPS_AFL_ASE_MDMX 0x00000010 1691 #define MIPS_AFL_ASE_MIPS3D 0x00000020 1692 #define MIPS_AFL_ASE_MT 0x00000040 1693 #define MIPS_AFL_ASE_SMARTMIPS 0x00000080 1694 #define MIPS_AFL_ASE_VIRT 0x00000100 1695 #define MIPS_AFL_ASE_MSA 0x00000200 1696 #define MIPS_AFL_ASE_MIPS16 0x00000400 1697 #define MIPS_AFL_ASE_MICROMIPS 0x00000800 1698 #define MIPS_AFL_ASE_XPA 0x00001000 1699 #define MIPS_AFL_ASE_MASK 0x00001fff 1700 1701 #define MIPS_AFL_EXT_XLR 1 1702 #define MIPS_AFL_EXT_OCTEON2 2 1703 #define MIPS_AFL_EXT_OCTEONP 3 1704 #define MIPS_AFL_EXT_LOONGSON_3A 4 1705 #define MIPS_AFL_EXT_OCTEON 5 1706 #define MIPS_AFL_EXT_5900 6 1707 #define MIPS_AFL_EXT_4650 7 1708 #define MIPS_AFL_EXT_4010 8 1709 #define MIPS_AFL_EXT_4100 9 1710 #define MIPS_AFL_EXT_3900 10 1711 #define MIPS_AFL_EXT_10000 11 1712 #define MIPS_AFL_EXT_SB1 12 1713 #define MIPS_AFL_EXT_4111 13 1714 #define MIPS_AFL_EXT_4120 14 1715 #define MIPS_AFL_EXT_5400 15 1716 #define MIPS_AFL_EXT_5500 16 1717 #define MIPS_AFL_EXT_LOONGSON_2E 17 1718 #define MIPS_AFL_EXT_LOONGSON_2F 18 1719 1720 #define MIPS_AFL_FLAGS1_ODDSPREG 1 1721 1722 enum 1723 { 1724 Val_GNU_MIPS_ABI_FP_ANY = 0, 1725 Val_GNU_MIPS_ABI_FP_DOUBLE = 1, 1726 Val_GNU_MIPS_ABI_FP_SINGLE = 2, 1727 Val_GNU_MIPS_ABI_FP_SOFT = 3, 1728 Val_GNU_MIPS_ABI_FP_OLD_64 = 4, 1729 Val_GNU_MIPS_ABI_FP_XX = 5, 1730 Val_GNU_MIPS_ABI_FP_64 = 6, 1731 Val_GNU_MIPS_ABI_FP_64A = 7, 1732 Val_GNU_MIPS_ABI_FP_MAX = 7 1733 }; 1734 1735 1736 1737 1738 #define EF_PARISC_TRAPNIL 0x00010000 1739 #define EF_PARISC_EXT 0x00020000 1740 #define EF_PARISC_LSB 0x00040000 1741 #define EF_PARISC_WIDE 0x00080000 1742 #define EF_PARISC_NO_KABP 0x00100000 1743 1744 #define EF_PARISC_LAZYSWAP 0x00400000 1745 #define EF_PARISC_ARCH 0x0000ffff 1746 1747 1748 1749 #define EFA_PARISC_1_0 0x020b 1750 #define EFA_PARISC_1_1 0x0210 1751 #define EFA_PARISC_2_0 0x0214 1752 1753 1754 1755 #define SHN_PARISC_ANSI_COMMON 0xff00 1756 1757 #define SHN_PARISC_HUGE_COMMON 0xff01 1758 1759 1760 1761 #define SHT_PARISC_EXT 0x70000000 1762 #define SHT_PARISC_UNWIND 0x70000001 1763 #define SHT_PARISC_DOC 0x70000002 1764 1765 1766 1767 #define SHF_PARISC_SHORT 0x20000000 1768 #define SHF_PARISC_HUGE 0x40000000 1769 #define SHF_PARISC_SBP 0x80000000 1770 1771 1772 1773 #define STT_PARISC_MILLICODE 13 1774 1775 #define STT_HP_OPAQUE (STT_LOOS + 0x1) 1776 #define STT_HP_STUB (STT_LOOS + 0x2) 1777 1778 1779 1780 #define R_PARISC_NONE 0 1781 #define R_PARISC_DIR32 1 1782 #define R_PARISC_DIR21L 2 1783 #define R_PARISC_DIR17R 3 1784 #define R_PARISC_DIR17F 4 1785 #define R_PARISC_DIR14R 6 1786 #define R_PARISC_PCREL32 9 1787 #define R_PARISC_PCREL21L 10 1788 #define R_PARISC_PCREL17R 11 1789 #define R_PARISC_PCREL17F 12 1790 #define R_PARISC_PCREL14R 14 1791 #define R_PARISC_DPREL21L 18 1792 #define R_PARISC_DPREL14R 22 1793 #define R_PARISC_GPREL21L 26 1794 #define R_PARISC_GPREL14R 30 1795 #define R_PARISC_LTOFF21L 34 1796 #define R_PARISC_LTOFF14R 38 1797 #define R_PARISC_SECREL32 41 1798 #define R_PARISC_SEGBASE 48 1799 #define R_PARISC_SEGREL32 49 1800 #define R_PARISC_PLTOFF21L 50 1801 #define R_PARISC_PLTOFF14R 54 1802 #define R_PARISC_LTOFF_FPTR32 57 1803 #define R_PARISC_LTOFF_FPTR21L 58 1804 #define R_PARISC_LTOFF_FPTR14R 62 1805 #define R_PARISC_FPTR64 64 1806 #define R_PARISC_PLABEL32 65 1807 #define R_PARISC_PLABEL21L 66 1808 #define R_PARISC_PLABEL14R 70 1809 #define R_PARISC_PCREL64 72 1810 #define R_PARISC_PCREL22F 74 1811 #define R_PARISC_PCREL14WR 75 1812 #define R_PARISC_PCREL14DR 76 1813 #define R_PARISC_PCREL16F 77 1814 #define R_PARISC_PCREL16WF 78 1815 #define R_PARISC_PCREL16DF 79 1816 #define R_PARISC_DIR64 80 1817 #define R_PARISC_DIR14WR 83 1818 #define R_PARISC_DIR14DR 84 1819 #define R_PARISC_DIR16F 85 1820 #define R_PARISC_DIR16WF 86 1821 #define R_PARISC_DIR16DF 87 1822 #define R_PARISC_GPREL64 88 1823 #define R_PARISC_GPREL14WR 91 1824 #define R_PARISC_GPREL14DR 92 1825 #define R_PARISC_GPREL16F 93 1826 #define R_PARISC_GPREL16WF 94 1827 #define R_PARISC_GPREL16DF 95 1828 #define R_PARISC_LTOFF64 96 1829 #define R_PARISC_LTOFF14WR 99 1830 #define R_PARISC_LTOFF14DR 100 1831 #define R_PARISC_LTOFF16F 101 1832 #define R_PARISC_LTOFF16WF 102 1833 #define R_PARISC_LTOFF16DF 103 1834 #define R_PARISC_SECREL64 104 1835 #define R_PARISC_SEGREL64 112 1836 #define R_PARISC_PLTOFF14WR 115 1837 #define R_PARISC_PLTOFF14DR 116 1838 #define R_PARISC_PLTOFF16F 117 1839 #define R_PARISC_PLTOFF16WF 118 1840 #define R_PARISC_PLTOFF16DF 119 1841 #define R_PARISC_LTOFF_FPTR64 120 1842 #define R_PARISC_LTOFF_FPTR14WR 123 1843 #define R_PARISC_LTOFF_FPTR14DR 124 1844 #define R_PARISC_LTOFF_FPTR16F 125 1845 #define R_PARISC_LTOFF_FPTR16WF 126 1846 #define R_PARISC_LTOFF_FPTR16DF 127 1847 #define R_PARISC_LORESERVE 128 1848 #define R_PARISC_COPY 128 1849 #define R_PARISC_IPLT 129 1850 #define R_PARISC_EPLT 130 1851 #define R_PARISC_TPREL32 153 1852 #define R_PARISC_TPREL21L 154 1853 #define R_PARISC_TPREL14R 158 1854 #define R_PARISC_LTOFF_TP21L 162 1855 #define R_PARISC_LTOFF_TP14R 166 1856 #define R_PARISC_LTOFF_TP14F 167 1857 #define R_PARISC_TPREL64 216 1858 #define R_PARISC_TPREL14WR 219 1859 #define R_PARISC_TPREL14DR 220 1860 #define R_PARISC_TPREL16F 221 1861 #define R_PARISC_TPREL16WF 222 1862 #define R_PARISC_TPREL16DF 223 1863 #define R_PARISC_LTOFF_TP64 224 1864 #define R_PARISC_LTOFF_TP14WR 227 1865 #define R_PARISC_LTOFF_TP14DR 228 1866 #define R_PARISC_LTOFF_TP16F 229 1867 #define R_PARISC_LTOFF_TP16WF 230 1868 #define R_PARISC_LTOFF_TP16DF 231 1869 #define R_PARISC_GNU_VTENTRY 232 1870 #define R_PARISC_GNU_VTINHERIT 233 1871 #define R_PARISC_TLS_GD21L 234 1872 #define R_PARISC_TLS_GD14R 235 1873 #define R_PARISC_TLS_GDCALL 236 1874 #define R_PARISC_TLS_LDM21L 237 1875 #define R_PARISC_TLS_LDM14R 238 1876 #define R_PARISC_TLS_LDMCALL 239 1877 #define R_PARISC_TLS_LDO21L 240 1878 #define R_PARISC_TLS_LDO14R 241 1879 #define R_PARISC_TLS_DTPMOD32 242 1880 #define R_PARISC_TLS_DTPMOD64 243 1881 #define R_PARISC_TLS_DTPOFF32 244 1882 #define R_PARISC_TLS_DTPOFF64 245 1883 #define R_PARISC_TLS_LE21L R_PARISC_TPREL21L 1884 #define R_PARISC_TLS_LE14R R_PARISC_TPREL14R 1885 #define R_PARISC_TLS_IE21L R_PARISC_LTOFF_TP21L 1886 #define R_PARISC_TLS_IE14R R_PARISC_LTOFF_TP14R 1887 #define R_PARISC_TLS_TPREL32 R_PARISC_TPREL32 1888 #define R_PARISC_TLS_TPREL64 R_PARISC_TPREL64 1889 #define R_PARISC_HIRESERVE 255 1890 1891 1892 1893 #define PT_HP_TLS (PT_LOOS + 0x0) 1894 #define PT_HP_CORE_NONE (PT_LOOS + 0x1) 1895 #define PT_HP_CORE_VERSION (PT_LOOS + 0x2) 1896 #define PT_HP_CORE_KERNEL (PT_LOOS + 0x3) 1897 #define PT_HP_CORE_COMM (PT_LOOS + 0x4) 1898 #define PT_HP_CORE_PROC (PT_LOOS + 0x5) 1899 #define PT_HP_CORE_LOADABLE (PT_LOOS + 0x6) 1900 #define PT_HP_CORE_STACK (PT_LOOS + 0x7) 1901 #define PT_HP_CORE_SHM (PT_LOOS + 0x8) 1902 #define PT_HP_CORE_MMF (PT_LOOS + 0x9) 1903 #define PT_HP_PARALLEL (PT_LOOS + 0x10) 1904 #define PT_HP_FASTBIND (PT_LOOS + 0x11) 1905 #define PT_HP_OPT_ANNOT (PT_LOOS + 0x12) 1906 #define PT_HP_HSL_ANNOT (PT_LOOS + 0x13) 1907 #define PT_HP_STACK (PT_LOOS + 0x14) 1908 1909 #define PT_PARISC_ARCHEXT 0x70000000 1910 #define PT_PARISC_UNWIND 0x70000001 1911 1912 1913 1914 #define PF_PARISC_SBP 0x08000000 1915 1916 #define PF_HP_PAGE_SIZE 0x00100000 1917 #define PF_HP_FAR_SHARED 0x00200000 1918 #define PF_HP_NEAR_SHARED 0x00400000 1919 #define PF_HP_CODE 0x01000000 1920 #define PF_HP_MODIFY 0x02000000 1921 #define PF_HP_LAZYSWAP 0x04000000 1922 #define PF_HP_SBP 0x08000000 1923 1924 1925 1926 1927 1928 1929 #define EF_ALPHA_32BIT 1 1930 #define EF_ALPHA_CANRELAX 2 1931 1932 1933 1934 1935 #define SHT_ALPHA_DEBUG 0x70000001 1936 #define SHT_ALPHA_REGINFO 0x70000002 1937 1938 1939 1940 #define SHF_ALPHA_GPREL 0x10000000 1941 1942 1943 #define STO_ALPHA_NOPV 0x80 1944 #define STO_ALPHA_STD_GPLOAD 0x88 1945 1946 1947 1948 #define R_ALPHA_NONE 0 1949 #define R_ALPHA_REFLONG 1 1950 #define R_ALPHA_REFQUAD 2 1951 #define R_ALPHA_GPREL32 3 1952 #define R_ALPHA_LITERAL 4 1953 #define R_ALPHA_LITUSE 5 1954 #define R_ALPHA_GPDISP 6 1955 #define R_ALPHA_BRADDR 7 1956 #define R_ALPHA_HINT 8 1957 #define R_ALPHA_SREL16 9 1958 #define R_ALPHA_SREL32 10 1959 #define R_ALPHA_SREL64 11 1960 #define R_ALPHA_GPRELHIGH 17 1961 #define R_ALPHA_GPRELLOW 18 1962 #define R_ALPHA_GPREL16 19 1963 #define R_ALPHA_COPY 24 1964 #define R_ALPHA_GLOB_DAT 25 1965 #define R_ALPHA_JMP_SLOT 26 1966 #define R_ALPHA_RELATIVE 27 1967 #define R_ALPHA_TLS_GD_HI 28 1968 #define R_ALPHA_TLSGD 29 1969 #define R_ALPHA_TLS_LDM 30 1970 #define R_ALPHA_DTPMOD64 31 1971 #define R_ALPHA_GOTDTPREL 32 1972 #define R_ALPHA_DTPREL64 33 1973 #define R_ALPHA_DTPRELHI 34 1974 #define R_ALPHA_DTPRELLO 35 1975 #define R_ALPHA_DTPREL16 36 1976 #define R_ALPHA_GOTTPREL 37 1977 #define R_ALPHA_TPREL64 38 1978 #define R_ALPHA_TPRELHI 39 1979 #define R_ALPHA_TPRELLO 40 1980 #define R_ALPHA_TPREL16 41 1981 1982 #define R_ALPHA_NUM 46 1983 1984 1985 #define LITUSE_ALPHA_ADDR 0 1986 #define LITUSE_ALPHA_BASE 1 1987 #define LITUSE_ALPHA_BYTOFF 2 1988 #define LITUSE_ALPHA_JSR 3 1989 #define LITUSE_ALPHA_TLS_GD 4 1990 #define LITUSE_ALPHA_TLS_LDM 5 1991 1992 1993 #define DT_ALPHA_PLTRO (DT_LOPROC + 0) 1994 #define DT_ALPHA_NUM 1 1995 1996 1997 1998 1999 #define EF_PPC_EMB 0x80000000 2000 2001 2002 #define EF_PPC_RELOCATABLE 0x00010000 2003 #define EF_PPC_RELOCATABLE_LIB 0x00008000 2004 2005 2006 2007 #define R_PPC_NONE 0 2008 #define R_PPC_ADDR32 1 2009 #define R_PPC_ADDR24 2 2010 #define R_PPC_ADDR16 3 2011 #define R_PPC_ADDR16_LO 4 2012 #define R_PPC_ADDR16_HI 5 2013 #define R_PPC_ADDR16_HA 6 2014 #define R_PPC_ADDR14 7 2015 #define R_PPC_ADDR14_BRTAKEN 8 2016 #define R_PPC_ADDR14_BRNTAKEN 9 2017 #define R_PPC_REL24 10 2018 #define R_PPC_REL14 11 2019 #define R_PPC_REL14_BRTAKEN 12 2020 #define R_PPC_REL14_BRNTAKEN 13 2021 #define R_PPC_GOT16 14 2022 #define R_PPC_GOT16_LO 15 2023 #define R_PPC_GOT16_HI 16 2024 #define R_PPC_GOT16_HA 17 2025 #define R_PPC_PLTREL24 18 2026 #define R_PPC_COPY 19 2027 #define R_PPC_GLOB_DAT 20 2028 #define R_PPC_JMP_SLOT 21 2029 #define R_PPC_RELATIVE 22 2030 #define R_PPC_LOCAL24PC 23 2031 #define R_PPC_UADDR32 24 2032 #define R_PPC_UADDR16 25 2033 #define R_PPC_REL32 26 2034 #define R_PPC_PLT32 27 2035 #define R_PPC_PLTREL32 28 2036 #define R_PPC_PLT16_LO 29 2037 #define R_PPC_PLT16_HI 30 2038 #define R_PPC_PLT16_HA 31 2039 #define R_PPC_SDAREL16 32 2040 #define R_PPC_SECTOFF 33 2041 #define R_PPC_SECTOFF_LO 34 2042 #define R_PPC_SECTOFF_HI 35 2043 #define R_PPC_SECTOFF_HA 36 2044 2045 2046 #define R_PPC_TLS 67 2047 #define R_PPC_DTPMOD32 68 2048 #define R_PPC_TPREL16 69 2049 #define R_PPC_TPREL16_LO 70 2050 #define R_PPC_TPREL16_HI 71 2051 #define R_PPC_TPREL16_HA 72 2052 #define R_PPC_TPREL32 73 2053 #define R_PPC_DTPREL16 74 2054 #define R_PPC_DTPREL16_LO 75 2055 #define R_PPC_DTPREL16_HI 76 2056 #define R_PPC_DTPREL16_HA 77 2057 #define R_PPC_DTPREL32 78 2058 #define R_PPC_GOT_TLSGD16 79 2059 #define R_PPC_GOT_TLSGD16_LO 80 2060 #define R_PPC_GOT_TLSGD16_HI 81 2061 #define R_PPC_GOT_TLSGD16_HA 82 2062 #define R_PPC_GOT_TLSLD16 83 2063 #define R_PPC_GOT_TLSLD16_LO 84 2064 #define R_PPC_GOT_TLSLD16_HI 85 2065 #define R_PPC_GOT_TLSLD16_HA 86 2066 #define R_PPC_GOT_TPREL16 87 2067 #define R_PPC_GOT_TPREL16_LO 88 2068 #define R_PPC_GOT_TPREL16_HI 89 2069 #define R_PPC_GOT_TPREL16_HA 90 2070 #define R_PPC_GOT_DTPREL16 91 2071 #define R_PPC_GOT_DTPREL16_LO 92 2072 #define R_PPC_GOT_DTPREL16_HI 93 2073 #define R_PPC_GOT_DTPREL16_HA 94 2074 #define R_PPC_TLSGD 95 2075 #define R_PPC_TLSLD 96 2076 2077 2078 #define R_PPC_EMB_NADDR32 101 2079 #define R_PPC_EMB_NADDR16 102 2080 #define R_PPC_EMB_NADDR16_LO 103 2081 #define R_PPC_EMB_NADDR16_HI 104 2082 #define R_PPC_EMB_NADDR16_HA 105 2083 #define R_PPC_EMB_SDAI16 106 2084 #define R_PPC_EMB_SDA2I16 107 2085 #define R_PPC_EMB_SDA2REL 108 2086 #define R_PPC_EMB_SDA21 109 2087 #define R_PPC_EMB_MRKREF 110 2088 #define R_PPC_EMB_RELSEC16 111 2089 #define R_PPC_EMB_RELST_LO 112 2090 #define R_PPC_EMB_RELST_HI 113 2091 #define R_PPC_EMB_RELST_HA 114 2092 #define R_PPC_EMB_BIT_FLD 115 2093 #define R_PPC_EMB_RELSDA 116 2094 2095 2096 #define R_PPC_DIAB_SDA21_LO 180 2097 #define R_PPC_DIAB_SDA21_HI 181 2098 #define R_PPC_DIAB_SDA21_HA 182 2099 #define R_PPC_DIAB_RELSDA_LO 183 2100 #define R_PPC_DIAB_RELSDA_HI 184 2101 #define R_PPC_DIAB_RELSDA_HA 185 2102 2103 2104 #define R_PPC_IRELATIVE 248 2105 2106 2107 #define R_PPC_REL16 249 2108 #define R_PPC_REL16_LO 250 2109 #define R_PPC_REL16_HI 251 2110 #define R_PPC_REL16_HA 252 2111 2112 2113 2114 #define R_PPC_TOC16 255 2115 2116 2117 #define DT_PPC_GOT (DT_LOPROC + 0) 2118 #define DT_PPC_OPT (DT_LOPROC + 1) 2119 #define DT_PPC_NUM 2 2120 2121 #define PPC_OPT_TLS 1 2122 2123 2124 #define R_PPC64_NONE R_PPC_NONE 2125 #define R_PPC64_ADDR32 R_PPC_ADDR32 2126 #define R_PPC64_ADDR24 R_PPC_ADDR24 2127 #define R_PPC64_ADDR16 R_PPC_ADDR16 2128 #define R_PPC64_ADDR16_LO R_PPC_ADDR16_LO 2129 #define R_PPC64_ADDR16_HI R_PPC_ADDR16_HI 2130 #define R_PPC64_ADDR16_HA R_PPC_ADDR16_HA 2131 #define R_PPC64_ADDR14 R_PPC_ADDR14 2132 #define R_PPC64_ADDR14_BRTAKEN R_PPC_ADDR14_BRTAKEN 2133 #define R_PPC64_ADDR14_BRNTAKEN R_PPC_ADDR14_BRNTAKEN 2134 #define R_PPC64_REL24 R_PPC_REL24 2135 #define R_PPC64_REL14 R_PPC_REL14 2136 #define R_PPC64_REL14_BRTAKEN R_PPC_REL14_BRTAKEN 2137 #define R_PPC64_REL14_BRNTAKEN R_PPC_REL14_BRNTAKEN 2138 #define R_PPC64_GOT16 R_PPC_GOT16 2139 #define R_PPC64_GOT16_LO R_PPC_GOT16_LO 2140 #define R_PPC64_GOT16_HI R_PPC_GOT16_HI 2141 #define R_PPC64_GOT16_HA R_PPC_GOT16_HA 2142 2143 #define R_PPC64_COPY R_PPC_COPY 2144 #define R_PPC64_GLOB_DAT R_PPC_GLOB_DAT 2145 #define R_PPC64_JMP_SLOT R_PPC_JMP_SLOT 2146 #define R_PPC64_RELATIVE R_PPC_RELATIVE 2147 2148 #define R_PPC64_UADDR32 R_PPC_UADDR32 2149 #define R_PPC64_UADDR16 R_PPC_UADDR16 2150 #define R_PPC64_REL32 R_PPC_REL32 2151 #define R_PPC64_PLT32 R_PPC_PLT32 2152 #define R_PPC64_PLTREL32 R_PPC_PLTREL32 2153 #define R_PPC64_PLT16_LO R_PPC_PLT16_LO 2154 #define R_PPC64_PLT16_HI R_PPC_PLT16_HI 2155 #define R_PPC64_PLT16_HA R_PPC_PLT16_HA 2156 2157 #define R_PPC64_SECTOFF R_PPC_SECTOFF 2158 #define R_PPC64_SECTOFF_LO R_PPC_SECTOFF_LO 2159 #define R_PPC64_SECTOFF_HI R_PPC_SECTOFF_HI 2160 #define R_PPC64_SECTOFF_HA R_PPC_SECTOFF_HA 2161 #define R_PPC64_ADDR30 37 2162 #define R_PPC64_ADDR64 38 2163 #define R_PPC64_ADDR16_HIGHER 39 2164 #define R_PPC64_ADDR16_HIGHERA 40 2165 #define R_PPC64_ADDR16_HIGHEST 41 2166 #define R_PPC64_ADDR16_HIGHESTA 42 2167 #define R_PPC64_UADDR64 43 2168 #define R_PPC64_REL64 44 2169 #define R_PPC64_PLT64 45 2170 #define R_PPC64_PLTREL64 46 2171 #define R_PPC64_TOC16 47 2172 #define R_PPC64_TOC16_LO 48 2173 #define R_PPC64_TOC16_HI 49 2174 #define R_PPC64_TOC16_HA 50 2175 #define R_PPC64_TOC 51 2176 #define R_PPC64_PLTGOT16 52 2177 #define R_PPC64_PLTGOT16_LO 53 2178 #define R_PPC64_PLTGOT16_HI 54 2179 #define R_PPC64_PLTGOT16_HA 55 2180 2181 #define R_PPC64_ADDR16_DS 56 2182 #define R_PPC64_ADDR16_LO_DS 57 2183 #define R_PPC64_GOT16_DS 58 2184 #define R_PPC64_GOT16_LO_DS 59 2185 #define R_PPC64_PLT16_LO_DS 60 2186 #define R_PPC64_SECTOFF_DS 61 2187 #define R_PPC64_SECTOFF_LO_DS 62 2188 #define R_PPC64_TOC16_DS 63 2189 #define R_PPC64_TOC16_LO_DS 64 2190 #define R_PPC64_PLTGOT16_DS 65 2191 #define R_PPC64_PLTGOT16_LO_DS 66 2192 2193 2194 #define R_PPC64_TLS 67 2195 #define R_PPC64_DTPMOD64 68 2196 #define R_PPC64_TPREL16 69 2197 #define R_PPC64_TPREL16_LO 70 2198 #define R_PPC64_TPREL16_HI 71 2199 #define R_PPC64_TPREL16_HA 72 2200 #define R_PPC64_TPREL64 73 2201 #define R_PPC64_DTPREL16 74 2202 #define R_PPC64_DTPREL16_LO 75 2203 #define R_PPC64_DTPREL16_HI 76 2204 #define R_PPC64_DTPREL16_HA 77 2205 #define R_PPC64_DTPREL64 78 2206 #define R_PPC64_GOT_TLSGD16 79 2207 #define R_PPC64_GOT_TLSGD16_LO 80 2208 #define R_PPC64_GOT_TLSGD16_HI 81 2209 #define R_PPC64_GOT_TLSGD16_HA 82 2210 #define R_PPC64_GOT_TLSLD16 83 2211 #define R_PPC64_GOT_TLSLD16_LO 84 2212 #define R_PPC64_GOT_TLSLD16_HI 85 2213 #define R_PPC64_GOT_TLSLD16_HA 86 2214 #define R_PPC64_GOT_TPREL16_DS 87 2215 #define R_PPC64_GOT_TPREL16_LO_DS 88 2216 #define R_PPC64_GOT_TPREL16_HI 89 2217 #define R_PPC64_GOT_TPREL16_HA 90 2218 #define R_PPC64_GOT_DTPREL16_DS 91 2219 #define R_PPC64_GOT_DTPREL16_LO_DS 92 2220 #define R_PPC64_GOT_DTPREL16_HI 93 2221 #define R_PPC64_GOT_DTPREL16_HA 94 2222 #define R_PPC64_TPREL16_DS 95 2223 #define R_PPC64_TPREL16_LO_DS 96 2224 #define R_PPC64_TPREL16_HIGHER 97 2225 #define R_PPC64_TPREL16_HIGHERA 98 2226 #define R_PPC64_TPREL16_HIGHEST 99 2227 #define R_PPC64_TPREL16_HIGHESTA 100 2228 #define R_PPC64_DTPREL16_DS 101 2229 #define R_PPC64_DTPREL16_LO_DS 102 2230 #define R_PPC64_DTPREL16_HIGHER 103 2231 #define R_PPC64_DTPREL16_HIGHERA 104 2232 #define R_PPC64_DTPREL16_HIGHEST 105 2233 #define R_PPC64_DTPREL16_HIGHESTA 106 2234 #define R_PPC64_TLSGD 107 2235 #define R_PPC64_TLSLD 108 2236 #define R_PPC64_TOCSAVE 109 2237 #define R_PPC64_ADDR16_HIGH 110 2238 #define R_PPC64_ADDR16_HIGHA 111 2239 #define R_PPC64_TPREL16_HIGH 112 2240 #define R_PPC64_TPREL16_HIGHA 113 2241 #define R_PPC64_DTPREL16_HIGH 114 2242 #define R_PPC64_DTPREL16_HIGHA 115 2243 2244 2245 #define R_PPC64_JMP_IREL 247 2246 #define R_PPC64_IRELATIVE 248 2247 #define R_PPC64_REL16 249 2248 #define R_PPC64_REL16_LO 250 2249 #define R_PPC64_REL16_HI 251 2250 #define R_PPC64_REL16_HA 252 2251 2252 #define EF_PPC64_ABI 3 2253 2254 #define DT_PPC64_GLINK (DT_LOPROC + 0) 2255 #define DT_PPC64_OPD (DT_LOPROC + 1) 2256 #define DT_PPC64_OPDSZ (DT_LOPROC + 2) 2257 #define DT_PPC64_OPT (DT_LOPROC + 3) 2258 #define DT_PPC64_NUM 4 2259 2260 #define PPC64_OPT_TLS 1 2261 #define PPC64_OPT_MULTI_TOC 2 2262 2263 #define STO_PPC64_LOCAL_BIT 5 2264 #define STO_PPC64_LOCAL_MASK 0xe0 2265 #define PPC64_LOCAL_ENTRY_OFFSET(x) (1 << (((x)&0xe0)>>5) & 0xfc) 2266 2267 2268 #define EF_ARM_RELEXEC 0x01 2269 #define EF_ARM_HASENTRY 0x02 2270 #define EF_ARM_INTERWORK 0x04 2271 #define EF_ARM_APCS_26 0x08 2272 #define EF_ARM_APCS_FLOAT 0x10 2273 #define EF_ARM_PIC 0x20 2274 #define EF_ARM_ALIGN8 0x40 2275 #define EF_ARM_NEW_ABI 0x80 2276 #define EF_ARM_OLD_ABI 0x100 2277 #define EF_ARM_SOFT_FLOAT 0x200 2278 #define EF_ARM_VFP_FLOAT 0x400 2279 #define EF_ARM_MAVERICK_FLOAT 0x800 2280 2281 #define EF_ARM_ABI_FLOAT_SOFT 0x200 2282 #define EF_ARM_ABI_FLOAT_HARD 0x400 2283 2284 2285 #define EF_ARM_SYMSARESORTED 0x04 2286 #define EF_ARM_DYNSYMSUSESEGIDX 0x08 2287 #define EF_ARM_MAPSYMSFIRST 0x10 2288 #define EF_ARM_EABIMASK 0XFF000000 2289 2290 2291 #define EF_ARM_BE8 0x00800000 2292 #define EF_ARM_LE8 0x00400000 2293 2294 #define EF_ARM_EABI_VERSION(flags) ((flags) & EF_ARM_EABIMASK) 2295 #define EF_ARM_EABI_UNKNOWN 0x00000000 2296 #define EF_ARM_EABI_VER1 0x01000000 2297 #define EF_ARM_EABI_VER2 0x02000000 2298 #define EF_ARM_EABI_VER3 0x03000000 2299 #define EF_ARM_EABI_VER4 0x04000000 2300 #define EF_ARM_EABI_VER5 0x05000000 2301 2302 2303 #define STT_ARM_TFUNC STT_LOPROC 2304 #define STT_ARM_16BIT STT_HIPROC 2305 2306 2307 #define SHF_ARM_ENTRYSECT 0x10000000 2308 #define SHF_ARM_COMDEF 0x80000000 2309 2310 2311 2312 #define PF_ARM_SB 0x10000000 2313 2314 #define PF_ARM_PI 0x20000000 2315 #define PF_ARM_ABS 0x40000000 2316 2317 2318 #define PT_ARM_EXIDX (PT_LOPROC + 1) 2319 2320 2321 #define SHT_ARM_EXIDX (SHT_LOPROC + 1) 2322 #define SHT_ARM_PREEMPTMAP (SHT_LOPROC + 2) 2323 #define SHT_ARM_ATTRIBUTES (SHT_LOPROC + 3) 2324 2325 #define R_AARCH64_NONE 0 2326 #define R_AARCH64_P32_ABS32 1 2327 #define R_AARCH64_P32_COPY 180 2328 #define R_AARCH64_P32_GLOB_DAT 181 2329 #define R_AARCH64_P32_JUMP_SLOT 182 2330 #define R_AARCH64_P32_RELATIVE 183 2331 #define R_AARCH64_P32_TLS_DTPMOD 184 2332 #define R_AARCH64_P32_TLS_DTPREL 185 2333 #define R_AARCH64_P32_TLS_TPREL 186 2334 #define R_AARCH64_P32_TLSDESC 187 2335 #define R_AARCH64_P32_IRELATIVE 188 2336 #define R_AARCH64_ABS64 257 2337 #define R_AARCH64_ABS32 258 2338 #define R_AARCH64_ABS16 259 2339 #define R_AARCH64_PREL64 260 2340 #define R_AARCH64_PREL32 261 2341 #define R_AARCH64_PREL16 262 2342 #define R_AARCH64_MOVW_UABS_G0 263 2343 #define R_AARCH64_MOVW_UABS_G0_NC 264 2344 #define R_AARCH64_MOVW_UABS_G1 265 2345 #define R_AARCH64_MOVW_UABS_G1_NC 266 2346 #define R_AARCH64_MOVW_UABS_G2 267 2347 #define R_AARCH64_MOVW_UABS_G2_NC 268 2348 #define R_AARCH64_MOVW_UABS_G3 269 2349 #define R_AARCH64_MOVW_SABS_G0 270 2350 #define R_AARCH64_MOVW_SABS_G1 271 2351 #define R_AARCH64_MOVW_SABS_G2 272 2352 #define R_AARCH64_LD_PREL_LO19 273 2353 #define R_AARCH64_ADR_PREL_LO21 274 2354 #define R_AARCH64_ADR_PREL_PG_HI21 275 2355 #define R_AARCH64_ADR_PREL_PG_HI21_NC 276 2356 #define R_AARCH64_ADD_ABS_LO12_NC 277 2357 #define R_AARCH64_LDST8_ABS_LO12_NC 278 2358 #define R_AARCH64_TSTBR14 279 2359 #define R_AARCH64_CONDBR19 280 2360 #define R_AARCH64_JUMP26 282 2361 #define R_AARCH64_CALL26 283 2362 #define R_AARCH64_LDST16_ABS_LO12_NC 284 2363 #define R_AARCH64_LDST32_ABS_LO12_NC 285 2364 #define R_AARCH64_LDST64_ABS_LO12_NC 286 2365 #define R_AARCH64_MOVW_PREL_G0 287 2366 #define R_AARCH64_MOVW_PREL_G0_NC 288 2367 #define R_AARCH64_MOVW_PREL_G1 289 2368 #define R_AARCH64_MOVW_PREL_G1_NC 290 2369 #define R_AARCH64_MOVW_PREL_G2 291 2370 #define R_AARCH64_MOVW_PREL_G2_NC 292 2371 #define R_AARCH64_MOVW_PREL_G3 293 2372 #define R_AARCH64_LDST128_ABS_LO12_NC 299 2373 #define R_AARCH64_MOVW_GOTOFF_G0 300 2374 #define R_AARCH64_MOVW_GOTOFF_G0_NC 301 2375 #define R_AARCH64_MOVW_GOTOFF_G1 302 2376 #define R_AARCH64_MOVW_GOTOFF_G1_NC 303 2377 #define R_AARCH64_MOVW_GOTOFF_G2 304 2378 #define R_AARCH64_MOVW_GOTOFF_G2_NC 305 2379 #define R_AARCH64_MOVW_GOTOFF_G3 306 2380 #define R_AARCH64_GOTREL64 307 2381 #define R_AARCH64_GOTREL32 308 2382 #define R_AARCH64_GOT_LD_PREL19 309 2383 #define R_AARCH64_LD64_GOTOFF_LO15 310 2384 #define R_AARCH64_ADR_GOT_PAGE 311 2385 #define R_AARCH64_LD64_GOT_LO12_NC 312 2386 #define R_AARCH64_LD64_GOTPAGE_LO15 313 2387 #define R_AARCH64_TLSGD_ADR_PREL21 512 2388 #define R_AARCH64_TLSGD_ADR_PAGE21 513 2389 #define R_AARCH64_TLSGD_ADD_LO12_NC 514 2390 #define R_AARCH64_TLSGD_MOVW_G1 515 2391 #define R_AARCH64_TLSGD_MOVW_G0_NC 516 2392 #define R_AARCH64_TLSLD_ADR_PREL21 517 2393 #define R_AARCH64_TLSLD_ADR_PAGE21 518 2394 #define R_AARCH64_TLSLD_ADD_LO12_NC 519 2395 #define R_AARCH64_TLSLD_MOVW_G1 520 2396 #define R_AARCH64_TLSLD_MOVW_G0_NC 521 2397 #define R_AARCH64_TLSLD_LD_PREL19 522 2398 #define R_AARCH64_TLSLD_MOVW_DTPREL_G2 523 2399 #define R_AARCH64_TLSLD_MOVW_DTPREL_G1 524 2400 #define R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC 525 2401 #define R_AARCH64_TLSLD_MOVW_DTPREL_G0 526 2402 #define R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC 527 2403 #define R_AARCH64_TLSLD_ADD_DTPREL_HI12 528 2404 #define R_AARCH64_TLSLD_ADD_DTPREL_LO12 529 2405 #define R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC 530 2406 #define R_AARCH64_TLSLD_LDST8_DTPREL_LO12 531 2407 #define R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC 532 2408 #define R_AARCH64_TLSLD_LDST16_DTPREL_LO12 533 2409 #define R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC 534 2410 #define R_AARCH64_TLSLD_LDST32_DTPREL_LO12 535 2411 #define R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC 536 2412 #define R_AARCH64_TLSLD_LDST64_DTPREL_LO12 537 2413 #define R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC 538 2414 #define R_AARCH64_TLSIE_MOVW_GOTTPREL_G1 539 2415 #define R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC 540 2416 #define R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21 541 2417 #define R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC 542 2418 #define R_AARCH64_TLSIE_LD_GOTTPREL_PREL19 543 2419 #define R_AARCH64_TLSLE_MOVW_TPREL_G2 544 2420 #define R_AARCH64_TLSLE_MOVW_TPREL_G1 545 2421 #define R_AARCH64_TLSLE_MOVW_TPREL_G1_NC 546 2422 #define R_AARCH64_TLSLE_MOVW_TPREL_G0 547 2423 #define R_AARCH64_TLSLE_MOVW_TPREL_G0_NC 548 2424 #define R_AARCH64_TLSLE_ADD_TPREL_HI12 549 2425 #define R_AARCH64_TLSLE_ADD_TPREL_LO12 550 2426 #define R_AARCH64_TLSLE_ADD_TPREL_LO12_NC 551 2427 #define R_AARCH64_TLSLE_LDST8_TPREL_LO12 552 2428 #define R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC 553 2429 #define R_AARCH64_TLSLE_LDST16_TPREL_LO12 554 2430 #define R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC 555 2431 #define R_AARCH64_TLSLE_LDST32_TPREL_LO12 556 2432 #define R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC 557 2433 #define R_AARCH64_TLSLE_LDST64_TPREL_LO12 558 2434 #define R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC 559 2435 #define R_AARCH64_TLSDESC_LD_PREL19 560 2436 #define R_AARCH64_TLSDESC_ADR_PREL21 561 2437 #define R_AARCH64_TLSDESC_ADR_PAGE21 562 2438 #define R_AARCH64_TLSDESC_LD64_LO12 563 2439 #define R_AARCH64_TLSDESC_ADD_LO12 564 2440 #define R_AARCH64_TLSDESC_OFF_G1 565 2441 #define R_AARCH64_TLSDESC_OFF_G0_NC 566 2442 #define R_AARCH64_TLSDESC_LDR 567 2443 #define R_AARCH64_TLSDESC_ADD 568 2444 #define R_AARCH64_TLSDESC_CALL 569 2445 #define R_AARCH64_TLSLE_LDST128_TPREL_LO12 570 2446 #define R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC 571 2447 #define R_AARCH64_TLSLD_LDST128_DTPREL_LO12 572 2448 #define R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC 573 2449 #define R_AARCH64_COPY 1024 2450 #define R_AARCH64_GLOB_DAT 1025 2451 #define R_AARCH64_JUMP_SLOT 1026 2452 #define R_AARCH64_RELATIVE 1027 2453 #define R_AARCH64_TLS_DTPMOD 1028 2454 #define R_AARCH64_TLS_DTPMOD64 1028 2455 #define R_AARCH64_TLS_DTPREL 1029 2456 #define R_AARCH64_TLS_DTPREL64 1029 2457 #define R_AARCH64_TLS_TPREL 1030 2458 #define R_AARCH64_TLS_TPREL64 1030 2459 #define R_AARCH64_TLSDESC 1031 2460 2461 2462 #define R_ARM_NONE 0 2463 #define R_ARM_PC24 1 2464 #define R_ARM_ABS32 2 2465 #define R_ARM_REL32 3 2466 #define R_ARM_PC13 4 2467 #define R_ARM_ABS16 5 2468 #define R_ARM_ABS12 6 2469 #define R_ARM_THM_ABS5 7 2470 #define R_ARM_ABS8 8 2471 #define R_ARM_SBREL32 9 2472 #define R_ARM_THM_PC22 10 2473 #define R_ARM_THM_PC8 11 2474 #define R_ARM_AMP_VCALL9 12 2475 #define R_ARM_TLS_DESC 13 2476 #define R_ARM_THM_SWI8 14 2477 #define R_ARM_XPC25 15 2478 #define R_ARM_THM_XPC22 16 2479 #define R_ARM_TLS_DTPMOD32 17 2480 #define R_ARM_TLS_DTPOFF32 18 2481 #define R_ARM_TLS_TPOFF32 19 2482 #define R_ARM_COPY 20 2483 #define R_ARM_GLOB_DAT 21 2484 #define R_ARM_JUMP_SLOT 22 2485 #define R_ARM_RELATIVE 23 2486 #define R_ARM_GOTOFF 24 2487 #define R_ARM_GOTPC 25 2488 #define R_ARM_GOT32 26 2489 #define R_ARM_PLT32 27 2490 #define R_ARM_CALL 28 2491 #define R_ARM_JUMP24 29 2492 #define R_ARM_THM_JUMP24 30 2493 #define R_ARM_BASE_ABS 31 2494 #define R_ARM_ALU_PCREL_7_0 32 2495 #define R_ARM_ALU_PCREL_15_8 33 2496 #define R_ARM_ALU_PCREL_23_15 34 2497 #define R_ARM_LDR_SBREL_11_0 35 2498 #define R_ARM_ALU_SBREL_19_12 36 2499 #define R_ARM_ALU_SBREL_27_20 37 2500 #define R_ARM_TARGET1 38 2501 #define R_ARM_SBREL31 39 2502 #define R_ARM_V4BX 40 2503 #define R_ARM_TARGET2 41 2504 #define R_ARM_PREL31 42 2505 #define R_ARM_MOVW_ABS_NC 43 2506 #define R_ARM_MOVT_ABS 44 2507 #define R_ARM_MOVW_PREL_NC 45 2508 #define R_ARM_MOVT_PREL 46 2509 #define R_ARM_THM_MOVW_ABS_NC 47 2510 #define R_ARM_THM_MOVT_ABS 48 2511 #define R_ARM_THM_MOVW_PREL_NC 49 2512 #define R_ARM_THM_MOVT_PREL 50 2513 #define R_ARM_THM_JUMP19 51 2514 #define R_ARM_THM_JUMP6 52 2515 #define R_ARM_THM_ALU_PREL_11_0 53 2516 #define R_ARM_THM_PC12 54 2517 #define R_ARM_ABS32_NOI 55 2518 #define R_ARM_REL32_NOI 56 2519 #define R_ARM_ALU_PC_G0_NC 57 2520 #define R_ARM_ALU_PC_G0 58 2521 #define R_ARM_ALU_PC_G1_NC 59 2522 #define R_ARM_ALU_PC_G1 60 2523 #define R_ARM_ALU_PC_G2 61 2524 #define R_ARM_LDR_PC_G1 62 2525 #define R_ARM_LDR_PC_G2 63 2526 #define R_ARM_LDRS_PC_G0 64 2527 #define R_ARM_LDRS_PC_G1 65 2528 #define R_ARM_LDRS_PC_G2 66 2529 #define R_ARM_LDC_PC_G0 67 2530 #define R_ARM_LDC_PC_G1 68 2531 #define R_ARM_LDC_PC_G2 69 2532 #define R_ARM_ALU_SB_G0_NC 70 2533 #define R_ARM_ALU_SB_G0 71 2534 #define R_ARM_ALU_SB_G1_NC 72 2535 #define R_ARM_ALU_SB_G1 73 2536 #define R_ARM_ALU_SB_G2 74 2537 #define R_ARM_LDR_SB_G0 75 2538 #define R_ARM_LDR_SB_G1 76 2539 #define R_ARM_LDR_SB_G2 77 2540 #define R_ARM_LDRS_SB_G0 78 2541 #define R_ARM_LDRS_SB_G1 79 2542 #define R_ARM_LDRS_SB_G2 80 2543 #define R_ARM_LDC_SB_G0 81 2544 #define R_ARM_LDC_SB_G1 82 2545 #define R_ARM_LDC_SB_G2 83 2546 #define R_ARM_MOVW_BREL_NC 84 2547 #define R_ARM_MOVT_BREL 85 2548 #define R_ARM_MOVW_BREL 86 2549 #define R_ARM_THM_MOVW_BREL_NC 87 2550 #define R_ARM_THM_MOVT_BREL 88 2551 #define R_ARM_THM_MOVW_BREL 89 2552 #define R_ARM_TLS_GOTDESC 90 2553 #define R_ARM_TLS_CALL 91 2554 #define R_ARM_TLS_DESCSEQ 92 2555 #define R_ARM_THM_TLS_CALL 93 2556 #define R_ARM_PLT32_ABS 94 2557 #define R_ARM_GOT_ABS 95 2558 #define R_ARM_GOT_PREL 96 2559 #define R_ARM_GOT_BREL12 97 2560 #define R_ARM_GOTOFF12 98 2561 #define R_ARM_GOTRELAX 99 2562 #define R_ARM_GNU_VTENTRY 100 2563 #define R_ARM_GNU_VTINHERIT 101 2564 #define R_ARM_THM_PC11 102 2565 #define R_ARM_THM_PC9 103 2566 #define R_ARM_TLS_GD32 104 2567 2568 #define R_ARM_TLS_LDM32 105 2569 2570 #define R_ARM_TLS_LDO32 106 2571 2572 #define R_ARM_TLS_IE32 107 2573 2574 #define R_ARM_TLS_LE32 108 2575 #define R_ARM_TLS_LDO12 109 2576 #define R_ARM_TLS_LE12 110 2577 #define R_ARM_TLS_IE12GP 111 2578 #define R_ARM_ME_TOO 128 2579 #define R_ARM_THM_TLS_DESCSEQ 129 2580 #define R_ARM_THM_TLS_DESCSEQ16 129 2581 #define R_ARM_THM_TLS_DESCSEQ32 130 2582 #define R_ARM_THM_GOT_BREL12 131 2583 #define R_ARM_IRELATIVE 160 2584 #define R_ARM_RXPC25 249 2585 #define R_ARM_RSBREL32 250 2586 #define R_ARM_THM_RPC22 251 2587 #define R_ARM_RREL32 252 2588 #define R_ARM_RABS22 253 2589 #define R_ARM_RPC24 254 2590 #define R_ARM_RBASE 255 2591 2592 #define R_ARM_NUM 256 2593 2594 2595 2596 2597 #define EF_IA_64_MASKOS 0x0000000f 2598 #define EF_IA_64_ABI64 0x00000010 2599 #define EF_IA_64_ARCH 0xff000000 2600 2601 2602 #define PT_IA_64_ARCHEXT (PT_LOPROC + 0) 2603 #define PT_IA_64_UNWIND (PT_LOPROC + 1) 2604 #define PT_IA_64_HP_OPT_ANOT (PT_LOOS + 0x12) 2605 #define PT_IA_64_HP_HSL_ANOT (PT_LOOS + 0x13) 2606 #define PT_IA_64_HP_STACK (PT_LOOS + 0x14) 2607 2608 2609 #define PF_IA_64_NORECOV 0x80000000 2610 2611 2612 #define SHT_IA_64_EXT (SHT_LOPROC + 0) 2613 #define SHT_IA_64_UNWIND (SHT_LOPROC + 1) 2614 2615 2616 #define SHF_IA_64_SHORT 0x10000000 2617 #define SHF_IA_64_NORECOV 0x20000000 2618 2619 2620 #define DT_IA_64_PLT_RESERVE (DT_LOPROC + 0) 2621 #define DT_IA_64_NUM 1 2622 2623 2624 #define R_IA64_NONE 0x00 2625 #define R_IA64_IMM14 0x21 2626 #define R_IA64_IMM22 0x22 2627 #define R_IA64_IMM64 0x23 2628 #define R_IA64_DIR32MSB 0x24 2629 #define R_IA64_DIR32LSB 0x25 2630 #define R_IA64_DIR64MSB 0x26 2631 #define R_IA64_DIR64LSB 0x27 2632 #define R_IA64_GPREL22 0x2a 2633 #define R_IA64_GPREL64I 0x2b 2634 #define R_IA64_GPREL32MSB 0x2c 2635 #define R_IA64_GPREL32LSB 0x2d 2636 #define R_IA64_GPREL64MSB 0x2e 2637 #define R_IA64_GPREL64LSB 0x2f 2638 #define R_IA64_LTOFF22 0x32 2639 #define R_IA64_LTOFF64I 0x33 2640 #define R_IA64_PLTOFF22 0x3a 2641 #define R_IA64_PLTOFF64I 0x3b 2642 #define R_IA64_PLTOFF64MSB 0x3e 2643 #define R_IA64_PLTOFF64LSB 0x3f 2644 #define R_IA64_FPTR64I 0x43 2645 #define R_IA64_FPTR32MSB 0x44 2646 #define R_IA64_FPTR32LSB 0x45 2647 #define R_IA64_FPTR64MSB 0x46 2648 #define R_IA64_FPTR64LSB 0x47 2649 #define R_IA64_PCREL60B 0x48 2650 #define R_IA64_PCREL21B 0x49 2651 #define R_IA64_PCREL21M 0x4a 2652 #define R_IA64_PCREL21F 0x4b 2653 #define R_IA64_PCREL32MSB 0x4c 2654 #define R_IA64_PCREL32LSB 0x4d 2655 #define R_IA64_PCREL64MSB 0x4e 2656 #define R_IA64_PCREL64LSB 0x4f 2657 #define R_IA64_LTOFF_FPTR22 0x52 2658 #define R_IA64_LTOFF_FPTR64I 0x53 2659 #define R_IA64_LTOFF_FPTR32MSB 0x54 2660 #define R_IA64_LTOFF_FPTR32LSB 0x55 2661 #define R_IA64_LTOFF_FPTR64MSB 0x56 2662 #define R_IA64_LTOFF_FPTR64LSB 0x57 2663 #define R_IA64_SEGREL32MSB 0x5c 2664 #define R_IA64_SEGREL32LSB 0x5d 2665 #define R_IA64_SEGREL64MSB 0x5e 2666 #define R_IA64_SEGREL64LSB 0x5f 2667 #define R_IA64_SECREL32MSB 0x64 2668 #define R_IA64_SECREL32LSB 0x65 2669 #define R_IA64_SECREL64MSB 0x66 2670 #define R_IA64_SECREL64LSB 0x67 2671 #define R_IA64_REL32MSB 0x6c 2672 #define R_IA64_REL32LSB 0x6d 2673 #define R_IA64_REL64MSB 0x6e 2674 #define R_IA64_REL64LSB 0x6f 2675 #define R_IA64_LTV32MSB 0x74 2676 #define R_IA64_LTV32LSB 0x75 2677 #define R_IA64_LTV64MSB 0x76 2678 #define R_IA64_LTV64LSB 0x77 2679 #define R_IA64_PCREL21BI 0x79 2680 #define R_IA64_PCREL22 0x7a 2681 #define R_IA64_PCREL64I 0x7b 2682 #define R_IA64_IPLTMSB 0x80 2683 #define R_IA64_IPLTLSB 0x81 2684 #define R_IA64_COPY 0x84 2685 #define R_IA64_SUB 0x85 2686 #define R_IA64_LTOFF22X 0x86 2687 #define R_IA64_LDXMOV 0x87 2688 #define R_IA64_TPREL14 0x91 2689 #define R_IA64_TPREL22 0x92 2690 #define R_IA64_TPREL64I 0x93 2691 #define R_IA64_TPREL64MSB 0x96 2692 #define R_IA64_TPREL64LSB 0x97 2693 #define R_IA64_LTOFF_TPREL22 0x9a 2694 #define R_IA64_DTPMOD64MSB 0xa6 2695 #define R_IA64_DTPMOD64LSB 0xa7 2696 #define R_IA64_LTOFF_DTPMOD22 0xaa 2697 #define R_IA64_DTPREL14 0xb1 2698 #define R_IA64_DTPREL22 0xb2 2699 #define R_IA64_DTPREL64I 0xb3 2700 #define R_IA64_DTPREL32MSB 0xb4 2701 #define R_IA64_DTPREL32LSB 0xb5 2702 #define R_IA64_DTPREL64MSB 0xb6 2703 #define R_IA64_DTPREL64LSB 0xb7 2704 #define R_IA64_LTOFF_DTPREL22 0xba 2705 2706 2707 #define EF_SH_MACH_MASK 0x1f 2708 #define EF_SH_UNKNOWN 0x0 2709 #define EF_SH1 0x1 2710 #define EF_SH2 0x2 2711 #define EF_SH3 0x3 2712 #define EF_SH_DSP 0x4 2713 #define EF_SH3_DSP 0x5 2714 #define EF_SH4AL_DSP 0x6 2715 #define EF_SH3E 0x8 2716 #define EF_SH4 0x9 2717 #define EF_SH2E 0xb 2718 #define EF_SH4A 0xc 2719 #define EF_SH2A 0xd 2720 #define EF_SH4_NOFPU 0x10 2721 #define EF_SH4A_NOFPU 0x11 2722 #define EF_SH4_NOMMU_NOFPU 0x12 2723 #define EF_SH2A_NOFPU 0x13 2724 #define EF_SH3_NOMMU 0x14 2725 #define EF_SH2A_SH4_NOFPU 0x15 2726 #define EF_SH2A_SH3_NOFPU 0x16 2727 #define EF_SH2A_SH4 0x17 2728 #define EF_SH2A_SH3E 0x18 2729 2730 #define R_SH_NONE 0 2731 #define R_SH_DIR32 1 2732 #define R_SH_REL32 2 2733 #define R_SH_DIR8WPN 3 2734 #define R_SH_IND12W 4 2735 #define R_SH_DIR8WPL 5 2736 #define R_SH_DIR8WPZ 6 2737 #define R_SH_DIR8BP 7 2738 #define R_SH_DIR8W 8 2739 #define R_SH_DIR8L 9 2740 #define R_SH_SWITCH16 25 2741 #define R_SH_SWITCH32 26 2742 #define R_SH_USES 27 2743 #define R_SH_COUNT 28 2744 #define R_SH_ALIGN 29 2745 #define R_SH_CODE 30 2746 #define R_SH_DATA 31 2747 #define R_SH_LABEL 32 2748 #define R_SH_SWITCH8 33 2749 #define R_SH_GNU_VTINHERIT 34 2750 #define R_SH_GNU_VTENTRY 35 2751 #define R_SH_TLS_GD_32 144 2752 #define R_SH_TLS_LD_32 145 2753 #define R_SH_TLS_LDO_32 146 2754 #define R_SH_TLS_IE_32 147 2755 #define R_SH_TLS_LE_32 148 2756 #define R_SH_TLS_DTPMOD32 149 2757 #define R_SH_TLS_DTPOFF32 150 2758 #define R_SH_TLS_TPOFF32 151 2759 #define R_SH_GOT32 160 2760 #define R_SH_PLT32 161 2761 #define R_SH_COPY 162 2762 #define R_SH_GLOB_DAT 163 2763 #define R_SH_JMP_SLOT 164 2764 #define R_SH_RELATIVE 165 2765 #define R_SH_GOTOFF 166 2766 #define R_SH_GOTPC 167 2767 #define R_SH_GOT20 201 2768 #define R_SH_GOTOFF20 202 2769 #define R_SH_GOTFUNCDESC 203 2770 #define R_SH_GOTFUNCDEST20 204 2771 #define R_SH_GOTOFFFUNCDESC 205 2772 #define R_SH_GOTOFFFUNCDEST20 206 2773 #define R_SH_FUNCDESC 207 2774 #define R_SH_FUNCDESC_VALUE 208 2775 2776 #define R_SH_NUM 256 2777 2778 2779 2780 #define R_390_NONE 0 2781 #define R_390_8 1 2782 #define R_390_12 2 2783 #define R_390_16 3 2784 #define R_390_32 4 2785 #define R_390_PC32 5 2786 #define R_390_GOT12 6 2787 #define R_390_GOT32 7 2788 #define R_390_PLT32 8 2789 #define R_390_COPY 9 2790 #define R_390_GLOB_DAT 10 2791 #define R_390_JMP_SLOT 11 2792 #define R_390_RELATIVE 12 2793 #define R_390_GOTOFF32 13 2794 #define R_390_GOTPC 14 2795 #define R_390_GOT16 15 2796 #define R_390_PC16 16 2797 #define R_390_PC16DBL 17 2798 #define R_390_PLT16DBL 18 2799 #define R_390_PC32DBL 19 2800 #define R_390_PLT32DBL 20 2801 #define R_390_GOTPCDBL 21 2802 #define R_390_64 22 2803 #define R_390_PC64 23 2804 #define R_390_GOT64 24 2805 #define R_390_PLT64 25 2806 #define R_390_GOTENT 26 2807 #define R_390_GOTOFF16 27 2808 #define R_390_GOTOFF64 28 2809 #define R_390_GOTPLT12 29 2810 #define R_390_GOTPLT16 30 2811 #define R_390_GOTPLT32 31 2812 #define R_390_GOTPLT64 32 2813 #define R_390_GOTPLTENT 33 2814 #define R_390_PLTOFF16 34 2815 #define R_390_PLTOFF32 35 2816 #define R_390_PLTOFF64 36 2817 #define R_390_TLS_LOAD 37 2818 #define R_390_TLS_GDCALL 38 2819 2820 #define R_390_TLS_LDCALL 39 2821 2822 #define R_390_TLS_GD32 40 2823 2824 #define R_390_TLS_GD64 41 2825 2826 #define R_390_TLS_GOTIE12 42 2827 2828 #define R_390_TLS_GOTIE32 43 2829 2830 #define R_390_TLS_GOTIE64 44 2831 2832 #define R_390_TLS_LDM32 45 2833 2834 #define R_390_TLS_LDM64 46 2835 2836 #define R_390_TLS_IE32 47 2837 2838 #define R_390_TLS_IE64 48 2839 2840 #define R_390_TLS_IEENT 49 2841 2842 #define R_390_TLS_LE32 50 2843 2844 #define R_390_TLS_LE64 51 2845 2846 #define R_390_TLS_LDO32 52 2847 2848 #define R_390_TLS_LDO64 53 2849 2850 #define R_390_TLS_DTPMOD 54 2851 #define R_390_TLS_DTPOFF 55 2852 #define R_390_TLS_TPOFF 56 2853 2854 #define R_390_20 57 2855 #define R_390_GOT20 58 2856 #define R_390_GOTPLT20 59 2857 #define R_390_TLS_GOTIE20 60 2858 2859 2860 #define R_390_NUM 61 2861 2862 2863 2864 #define R_CRIS_NONE 0 2865 #define R_CRIS_8 1 2866 #define R_CRIS_16 2 2867 #define R_CRIS_32 3 2868 #define R_CRIS_8_PCREL 4 2869 #define R_CRIS_16_PCREL 5 2870 #define R_CRIS_32_PCREL 6 2871 #define R_CRIS_GNU_VTINHERIT 7 2872 #define R_CRIS_GNU_VTENTRY 8 2873 #define R_CRIS_COPY 9 2874 #define R_CRIS_GLOB_DAT 10 2875 #define R_CRIS_JUMP_SLOT 11 2876 #define R_CRIS_RELATIVE 12 2877 #define R_CRIS_16_GOT 13 2878 #define R_CRIS_32_GOT 14 2879 #define R_CRIS_16_GOTPLT 15 2880 #define R_CRIS_32_GOTPLT 16 2881 #define R_CRIS_32_GOTREL 17 2882 #define R_CRIS_32_PLT_GOTREL 18 2883 #define R_CRIS_32_PLT_PCREL 19 2884 2885 #define R_CRIS_NUM 20 2886 2887 2888 2889 #define R_X86_64_NONE 0 2890 #define R_X86_64_64 1 2891 #define R_X86_64_PC32 2 2892 #define R_X86_64_GOT32 3 2893 #define R_X86_64_PLT32 4 2894 #define R_X86_64_COPY 5 2895 #define R_X86_64_GLOB_DAT 6 2896 #define R_X86_64_JUMP_SLOT 7 2897 #define R_X86_64_RELATIVE 8 2898 #define R_X86_64_GOTPCREL 9 2899 2900 #define R_X86_64_32 10 2901 #define R_X86_64_32S 11 2902 #define R_X86_64_16 12 2903 #define R_X86_64_PC16 13 2904 #define R_X86_64_8 14 2905 #define R_X86_64_PC8 15 2906 #define R_X86_64_DTPMOD64 16 2907 #define R_X86_64_DTPOFF64 17 2908 #define R_X86_64_TPOFF64 18 2909 #define R_X86_64_TLSGD 19 2910 2911 #define R_X86_64_TLSLD 20 2912 2913 #define R_X86_64_DTPOFF32 21 2914 #define R_X86_64_GOTTPOFF 22 2915 2916 #define R_X86_64_TPOFF32 23 2917 #define R_X86_64_PC64 24 2918 #define R_X86_64_GOTOFF64 25 2919 #define R_X86_64_GOTPC32 26 2920 #define R_X86_64_GOT64 27 2921 #define R_X86_64_GOTPCREL64 28 2922 #define R_X86_64_GOTPC64 29 2923 #define R_X86_64_GOTPLT64 30 2924 #define R_X86_64_PLTOFF64 31 2925 #define R_X86_64_SIZE32 32 2926 #define R_X86_64_SIZE64 33 2927 2928 #define R_X86_64_GOTPC32_TLSDESC 34 2929 #define R_X86_64_TLSDESC_CALL 35 2930 2931 #define R_X86_64_TLSDESC 36 2932 #define R_X86_64_IRELATIVE 37 2933 #define R_X86_64_RELATIVE64 38 2934 #define R_X86_64_GOTPCRELX 41 2935 #define R_X86_64_REX_GOTPCRELX 42 2936 #define R_X86_64_NUM 43 2937 2938 2939 2940 #define R_MN10300_NONE 0 2941 #define R_MN10300_32 1 2942 #define R_MN10300_16 2 2943 #define R_MN10300_8 3 2944 #define R_MN10300_PCREL32 4 2945 #define R_MN10300_PCREL16 5 2946 #define R_MN10300_PCREL8 6 2947 #define R_MN10300_GNU_VTINHERIT 7 2948 #define R_MN10300_GNU_VTENTRY 8 2949 #define R_MN10300_24 9 2950 #define R_MN10300_GOTPC32 10 2951 #define R_MN10300_GOTPC16 11 2952 #define R_MN10300_GOTOFF32 12 2953 #define R_MN10300_GOTOFF24 13 2954 #define R_MN10300_GOTOFF16 14 2955 #define R_MN10300_PLT32 15 2956 #define R_MN10300_PLT16 16 2957 #define R_MN10300_GOT32 17 2958 #define R_MN10300_GOT24 18 2959 #define R_MN10300_GOT16 19 2960 #define R_MN10300_COPY 20 2961 #define R_MN10300_GLOB_DAT 21 2962 #define R_MN10300_JMP_SLOT 22 2963 #define R_MN10300_RELATIVE 23 2964 2965 #define R_MN10300_NUM 24 2966 2967 2968 2969 #define R_M32R_NONE 0 2970 #define R_M32R_16 1 2971 #define R_M32R_32 2 2972 #define R_M32R_24 3 2973 #define R_M32R_10_PCREL 4 2974 #define R_M32R_18_PCREL 5 2975 #define R_M32R_26_PCREL 6 2976 #define R_M32R_HI16_ULO 7 2977 #define R_M32R_HI16_SLO 8 2978 #define R_M32R_LO16 9 2979 #define R_M32R_SDA16 10 2980 #define R_M32R_GNU_VTINHERIT 11 2981 #define R_M32R_GNU_VTENTRY 12 2982 2983 #define R_M32R_16_RELA 33 2984 #define R_M32R_32_RELA 34 2985 #define R_M32R_24_RELA 35 2986 #define R_M32R_10_PCREL_RELA 36 2987 #define R_M32R_18_PCREL_RELA 37 2988 #define R_M32R_26_PCREL_RELA 38 2989 #define R_M32R_HI16_ULO_RELA 39 2990 #define R_M32R_HI16_SLO_RELA 40 2991 #define R_M32R_LO16_RELA 41 2992 #define R_M32R_SDA16_RELA 42 2993 #define R_M32R_RELA_GNU_VTINHERIT 43 2994 #define R_M32R_RELA_GNU_VTENTRY 44 2995 #define R_M32R_REL32 45 2996 2997 #define R_M32R_GOT24 48 2998 #define R_M32R_26_PLTREL 49 2999 #define R_M32R_COPY 50 3000 #define R_M32R_GLOB_DAT 51 3001 #define R_M32R_JMP_SLOT 52 3002 #define R_M32R_RELATIVE 53 3003 #define R_M32R_GOTOFF 54 3004 #define R_M32R_GOTPC24 55 3005 #define R_M32R_GOT16_HI_ULO 56 3006 3007 #define R_M32R_GOT16_HI_SLO 57 3008 3009 #define R_M32R_GOT16_LO 58 3010 #define R_M32R_GOTPC_HI_ULO 59 3011 3012 #define R_M32R_GOTPC_HI_SLO 60 3013 3014 #define R_M32R_GOTPC_LO 61 3015 3016 #define R_M32R_GOTOFF_HI_ULO 62 3017 3018 #define R_M32R_GOTOFF_HI_SLO 63 3019 3020 #define R_M32R_GOTOFF_LO 64 3021 #define R_M32R_NUM 256 3022 3023 #define R_MICROBLAZE_NONE 0 3024 #define R_MICROBLAZE_32 1 3025 #define R_MICROBLAZE_32_PCREL 2 3026 #define R_MICROBLAZE_64_PCREL 3 3027 #define R_MICROBLAZE_32_PCREL_LO 4 3028 #define R_MICROBLAZE_64 5 3029 #define R_MICROBLAZE_32_LO 6 3030 #define R_MICROBLAZE_SRO32 7 3031 #define R_MICROBLAZE_SRW32 8 3032 #define R_MICROBLAZE_64_NONE 9 3033 #define R_MICROBLAZE_32_SYM_OP_SYM 10 3034 #define R_MICROBLAZE_GNU_VTINHERIT 11 3035 #define R_MICROBLAZE_GNU_VTENTRY 12 3036 #define R_MICROBLAZE_GOTPC_64 13 3037 #define R_MICROBLAZE_GOT_64 14 3038 #define R_MICROBLAZE_PLT_64 15 3039 #define R_MICROBLAZE_REL 16 3040 #define R_MICROBLAZE_JUMP_SLOT 17 3041 #define R_MICROBLAZE_GLOB_DAT 18 3042 #define R_MICROBLAZE_GOTOFF_64 19 3043 #define R_MICROBLAZE_GOTOFF_32 20 3044 #define R_MICROBLAZE_COPY 21 3045 #define R_MICROBLAZE_TLS 22 3046 #define R_MICROBLAZE_TLSGD 23 3047 #define R_MICROBLAZE_TLSLD 24 3048 #define R_MICROBLAZE_TLSDTPMOD32 25 3049 #define R_MICROBLAZE_TLSDTPREL32 26 3050 #define R_MICROBLAZE_TLSDTPREL64 27 3051 #define R_MICROBLAZE_TLSGOTTPREL32 28 3052 #define R_MICROBLAZE_TLSTPREL32 29 3053 3054 #define DT_NIOS2_GP 0x70000002 3055 3056 #define R_NIOS2_NONE 0 3057 #define R_NIOS2_S16 1 3058 #define R_NIOS2_U16 2 3059 #define R_NIOS2_PCREL16 3 3060 #define R_NIOS2_CALL26 4 3061 #define R_NIOS2_IMM5 5 3062 #define R_NIOS2_CACHE_OPX 6 3063 #define R_NIOS2_IMM6 7 3064 #define R_NIOS2_IMM8 8 3065 #define R_NIOS2_HI16 9 3066 #define R_NIOS2_LO16 10 3067 #define R_NIOS2_HIADJ16 11 3068 #define R_NIOS2_BFD_RELOC_32 12 3069 #define R_NIOS2_BFD_RELOC_16 13 3070 #define R_NIOS2_BFD_RELOC_8 14 3071 #define R_NIOS2_GPREL 15 3072 #define R_NIOS2_GNU_VTINHERIT 16 3073 #define R_NIOS2_GNU_VTENTRY 17 3074 #define R_NIOS2_UJMP 18 3075 #define R_NIOS2_CJMP 19 3076 #define R_NIOS2_CALLR 20 3077 #define R_NIOS2_ALIGN 21 3078 #define R_NIOS2_GOT16 22 3079 #define R_NIOS2_CALL16 23 3080 #define R_NIOS2_GOTOFF_LO 24 3081 #define R_NIOS2_GOTOFF_HA 25 3082 #define R_NIOS2_PCREL_LO 26 3083 #define R_NIOS2_PCREL_HA 27 3084 #define R_NIOS2_TLS_GD16 28 3085 #define R_NIOS2_TLS_LDM16 29 3086 #define R_NIOS2_TLS_LDO16 30 3087 #define R_NIOS2_TLS_IE16 31 3088 #define R_NIOS2_TLS_LE16 32 3089 #define R_NIOS2_TLS_DTPMOD 33 3090 #define R_NIOS2_TLS_DTPREL 34 3091 #define R_NIOS2_TLS_TPREL 35 3092 #define R_NIOS2_COPY 36 3093 #define R_NIOS2_GLOB_DAT 37 3094 #define R_NIOS2_JUMP_SLOT 38 3095 #define R_NIOS2_RELATIVE 39 3096 #define R_NIOS2_GOTOFF 40 3097 #define R_NIOS2_CALL26_NOAT 41 3098 #define R_NIOS2_GOT_LO 42 3099 #define R_NIOS2_GOT_HA 43 3100 #define R_NIOS2_CALL_LO 44 3101 #define R_NIOS2_CALL_HA 45 3102 3103 #define R_OR1K_NONE 0 3104 #define R_OR1K_32 1 3105 #define R_OR1K_16 2 3106 #define R_OR1K_8 3 3107 #define R_OR1K_LO_16_IN_INSN 4 3108 #define R_OR1K_HI_16_IN_INSN 5 3109 #define R_OR1K_INSN_REL_26 6 3110 #define R_OR1K_GNU_VTENTRY 7 3111 #define R_OR1K_GNU_VTINHERIT 8 3112 #define R_OR1K_32_PCREL 9 3113 #define R_OR1K_16_PCREL 10 3114 #define R_OR1K_8_PCREL 11 3115 #define R_OR1K_GOTPC_HI16 12 3116 #define R_OR1K_GOTPC_LO16 13 3117 #define R_OR1K_GOT16 14 3118 #define R_OR1K_PLT26 15 3119 #define R_OR1K_GOTOFF_HI16 16 3120 #define R_OR1K_GOTOFF_LO16 17 3121 #define R_OR1K_COPY 18 3122 #define R_OR1K_GLOB_DAT 19 3123 #define R_OR1K_JMP_SLOT 20 3124 #define R_OR1K_RELATIVE 21 3125 #define R_OR1K_TLS_GD_HI16 22 3126 #define R_OR1K_TLS_GD_LO16 23 3127 #define R_OR1K_TLS_LDM_HI16 24 3128 #define R_OR1K_TLS_LDM_LO16 25 3129 #define R_OR1K_TLS_LDO_HI16 26 3130 #define R_OR1K_TLS_LDO_LO16 27 3131 #define R_OR1K_TLS_IE_HI16 28 3132 #define R_OR1K_TLS_IE_LO16 29 3133 #define R_OR1K_TLS_LE_HI16 30 3134 #define R_OR1K_TLS_LE_LO16 31 3135 #define R_OR1K_TLS_TPOFF 32 3136 #define R_OR1K_TLS_DTPOFF 33 3137 #define R_OR1K_TLS_DTPMOD 34 3138 3139 #define R_BPF_NONE 0 3140 #define R_BPF_MAP_FD 1 3141 3142 #ifdef __cplusplus 3143 } 3144 #endif 3145 3146 3147 #endif 3148