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