1/** 2 * D header file for NetBSD. 3 * 4 * http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/src/sys/sys/exec_elf.h 5 */ 6module core.sys.netbsd.sys.elf_common; 7 8version (NetBSD): 9extern (C): 10pure: 11nothrow: 12 13import core.stdc.stdint; 14 15struct Elf_Note 16{ 17 uint32_t n_namesz; 18 uint32_t n_descsz; 19 uint32_t n_type; 20} 21 22struct Elf_GNU_Hash_Header 23{ 24 uint32_t gh_nbuckets; 25 uint32_t gh_symndx; 26 uint32_t gh_maskwords; 27 uint32_t gh_shift2; 28} 29 30enum EI_MAG0 = 0; 31enum EI_MAG1 = 1; 32enum EI_MAG2 = 2; 33enum EI_MAG3 = 3; 34enum EI_CLASS = 4; 35enum EI_DATA = 5; 36enum EI_VERSION = 6; 37enum EI_OSABI = 7; 38enum EI_ABIVERSION = 8; 39enum OLD_EI_BRAND = 8; 40enum EI_PAD = 9; 41enum EI_NIDENT = 16; 42 43enum ELFMAG0 = 0x7f; 44enum ELFMAG1 = 'E'; 45enum ELFMAG2 = 'L'; 46enum ELFMAG3 = 'F'; 47enum ELFMAG = "\177ELF"; 48enum SELFMAG = 4; 49 50enum EV_NONE = 0; 51enum EV_CURRENT = 1; 52 53enum ELFCLASSNONE = 0; 54enum ELFCLASS32 = 1; 55enum ELFCLASS64 = 2; 56 57enum ELFDATANONE = 0; 58enum ELFDATA2LSB = 1; 59enum ELFDATA2MSB = 2; 60 61enum ELFOSABI_NONE = 0; 62enum ELFOSABI_SYSV = 0; 63enum ELFOSABI_HPUX = 1; 64enum ELFOSABI_NETBSD = 2; 65enum ELFOSABI_LINUX = 3; 66enum ELFOSABI_HURD = 4; 67enum ELFOSABI_86OPEN = 5; 68enum ELFOSABI_SOLARIS = 6; 69enum ELFOSABI_AIX = 7; 70enum ELFOSABI_MONTEREY = 7; 71enum ELFOSABI_IRIX = 8; 72enum ELFOSABI_FREEBSD = 9; 73enum ELFOSABI_TRU64 = 10; 74enum ELFOSABI_MODESTO = 11; 75enum ELFOSABI_OPENBSD = 12; 76enum ELFOSABI_OPENVMS = 13; 77enum ELFOSABI_NSK = 14; 78enum ELFOSABI_AROS = 15; 79enum ELFOSABI_ARM = 97; 80enum ELFOSABI_STANDALONE = 255; 81enum ELFOSABI_DRAGONFLYBSD = ELFOSABI_NONE; 82 83extern (D) 84{ 85 auto IS_ELF(T)(T ehdr) { return ehdr.e_ident[EI_MAG0] == ELFMAG0 && 86 ehdr.e_ident[EI_MAG1] == ELFMAG1 && 87 ehdr.e_ident[EI_MAG2] == ELFMAG2 && 88 ehdr.e_ident[EI_MAG3] == ELFMAG3; } 89} 90 91enum ET_NONE = 0; 92enum ET_REL = 1; 93enum ET_EXEC = 2; 94enum ET_DYN = 3; 95enum ET_CORE = 4; 96enum ET_LOOS = 0xfe00; 97enum ET_HIOS = 0xfeff; 98enum ET_LOPROC = 0xff00; 99enum ET_HIPROC = 0xffff; 100 101enum EM_NONE = 0; 102enum EM_M32 = 1; 103enum EM_SPARC = 2; 104enum EM_386 = 3; 105enum EM_68K = 4; 106enum EM_88K = 5; 107enum EM_860 = 7; 108enum EM_MIPS = 8; 109enum EM_S370 = 9; 110enum EM_MIPS_RS3_LE = 10; 111enum EM_PARISC = 15; 112enum EM_VPP500 = 17; 113enum EM_SPARC32PLUS = 18; 114enum EM_960 = 19; 115enum EM_PPC = 20; 116enum EM_PPC64 = 21; 117enum EM_S390 = 22; 118enum EM_V800 = 36; 119enum EM_FR20 = 37; 120enum EM_RH32 = 38; 121enum EM_RCE = 39; 122enum EM_ARM = 40; 123enum EM_SH = 42; 124enum EM_SPARCV9 = 43; 125enum EM_TRICORE = 44; 126enum EM_ARC = 45; 127enum EM_H8_300 = 46; 128enum EM_H8_300H = 47; 129enum EM_H8S = 48; 130enum EM_H8_500 = 49; 131enum EM_IA_64 = 50; 132enum EM_MIPS_X = 51; 133enum EM_COLDFIRE = 52; 134enum EM_68HC12 = 53; 135enum EM_MMA = 54; 136enum EM_PCP = 55; 137enum EM_NCPU = 56; 138enum EM_NDR1 = 57; 139enum EM_STARCORE = 58; 140enum EM_ME16 = 59; 141enum EM_ST100 = 60; 142enum EM_TINYJ = 61; 143enum EM_X86_64 = 62; 144enum EM_AMD64 = 62; 145enum EM_PDSP = 63; 146enum EM_FX66 = 66; 147enum EM_ST9PLUS = 67; 148enum EM_ST7 = 68; 149enum EM_68HC16 = 69; 150enum EM_68HC11 = 70; 151enum EM_68HC08 = 71; 152enum EM_68HC05 = 72; 153enum EM_SVX = 73; 154enum EM_ST19 = 74; 155enum EM_VAX = 75; 156enum EM_CRIS = 76; 157enum EM_JAVELIN = 77; 158enum EM_FIREPATH = 78; 159enum EM_ZSP = 79; 160enum EM_MMIX = 80; 161enum EM_HUANY = 81; 162enum EM_PRISM = 82; 163enum EM_AVR = 83; 164enum EM_FR30 = 84; 165enum EM_D10V = 85; 166enum EM_D30V = 86; 167enum EM_V850 = 87; 168enum EM_M32R = 88; 169enum EM_MN10300 = 89; 170enum EM_MN10200 = 90; 171enum EM_PJ = 91; 172enum EM_OPENRISC = 92; 173enum EM_ARC_A5 = 93; 174enum EM_XTENSA = 94; 175enum EM_VIDEOCORE = 95; 176enum EM_TMM_GPP = 96; 177enum EM_NS32K = 97; 178enum EM_TPC = 98; 179enum EM_SNP1K = 99; 180enum EM_ST200 = 100; 181enum EM_IP2K = 101; 182enum EM_MAX = 102; 183enum EM_CR = 103; 184enum EM_F2MC16 = 104; 185enum EM_MSP430 = 105; 186enum EM_BLACKFIN = 106; 187enum EM_SE_C33 = 107; 188enum EM_SEP = 108; 189enum EM_ARCA = 109; 190enum EM_UNICORE = 110; 191enum EM_AARCH64 = 183; /* AArch64 64-bit ARM microprocessor */ 192 193/* Unofficial machine types follow */ 194enum EM_AVR32 = 6317; /* used by NetBSD/avr32 */ 195enum EM_ALPHA_EXP = 36902; /* used by NetBSD/alpha; obsolete */ 196 197enum EM_486 = 6; 198enum EM_MIPS_RS4_BE = 10; 199enum EM_ALPHA_STD = 41; 200enum EM_ALPHA = 0x9026; 201 202enum SHN_UNDEF = 0; 203enum SHN_LORESERVE = 0xff00; 204enum SHN_LOPROC = 0xff00; 205enum SHN_HIPROC = 0xff1f; 206enum SHN_LOOS = 0xff20; 207enum SHN_HIOS = 0xff3f; 208enum SHN_ABS = 0xfff1; 209enum SHN_COMMON = 0xfff2; 210enum SHN_XINDEX = 0xffff; 211enum SHN_HIRESERVE = 0xffff; 212 213enum SHT_NULL = 0; 214enum SHT_PROGBITS = 1; 215enum SHT_SYMTAB = 2; 216enum SHT_STRTAB = 3; 217enum SHT_RELA = 4; 218enum SHT_HASH = 5; 219enum SHT_DYNAMIC = 6; 220enum SHT_NOTE = 7; 221enum SHT_NOBITS = 8; 222enum SHT_REL = 9; 223enum SHT_SHLIB = 10; 224enum SHT_DYNSYM = 11; 225enum SHT_INIT_ARRAY = 14; 226enum SHT_FINI_ARRAY = 15; 227enum SHT_PREINIT_ARRAY = 16; 228enum SHT_GROUP = 17; 229enum SHT_SYMTAB_SHNDX = 18; 230enum SHT_LOOS = 0x60000000; 231enum SHT_LOSUNW = 0x6ffffff4; 232enum SHT_SUNW_dof = 0x6ffffff4; 233enum SHT_SUNW_cap = 0x6ffffff5; 234enum SHT_SUNW_SIGNATURE = 0x6ffffff6; 235enum SHT_GNU_HASH = 0x6ffffff6; 236enum SHT_SUNW_ANNOTATE = 0x6ffffff7; 237enum SHT_SUNW_DEBUGSTR = 0x6ffffff8; 238enum SHT_SUNW_DEBUG = 0x6ffffff9; 239enum SHT_SUNW_move = 0x6ffffffa; 240enum SHT_SUNW_COMDAT = 0x6ffffffb; 241enum SHT_SUNW_syminfo = 0x6ffffffc; 242enum SHT_SUNW_verdef = 0x6ffffffd; 243enum SHT_GNU_verdef = 0x6ffffffd; 244enum SHT_SUNW_verneed = 0x6ffffffe; 245enum SHT_GNU_verneed = 0x6ffffffe; 246enum SHT_SUNW_versym = 0x6fffffff; 247enum SHT_GNU_versym = 0x6fffffff; 248enum SHT_HISUNW = 0x6fffffff; 249enum SHT_HIOS = 0x6fffffff; 250enum SHT_LOPROC = 0x70000000; 251enum SHT_AMD64_UNWIND = 0x70000001; 252enum SHT_ARM_EXIDX = 0x70000001; 253enum SHT_ARM_PREEMPTMAP = 0x70000002; 254enum SHT_ARM_ATTRIBUTES = 0x70000003; 255enum SHT_ARM_DEBUGOVERLAY = 0x70000004; 256enum SHT_ARM_OVERLAYSECTION = 0x70000005; 257enum SHT_MIPS_REGINFO = 0x70000006; 258enum SHT_MIPS_OPTIONS = 0x7000000d; 259enum SHT_MIPS_DWARF = 0x7000001e; 260enum SHT_HIPROC = 0x7fffffff; 261enum SHT_LOUSER = 0x80000000; 262enum SHT_HIUSER = 0x8fffffff; 263 264enum SHF_WRITE = (1 << 0); 265enum SHF_ALLOC = (1 << 1); 266enum SHF_EXECINSTR = (1 << 2); 267enum SHF_MERGE = (1 << 4); 268enum SHF_STRINGS = (1 << 5); 269enum SHF_INFO_LINK = (1 << 6); 270enum SHF_LINK_ORDER = (1 << 7); 271enum SHF_OS_NONCONFORMING = (1 << 8); 272enum SHF_GROUP = (1 << 9); 273enum SHF_TLS = (1 << 10); 274enum SHF_MASKOS = 0x0ff00000; 275enum SHF_MASKPROC = 0xf0000000; 276 277enum PT_NULL = 0; 278enum PT_LOAD = 1; 279enum PT_DYNAMIC = 2; 280enum PT_INTERP = 3; 281enum PT_NOTE = 4; 282enum PT_SHLIB = 5; 283enum PT_PHDR = 6; 284enum PT_TLS = 7; 285enum PT_LOOS = 0x60000000; 286enum PT_SUNW_UNWIND = 0x6464e550; 287enum PT_GNU_EH_FRAME = 0x6474e550; 288enum PT_GNU_STACK = 0x6474e551; 289enum PT_GNU_RELRO = 0x6474e552; 290enum PT_LOSUNW = 0x6ffffffa; 291enum PT_SUNWBSS = 0x6ffffffa; 292enum PT_SUNWSTACK = 0x6ffffffb; 293enum PT_SUNWDTRACE = 0x6ffffffc; 294enum PT_SUNWCAP = 0x6ffffffd; 295enum PT_HISUNW = 0x6fffffff; 296enum PT_HIOS = 0x6fffffff; 297enum PT_LOPROC = 0x70000000; 298enum PT_HIPROC = 0x7fffffff; 299 300enum PF_X = (1 << 0); 301enum PF_W = (1 << 1); 302enum PF_R = (1 << 2); 303enum PF_MASKOS = 0x0ff00000; 304enum PF_MASKPROC = 0xf0000000; 305 306enum PN_XNUM = 0xffff; 307 308enum DT_NULL = 0; 309enum DT_NEEDED = 1; 310enum DT_PLTRELSZ = 2; 311enum DT_PLTGOT = 3; 312enum DT_HASH = 4; 313enum DT_STRTAB = 5; 314enum DT_SYMTAB = 6; 315enum DT_RELA = 7; 316enum DT_RELASZ = 8; 317enum DT_RELAENT = 9; 318enum DT_STRSZ = 10; 319enum DT_SYMENT = 11; 320enum DT_INIT = 12; 321enum DT_FINI = 13; 322enum DT_SONAME = 14; 323enum DT_RPATH = 15; 324enum DT_SYMBOLIC = 16; 325enum DT_REL = 17; 326enum DT_RELSZ = 18; 327enum DT_RELENT = 19; 328enum DT_PLTREL = 20; 329enum DT_DEBUG = 21; 330enum DT_TEXTREL = 22; 331enum DT_JMPREL = 23; 332enum DT_BIND_NOW = 24; 333enum DT_INIT_ARRAY = 25; 334enum DT_FINI_ARRAY = 26; 335enum DT_INIT_ARRAYSZ = 27; 336enum DT_FINI_ARRAYSZ = 28; 337enum DT_RUNPATH = 29; 338enum DT_FLAGS = 30; 339enum DT_ENCODING = 32; 340enum DT_PREINIT_ARRAY = 32; 341enum DT_PREINIT_ARRAYSZ = 33; 342enum DT_MAXPOSTAGS = 34; 343enum DT_LOOS = 0x6000000d; 344enum DT_SUNW_AUXILIARY = 0x6000000d; 345enum DT_SUNW_RTLDINF = 0x6000000e; 346enum DT_SUNW_FILTER = 0x6000000f; 347enum DT_SUNW_CAP = 0x60000010; 348enum DT_HIOS = 0x6ffff000; 349enum DT_VALRNGLO = 0x6ffffd00; 350enum DT_CHECKSUM = 0x6ffffdf8; 351enum DT_PLTPADSZ = 0x6ffffdf9; 352enum DT_MOVEENT = 0x6ffffdfa; 353enum DT_MOVESZ = 0x6ffffdfb; 354enum DT_FEATURE_1 = 0x6ffffdfc; 355enum DT_POSFLAG_1 = 0x6ffffdfd; 356enum DT_SYMINSZ = 0x6ffffdfe; 357enum DT_SYMINENT = 0x6ffffdff; 358enum DT_VALRNGHI = 0x6ffffdff; 359enum DT_ADDRRNGLO = 0x6ffffe00; 360enum DT_GNU_HASH = 0x6ffffef5; 361enum DT_CONFIG = 0x6ffffefa; 362enum DT_DEPAUDIT = 0x6ffffefb; 363enum DT_AUDIT = 0x6ffffefc; 364enum DT_PLTPAD = 0x6ffffefd; 365enum DT_MOVETAB = 0x6ffffefe; 366enum DT_SYMINFO = 0x6ffffeff; 367enum DT_ADDRRNGHI = 0x6ffffeff; 368enum DT_VERSYM = 0x6ffffff0; 369enum DT_RELACOUNT = 0x6ffffff9; 370enum DT_RELCOUNT = 0x6ffffffa; 371enum DT_FLAGS_1 = 0x6ffffffb; 372enum DT_VERDEF = 0x6ffffffc; 373enum DT_VERDEFNUM = 0x6ffffffd; 374enum DT_VERNEED = 0x6ffffffe; 375enum DT_VERNEEDNUM = 0x6fffffff; 376enum DT_LOPROC = 0x70000000; 377enum DT_DEPRECATED_SPARC_REGISTER = 0x7000001; 378enum DT_AUXILIARY = 0x7ffffffd; 379enum DT_USED = 0x7ffffffe; 380enum DT_FILTER = 0x7fffffff; 381enum DT_HIPROC = 0x7fffffff; 382 383enum DF_ORIGIN = 0x00000001; 384enum DF_SYMBOLIC = 0x00000002; 385enum DF_TEXTREL = 0x00000004; 386enum DF_BIND_NOW = 0x00000008; 387enum DF_STATIC_TLS = 0x00000010; 388 389enum DF_1_BIND_NOW = 0x00000001; 390enum DF_1_GLOBAL = 0x00000002; 391enum DF_1_NODELETE = 0x00000008; 392enum DF_1_LOADFLTR = 0x00000010; 393enum DF_1_NOOPEN = 0x00000040; 394enum DF_1_NODEFLIB = 0x00000800; 395 396enum NT_PRSTATUS = 1; 397enum NT_FPREGSET = 2; 398enum NT_PRPSINFO = 3; 399enum NT_THRMISC = 7; 400enum NT_PROCSTAT_PROC = 8; 401enum NT_PROCSTAT_FILES = 9; 402enum NT_PROCSTAT_VMMAP = 10; 403enum NT_PROCSTAT_GROUPS = 11; 404enum NT_PROCSTAT_UMASK = 12; 405enum NT_PROCSTAT_RLIMIT = 13; 406enum NT_PROCSTAT_OSREL = 14; 407enum NT_PROCSTAT_PSSTRINGS = 15; 408enum NT_PROCSTAT_AUXV = 16; 409 410enum STB_LOCAL = 0; 411enum STB_GLOBAL = 1; 412enum STB_WEAK = 2; 413enum STB_NUM = 3; 414enum STB_LOOS = 10; 415enum STB_HIOS = 12; 416enum STB_LOPROC = 13; 417enum STB_HIPROC = 15; 418 419enum STT_NOTYPE = 0; 420enum STT_OBJECT = 1; 421enum STT_FUNC = 2; 422enum STT_SECTION = 3; 423enum STT_FILE = 4; 424enum STT_COMMON = 5; 425enum STT_TLS = 6; 426enum STT_NUM = 7; 427enum STT_LOOS = 10; 428enum STT_GNU_IFUNC = 10; 429enum STT_HIOS = 12; 430enum STT_LOPROC = 13; 431enum STT_HIPROC = 15; 432 433enum STV_DEFAULT = 0; 434enum STV_INTERNAL = 1; 435enum STV_HIDDEN = 2; 436enum STV_PROTECTED = 3; 437enum STV_EXPORTED = 4; 438enum STV_SINGLETON = 5; 439enum STV_ELIMINATE = 6; 440 441enum STN_UNDEF = 0; 442 443enum VER_DEF_CURRENT = 1; 444alias VER_NDX VER_DEF_IDX; 445 446enum VER_FLG_BASE = 0x1; 447enum VER_FLG_WEAK = 0x2; 448 449enum VER_NEED_CURRENT = 1; 450enum VER_NEED_WEAK = 32768; 451enum VER_NEED_HIDDEN = VER_NDX_HIDDEN; 452alias VER_NDX VER_NEED_IDX; 453 454enum VER_NDX_LOCAL = 0; 455enum VER_NDX_GLOBAL = 1; 456enum VER_NDX_GIVEN = 2; 457 458enum VER_NDX_HIDDEN = 32768; 459extern (D) 460{ 461 auto VER_NDX(V)(V v) { return v & ~(1u << 15); } 462} 463 464enum CA_SUNW_NULL = 0; 465enum CA_SUNW_HW_1 = 1; 466enum CA_SUNW_SF_1 = 2; 467 468enum SYMINFO_FLG_DIRECT = 0x0001; 469enum SYMINFO_FLG_PASSTHRU = 0x0002; 470enum SYMINFO_FLG_COPY = 0x0004; 471enum SYMINFO_FLG_LAZYLOAD = 0x0008; 472enum SYMINFO_FLG_DIRECTBIND = 0x0010; 473enum SYMINFO_FLG_NOEXTDIRECT = 0x0020; 474enum SYMINFO_FLG_FILTER = 0x0002; 475enum SYMINFO_FLG_AUXILIARY = 0x0040; 476 477enum SYMINFO_BT_SELF = 0xffff; 478enum SYMINFO_BT_PARENT = 0xfffe; 479enum SYMINFO_BT_NONE = 0xfffd; 480enum SYMINFO_BT_EXTERN = 0xfffc; 481enum SYMINFO_BT_LOWRESERVE = 0xff00; 482 483enum SYMINFO_NONE = 0; 484enum SYMINFO_CURRENT = 1; 485enum SYMINFO_NUM = 2; 486 487enum R_386_NONE = 0; 488enum R_386_32 = 1; 489enum R_386_PC32 = 2; 490enum R_386_GOT32 = 3; 491enum R_386_PLT32 = 4; 492enum R_386_COPY = 5; 493enum R_386_GLOB_DAT = 6; 494enum R_386_JMP_SLOT = 7; 495enum R_386_RELATIVE = 8; 496enum R_386_GOTOFF = 9; 497enum R_386_GOTPC = 10; 498enum R_386_TLS_TPOFF = 14; 499enum R_386_TLS_IE = 15; 500enum R_386_TLS_GOTIE = 16; 501enum R_386_TLS_LE = 17; 502enum R_386_TLS_GD = 18; 503enum R_386_TLS_LDM = 19; 504enum R_386_TLS_GD_32 = 24; 505enum R_386_TLS_GD_PUSH = 25; 506enum R_386_TLS_GD_CALL = 26; 507enum R_386_TLS_GD_POP = 27; 508enum R_386_TLS_LDM_32 = 28; 509enum R_386_TLS_LDM_PUSH = 29; 510enum R_386_TLS_LDM_CALL = 30; 511enum R_386_TLS_LDM_POP = 31; 512enum R_386_TLS_LDO_32 = 32; 513enum R_386_TLS_IE_32 = 33; 514enum R_386_TLS_LE_32 = 34; 515enum R_386_TLS_DTPMOD32 = 35; 516enum R_386_TLS_DTPOFF32 = 36; 517enum R_386_TLS_TPOFF32 = 37; 518enum R_386_IRELATIVE = 42; 519 520enum R_ARM_NONE = 0; 521enum R_ARM_PC24 = 1; 522enum R_ARM_ABS32 = 2; 523enum R_ARM_REL32 = 3; 524enum R_ARM_PC13 = 4; 525enum R_ARM_ABS16 = 5; 526enum R_ARM_ABS12 = 6; 527enum R_ARM_THM_ABS5 = 7; 528enum R_ARM_ABS8 = 8; 529enum R_ARM_SBREL32 = 9; 530enum R_ARM_THM_PC22 = 10; 531enum R_ARM_THM_PC8 = 11; 532enum R_ARM_AMP_VCALL9 = 12; 533enum R_ARM_SWI24 = 13; 534enum R_ARM_THM_SWI8 = 14; 535enum R_ARM_XPC25 = 15; 536enum R_ARM_THM_XPC22 = 16; 537enum R_ARM_TLS_DTPMOD32 = 17; 538enum R_ARM_TLS_DTPOFF32 = 18; 539enum R_ARM_TLS_TPOFF32 = 19; 540enum R_ARM_COPY = 20; 541enum R_ARM_GLOB_DAT = 21; 542enum R_ARM_JUMP_SLOT = 22; 543enum R_ARM_RELATIVE = 23; 544enum R_ARM_GOTOFF = 24; 545enum R_ARM_GOTPC = 25; 546enum R_ARM_GOT32 = 26; 547enum R_ARM_PLT32 = 27; 548enum R_ARM_GNU_VTENTRY = 100; 549enum R_ARM_GNU_VTINHERIT = 101; 550enum R_ARM_RSBREL32 = 250; 551enum R_ARM_THM_RPC22 = 251; 552enum R_ARM_RREL32 = 252; 553enum R_ARM_RABS32 = 253; 554enum R_ARM_RPC24 = 254; 555enum R_ARM_RBASE = 255; 556 557enum R_IA_64_NONE = 0; 558enum R_IA_64_IMM14 = 0x21; 559enum R_IA_64_IMM22 = 0x22; 560enum R_IA_64_IMM64 = 0x23; 561enum R_IA_64_DIR32MSB = 0x24; 562enum R_IA_64_DIR32LSB = 0x25; 563enum R_IA_64_DIR64MSB = 0x26; 564enum R_IA_64_DIR64LSB = 0x27; 565enum R_IA_64_GPREL22 = 0x2a; 566enum R_IA_64_GPREL64I = 0x2b; 567enum R_IA_64_GPREL32MSB = 0x2c; 568enum R_IA_64_GPREL32LSB = 0x2d; 569enum R_IA_64_GPREL64MSB = 0x2e; 570enum R_IA_64_GPREL64LSB = 0x2f; 571enum R_IA_64_LTOFF22 = 0x32; 572enum R_IA_64_LTOFF64I = 0x33; 573enum R_IA_64_PLTOFF22 = 0x3a; 574enum R_IA_64_PLTOFF64I = 0x3b; 575enum R_IA_64_PLTOFF64MSB = 0x3e; 576enum R_IA_64_PLTOFF64LSB = 0x3f; 577enum R_IA_64_FPTR64I = 0x43; 578enum R_IA_64_FPTR32MSB = 0x44; 579enum R_IA_64_FPTR32LSB = 0x45; 580enum R_IA_64_FPTR64MSB = 0x46; 581enum R_IA_64_FPTR64LSB = 0x47; 582enum R_IA_64_PCREL60B = 0x48; 583enum R_IA_64_PCREL21B = 0x49; 584enum R_IA_64_PCREL21M = 0x4a; 585enum R_IA_64_PCREL21F = 0x4b; 586enum R_IA_64_PCREL32MSB = 0x4c; 587enum R_IA_64_PCREL32LSB = 0x4d; 588enum R_IA_64_PCREL64MSB = 0x4e; 589enum R_IA_64_PCREL64LSB = 0x4f; 590enum R_IA_64_LTOFF_FPTR22 = 0x52; 591enum R_IA_64_LTOFF_FPTR64I = 0x53; 592enum R_IA_64_LTOFF_FPTR32MSB = 0x54; 593enum R_IA_64_LTOFF_FPTR32LSB = 0x55; 594enum R_IA_64_LTOFF_FPTR64MSB = 0x56; 595enum R_IA_64_LTOFF_FPTR64LSB = 0x57; 596enum R_IA_64_SEGREL32MSB = 0x5c; 597enum R_IA_64_SEGREL32LSB = 0x5d; 598enum R_IA_64_SEGREL64MSB = 0x5e; 599enum R_IA_64_SEGREL64LSB = 0x5f; 600enum R_IA_64_SECREL32MSB = 0x64; 601enum R_IA_64_SECREL32LSB = 0x65; 602enum R_IA_64_SECREL64MSB = 0x66; 603enum R_IA_64_SECREL64LSB = 0x67; 604enum R_IA_64_REL32MSB = 0x6c; 605enum R_IA_64_REL32LSB = 0x6d; 606enum R_IA_64_REL64MSB = 0x6e; 607enum R_IA_64_REL64LSB = 0x6f; 608enum R_IA_64_LTV32MSB = 0x74; 609enum R_IA_64_LTV32LSB = 0x75; 610enum R_IA_64_LTV64MSB = 0x76; 611enum R_IA_64_LTV64LSB = 0x77; 612enum R_IA_64_PCREL21BI = 0x79; 613enum R_IA_64_PCREL22 = 0x7a; 614enum R_IA_64_PCREL64I = 0x7b; 615enum R_IA_64_IPLTMSB = 0x80; 616enum R_IA_64_IPLTLSB = 0x81; 617enum R_IA_64_SUB = 0x85; 618enum R_IA_64_LTOFF22X = 0x86; 619enum R_IA_64_LDXMOV = 0x87; 620enum R_IA_64_TPREL14 = 0x91; 621enum R_IA_64_TPREL22 = 0x92; 622enum R_IA_64_TPREL64I = 0x93; 623enum R_IA_64_TPREL64MSB = 0x96; 624enum R_IA_64_TPREL64LSB = 0x97; 625enum R_IA_64_LTOFF_TPREL22 = 0x9a; 626enum R_IA_64_DTPMOD64MSB = 0xa6; 627enum R_IA_64_DTPMOD64LSB = 0xa7; 628enum R_IA_64_LTOFF_DTPMOD22 = 0xaa; 629enum R_IA_64_DTPREL14 = 0xb1; 630enum R_IA_64_DTPREL22 = 0xb2; 631enum R_IA_64_DTPREL64I = 0xb3; 632enum R_IA_64_DTPREL32MSB = 0xb4; 633enum R_IA_64_DTPREL32LSB = 0xb5; 634enum R_IA_64_DTPREL64MSB = 0xb6; 635enum R_IA_64_DTPREL64LSB = 0xb7; 636enum R_IA_64_LTOFF_DTPREL22 = 0xba; 637 638enum R_MIPS_NONE = 0; 639enum R_MIPS_16 = 1; 640enum R_MIPS_32 = 2; 641enum R_MIPS_REL32 = 3; 642enum R_MIPS_26 = 4; 643enum R_MIPS_HI16 = 5; 644enum R_MIPS_LO16 = 6; 645enum R_MIPS_GPREL16 = 7; 646enum R_MIPS_LITERAL = 8; 647enum R_MIPS_GOT16 = 9; 648enum R_MIPS_PC16 = 10; 649enum R_MIPS_CALL16 = 11; 650enum R_MIPS_GPREL32 = 12; 651enum R_MIPS_GOTHI16 = 21; 652enum R_MIPS_GOTLO16 = 22; 653enum R_MIPS_CALLHI16 = 30; 654enum R_MIPS_CALLLO16 = 31; 655 656enum R_PPC_NONE = 0; 657enum R_PPC_ADDR32 = 1; 658enum R_PPC_ADDR24 = 2; 659enum R_PPC_ADDR16 = 3; 660enum R_PPC_ADDR16_LO = 4; 661enum R_PPC_ADDR16_HI = 5; 662enum R_PPC_ADDR16_HA = 6; 663enum R_PPC_ADDR14 = 7; 664enum R_PPC_ADDR14_BRTAKEN = 8; 665enum R_PPC_ADDR14_BRNTAKEN = 9; 666enum R_PPC_REL24 = 10; 667enum R_PPC_REL14 = 11; 668enum R_PPC_REL14_BRTAKEN = 12; 669enum R_PPC_REL14_BRNTAKEN = 13; 670enum R_PPC_GOT16 = 14; 671enum R_PPC_GOT16_LO = 15; 672enum R_PPC_GOT16_HI = 16; 673enum R_PPC_GOT16_HA = 17; 674enum R_PPC_PLTREL24 = 18; 675enum R_PPC_COPY = 19; 676enum R_PPC_GLOB_DAT = 20; 677enum R_PPC_JMP_SLOT = 21; 678enum R_PPC_RELATIVE = 22; 679enum R_PPC_LOCAL24PC = 23; 680enum R_PPC_UADDR32 = 24; 681enum R_PPC_UADDR16 = 25; 682enum R_PPC_REL32 = 26; 683enum R_PPC_PLT32 = 27; 684enum R_PPC_PLTREL32 = 28; 685enum R_PPC_PLT16_LO = 29; 686enum R_PPC_PLT16_HI = 30; 687enum R_PPC_PLT16_HA = 31; 688enum R_PPC_SDAREL16 = 32; 689enum R_PPC_SECTOFF = 33; 690enum R_PPC_SECTOFF_LO = 34; 691enum R_PPC_SECTOFF_HI = 35; 692enum R_PPC_SECTOFF_HA = 36; 693 694enum R_PPC64_ADDR64 = 38; 695enum R_PPC64_ADDR16_HIGHER = 39; 696enum R_PPC64_ADDR16_HIGHERA = 40; 697enum R_PPC64_ADDR16_HIGHEST = 41; 698enum R_PPC64_ADDR16_HIGHESTA = 42; 699enum R_PPC64_UADDR64 = 43; 700enum R_PPC64_REL64 = 44; 701enum R_PPC64_PLT64 = 45; 702enum R_PPC64_PLTREL64 = 46; 703enum R_PPC64_TOC16 = 47; 704enum R_PPC64_TOC16_LO = 48; 705enum R_PPC64_TOC16_HI = 49; 706enum R_PPC64_TOC16_HA = 50; 707enum R_PPC64_TOC = 51; 708enum R_PPC64_DTPMOD64 = 68; 709enum R_PPC64_TPREL64 = 73; 710enum R_PPC64_DTPREL64 = 78; 711 712enum R_PPC_TLS = 67; 713enum R_PPC_DTPMOD32 = 68; 714enum R_PPC_TPREL16 = 69; 715enum R_PPC_TPREL16_LO = 70; 716enum R_PPC_TPREL16_HI = 71; 717enum R_PPC_TPREL16_HA = 72; 718enum R_PPC_TPREL32 = 73; 719enum R_PPC_DTPREL16 = 74; 720enum R_PPC_DTPREL16_LO = 75; 721enum R_PPC_DTPREL16_HI = 76; 722enum R_PPC_DTPREL16_HA = 77; 723enum R_PPC_DTPREL32 = 78; 724enum R_PPC_GOT_TLSGD16 = 79; 725enum R_PPC_GOT_TLSGD16_LO = 80; 726enum R_PPC_GOT_TLSGD16_HI = 81; 727enum R_PPC_GOT_TLSGD16_HA = 82; 728enum R_PPC_GOT_TLSLD16 = 83; 729enum R_PPC_GOT_TLSLD16_LO = 84; 730enum R_PPC_GOT_TLSLD16_HI = 85; 731enum R_PPC_GOT_TLSLD16_HA = 86; 732enum R_PPC_GOT_TPREL16 = 87; 733enum R_PPC_GOT_TPREL16_LO = 88; 734enum R_PPC_GOT_TPREL16_HI = 89; 735enum R_PPC_GOT_TPREL16_HA = 90; 736 737enum R_PPC_EMB_NADDR32 = 101; 738enum R_PPC_EMB_NADDR16 = 102; 739enum R_PPC_EMB_NADDR16_LO = 103; 740enum R_PPC_EMB_NADDR16_HI = 104; 741enum R_PPC_EMB_NADDR16_HA = 105; 742enum R_PPC_EMB_SDAI16 = 106; 743enum R_PPC_EMB_SDA2I16 = 107; 744enum R_PPC_EMB_SDA2REL = 108; 745enum R_PPC_EMB_SDA21 = 109; 746enum R_PPC_EMB_MRKREF = 110; 747enum R_PPC_EMB_RELSEC16 = 111; 748enum R_PPC_EMB_RELST_LO = 112; 749enum R_PPC_EMB_RELST_HI = 113; 750enum R_PPC_EMB_RELST_HA = 114; 751enum R_PPC_EMB_BIT_FLD = 115; 752enum R_PPC_EMB_RELSDA = 116; 753 754enum R_SPARC_NONE = 0; 755enum R_SPARC_8 = 1; 756enum R_SPARC_16 = 2; 757enum R_SPARC_32 = 3; 758enum R_SPARC_DISP8 = 4; 759enum R_SPARC_DISP16 = 5; 760enum R_SPARC_DISP32 = 6; 761enum R_SPARC_WDISP30 = 7; 762enum R_SPARC_WDISP22 = 8; 763enum R_SPARC_HI22 = 9; 764enum R_SPARC_22 = 10; 765enum R_SPARC_13 = 11; 766enum R_SPARC_LO10 = 12; 767enum R_SPARC_GOT10 = 13; 768enum R_SPARC_GOT13 = 14; 769enum R_SPARC_GOT22 = 15; 770enum R_SPARC_PC10 = 16; 771enum R_SPARC_PC22 = 17; 772enum R_SPARC_WPLT30 = 18; 773enum R_SPARC_COPY = 19; 774enum R_SPARC_GLOB_DAT = 20; 775enum R_SPARC_JMP_SLOT = 21; 776enum R_SPARC_RELATIVE = 22; 777enum R_SPARC_UA32 = 23; 778enum R_SPARC_PLT32 = 24; 779enum R_SPARC_HIPLT22 = 25; 780enum R_SPARC_LOPLT10 = 26; 781enum R_SPARC_PCPLT32 = 27; 782enum R_SPARC_PCPLT22 = 28; 783enum R_SPARC_PCPLT10 = 29; 784enum R_SPARC_10 = 30; 785enum R_SPARC_11 = 31; 786enum R_SPARC_64 = 32; 787enum R_SPARC_OLO10 = 33; 788enum R_SPARC_HH22 = 34; 789enum R_SPARC_HM10 = 35; 790enum R_SPARC_LM22 = 36; 791enum R_SPARC_PC_HH22 = 37; 792enum R_SPARC_PC_HM10 = 38; 793enum R_SPARC_PC_LM22 = 39; 794enum R_SPARC_WDISP16 = 40; 795enum R_SPARC_WDISP19 = 41; 796enum R_SPARC_GLOB_JMP = 42; 797enum R_SPARC_7 = 43; 798enum R_SPARC_5 = 44; 799enum R_SPARC_6 = 45; 800enum R_SPARC_DISP64 = 46; 801enum R_SPARC_PLT64 = 47; 802enum R_SPARC_HIX22 = 48; 803enum R_SPARC_LOX10 = 49; 804enum R_SPARC_H44 = 50; 805enum R_SPARC_M44 = 51; 806enum R_SPARC_L44 = 52; 807enum R_SPARC_REGISTER = 53; 808enum R_SPARC_UA64 = 54; 809enum R_SPARC_UA16 = 55; 810enum R_SPARC_TLS_GD_HI22 = 56; 811enum R_SPARC_TLS_GD_LO10 = 57; 812enum R_SPARC_TLS_GD_ADD = 58; 813enum R_SPARC_TLS_GD_CALL = 59; 814enum R_SPARC_TLS_LDM_HI22 = 60; 815enum R_SPARC_TLS_LDM_LO10 = 61; 816enum R_SPARC_TLS_LDM_ADD = 62; 817enum R_SPARC_TLS_LDM_CALL = 63; 818enum R_SPARC_TLS_LDO_HIX22 = 64; 819enum R_SPARC_TLS_LDO_LOX10 = 65; 820enum R_SPARC_TLS_LDO_ADD = 66; 821enum R_SPARC_TLS_IE_HI22 = 67; 822enum R_SPARC_TLS_IE_LO10 = 68; 823enum R_SPARC_TLS_IE_LD = 69; 824enum R_SPARC_TLS_IE_LDX = 70; 825enum R_SPARC_TLS_IE_ADD = 71; 826enum R_SPARC_TLS_LE_HIX22 = 72; 827enum R_SPARC_TLS_LE_LOX10 = 73; 828enum R_SPARC_TLS_DTPMOD32 = 74; 829enum R_SPARC_TLS_DTPMOD64 = 75; 830enum R_SPARC_TLS_DTPOFF32 = 76; 831enum R_SPARC_TLS_DTPOFF64 = 77; 832enum R_SPARC_TLS_TPOFF32 = 78; 833enum R_SPARC_TLS_TPOFF64 = 79; 834 835enum R_X86_64_NONE = 0; 836enum R_X86_64_64 = 1; 837enum R_X86_64_PC32 = 2; 838enum R_X86_64_GOT32 = 3; 839enum R_X86_64_PLT32 = 4; 840enum R_X86_64_COPY = 5; 841enum R_X86_64_GLOB_DAT = 6; 842enum R_X86_64_JMP_SLOT = 7; 843enum R_X86_64_RELATIVE = 8; 844enum R_X86_64_GOTPCREL = 9; 845enum R_X86_64_32 = 10; 846enum R_X86_64_32S = 11; 847enum R_X86_64_16 = 12; 848enum R_X86_64_PC16 = 13; 849enum R_X86_64_8 = 14; 850enum R_X86_64_PC8 = 15; 851enum R_X86_64_DTPMOD64 = 16; 852enum R_X86_64_DTPOFF64 = 17; 853enum R_X86_64_TPOFF64 = 18; 854enum R_X86_64_TLSGD = 19; 855enum R_X86_64_TLSLD = 20; 856enum R_X86_64_DTPOFF32 = 21; 857enum R_X86_64_GOTTPOFF = 22; 858enum R_X86_64_TPOFF32 = 23; 859enum R_X86_64_IRELATIVE = 37; 860