| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,82 @@ | ||
| /** | ||
| * D header file for Solaris. | ||
| * | ||
| * $(LINK2 http://src.illumos.org/source/xref/illumos-gate/usr/src/uts/common/sys/elf_386.h, illumos sys/elf_386.h) | ||
| */ | ||
| module core.sys.solaris.sys.elf_386; | ||
|
|
||
| version (Solaris): | ||
| extern (C): | ||
| nothrow: | ||
|
|
||
| enum R_386_NONE = 0; | ||
| enum R_386_32 = 1; | ||
| enum R_386_PC32 = 2; | ||
| enum R_386_GOT32 = 3; | ||
| enum R_386_PLT32 = 4; | ||
| enum R_386_COPY = 5; | ||
| enum R_386_GLOB_DAT = 6; | ||
| enum R_386_JMP_SLOT = 7; | ||
| enum R_386_RELATIVE = 8; | ||
| enum R_386_GOTOFF = 9; | ||
| enum R_386_GOTPC = 10; | ||
| enum R_386_32PLT = 11; | ||
| enum R_386_TLS_GD_PLT = 12; | ||
| enum R_386_TLS_LDM_PLT = 13; | ||
| enum R_386_TLS_TPOFF = 14; | ||
| enum R_386_TLS_IE = 15; | ||
| enum R_386_TLS_GOTIE = 16; | ||
| enum R_386_TLS_LE = 17; | ||
| enum R_386_TLS_GD = 18; | ||
| enum R_386_TLS_LDM = 19; | ||
| enum R_386_16 = 20; | ||
| enum R_386_PC16 = 21; | ||
| enum R_386_8 = 22; | ||
| enum R_386_PC8 = 23; | ||
| enum R_386_UNKNOWN24 = 24; | ||
| enum R_386_UNKNOWN25 = 25; | ||
| enum R_386_UNKNOWN26 = 26; | ||
| enum R_386_UNKNOWN27 = 27; | ||
| enum R_386_UNKNOWN28 = 28; | ||
| enum R_386_UNKNOWN29 = 29; | ||
| enum R_386_UNKNOWN30 = 30; | ||
| enum R_386_UNKNOWN31 = 31; | ||
| enum R_386_TLS_LDO_32 = 32; | ||
| enum R_386_UNKNOWN33 = 33; | ||
| enum R_386_UNKNOWN34 = 34; | ||
| enum R_386_TLS_DTPMOD32 = 35; | ||
| enum R_386_TLS_DTPOFF32 = 36; | ||
| enum R_386_UNKNOWN37 = 37; | ||
| enum R_386_SIZE32 = 38; | ||
| enum R_386_NUM = 39; | ||
|
|
||
| enum ELF_386_MAXPGSZ = 0x10000; | ||
|
|
||
| enum SHF_ORDERED = 0x40000000; | ||
| enum SHF_EXCLUDE = 0x80000000; | ||
|
|
||
| enum SHN_BEFORE = 0xff00; | ||
| enum SHN_AFTER = 0xff01; | ||
|
|
||
| enum M_PLT_INSSIZE = 6; | ||
| enum M_PLT_XNumber = 1; | ||
| enum M_GOT_XDYNAMIC = 0; | ||
| enum M_GOT_XLINKMAP = 1; | ||
| enum M_GOT_XRTLD = 2; | ||
| enum M_GOT_XNumber = 3; | ||
|
|
||
| enum M32_WORD_ALIGN = 4; | ||
| enum M32_PLT_ENTSIZE = 16; | ||
| enum M32_PLT_ALIGN = M32_WORD_ALIGN; | ||
| enum M32_GOT_ENTSIZE = 4; | ||
| enum M32_PLT_RESERVSZ = (M_PLT_XNumber * M32_PLT_ENTSIZE); | ||
|
|
||
| version(_ELF64) {} | ||
| else | ||
| { | ||
| enum M_WORD_ALIGN = M32_WORD_ALIGN; | ||
| enum M_PLT_ENTSIZE = M32_PLT_ENTSIZE; | ||
| enum M_PLT_ALIGN = M32_PLT_ALIGN; | ||
| enum M_PLT_RESERVSZ = M32_PLT_RESERVSZ; | ||
| enum M_GOT_ENTSIZE = M32_GOT_ENTSIZE; | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,181 @@ | ||
| /** | ||
| * D header file for Solaris. | ||
| * | ||
| * $(LINK2 http://src.illumos.org/source/xref/illumos-gate/usr/src/uts/common/sys/elf_SPARC.h, illumos sys/elf_SPARC.h) | ||
| */ | ||
| module core.sys.solaris.sys.elf_SPARC; | ||
|
|
||
| version (Solaris): | ||
| extern (C): | ||
| nothrow: | ||
|
|
||
| enum EF_SPARC_32PLUS_MASK = 0xffff00; | ||
| enum EF_SPARC_32PLUS = 0x000100; | ||
| enum EF_SPARC_EXT_MASK = 0xffff00; | ||
| enum EF_SPARC_SUN_US1 = 0x000200; | ||
| enum EF_SPARC_HAL_R1 = 0x000400; | ||
| enum EF_SPARC_SUN_US3 = 0x000800; | ||
|
|
||
| enum EF_SPARCV9_MM = 0x3; | ||
| enum EF_SPARCV9_TSO = 0x0; | ||
| enum EF_SPARCV9_PSO = 0x1; | ||
| enum EF_SPARCV9_RMO = 0x2; | ||
|
|
||
| enum R_SPARC_NONE = 0; | ||
| enum R_SPARC_8 = 1; | ||
| enum R_SPARC_16 = 2; | ||
| enum R_SPARC_32 = 3; | ||
| enum R_SPARC_DISP8 = 4; | ||
| enum R_SPARC_DISP16 = 5; | ||
| enum R_SPARC_DISP32 = 6; | ||
| enum R_SPARC_WDISP30 = 7; | ||
| enum R_SPARC_WDISP22 = 8; | ||
| enum R_SPARC_HI22 = 9; | ||
| enum R_SPARC_22 = 10; | ||
| enum R_SPARC_13 = 11; | ||
| enum R_SPARC_LO10 = 12; | ||
| enum R_SPARC_GOT10 = 13; | ||
| enum R_SPARC_GOT13 = 14; | ||
| enum R_SPARC_GOT22 = 15; | ||
| enum R_SPARC_PC10 = 16; | ||
| enum R_SPARC_PC22 = 17; | ||
| enum R_SPARC_WPLT30 = 18; | ||
| enum R_SPARC_COPY = 19; | ||
| enum R_SPARC_GLOB_DAT = 20; | ||
| enum R_SPARC_JMP_SLOT = 21; | ||
| enum R_SPARC_RELATIVE = 22; | ||
| enum R_SPARC_UA32 = 23; | ||
| enum R_SPARC_PLT32 = 24; | ||
| enum R_SPARC_HIPLT22 = 25; | ||
| enum R_SPARC_LOPLT10 = 26; | ||
| enum R_SPARC_PCPLT32 = 27; | ||
| enum R_SPARC_PCPLT22 = 28; | ||
| enum R_SPARC_PCPLT10 = 29; | ||
| enum R_SPARC_10 = 30; | ||
| enum R_SPARC_11 = 31; | ||
| enum R_SPARC_64 = 32; | ||
| enum R_SPARC_OLO10 = 33; | ||
| enum R_SPARC_HH22 = 34; | ||
| enum R_SPARC_HM10 = 35; | ||
| enum R_SPARC_LM22 = 36; | ||
| enum R_SPARC_PC_HH22 = 37; | ||
| enum R_SPARC_PC_HM10 = 38; | ||
| enum R_SPARC_PC_LM22 = 39; | ||
| enum R_SPARC_WDISP16 = 40; | ||
| enum R_SPARC_WDISP19 = 41; | ||
| enum R_SPARC_GLOB_JMP = 42; | ||
| enum R_SPARC_7 = 43; | ||
| enum R_SPARC_5 = 44; | ||
| enum R_SPARC_6 = 45; | ||
| enum R_SPARC_DISP64 = 46; | ||
| enum R_SPARC_PLT64 = 47; | ||
| enum R_SPARC_HIX22 = 48; | ||
| enum R_SPARC_LOX10 = 49; | ||
| enum R_SPARC_H44 = 50; | ||
| enum R_SPARC_M44 = 51; | ||
| enum R_SPARC_L44 = 52; | ||
| enum R_SPARC_REGISTER = 53; | ||
| enum R_SPARC_UA64 = 54; | ||
| enum R_SPARC_UA16 = 55; | ||
| enum R_SPARC_TLS_GD_HI22 = 56; | ||
| enum R_SPARC_TLS_GD_LO10 = 57; | ||
| enum R_SPARC_TLS_GD_ADD = 58; | ||
| enum R_SPARC_TLS_GD_CALL = 59; | ||
| enum R_SPARC_TLS_LDM_HI22 = 60; | ||
| enum R_SPARC_TLS_LDM_LO10 = 61; | ||
| enum R_SPARC_TLS_LDM_ADD = 62; | ||
| enum R_SPARC_TLS_LDM_CALL = 63; | ||
| enum R_SPARC_TLS_LDO_HIX22 = 64; | ||
| enum R_SPARC_TLS_LDO_LOX10 = 65; | ||
| enum R_SPARC_TLS_LDO_ADD = 66; | ||
| enum R_SPARC_TLS_IE_HI22 = 67; | ||
| enum R_SPARC_TLS_IE_LO10 = 68; | ||
| enum R_SPARC_TLS_IE_LD = 69; | ||
| enum R_SPARC_TLS_IE_LDX = 70; | ||
| enum R_SPARC_TLS_IE_ADD = 71; | ||
| enum R_SPARC_TLS_LE_HIX22 = 72; | ||
| enum R_SPARC_TLS_LE_LOX10 = 73; | ||
| enum R_SPARC_TLS_DTPMOD32 = 74; | ||
| enum R_SPARC_TLS_DTPMOD64 = 75; | ||
| enum R_SPARC_TLS_DTPOFF32 = 76; | ||
| enum R_SPARC_TLS_DTPOFF64 = 77; | ||
| enum R_SPARC_TLS_TPOFF32 = 78; | ||
| enum R_SPARC_TLS_TPOFF64 = 79; | ||
| enum R_SPARC_GOTDATA_HIX22 = 80; | ||
| enum R_SPARC_GOTDATA_LOX10 = 81; | ||
| enum R_SPARC_GOTDATA_OP_HIX22 = 82; | ||
| enum R_SPARC_GOTDATA_OP_LOX10 = 83; | ||
| enum R_SPARC_GOTDATA_OP = 84; | ||
| enum R_SPARC_H34 = 85; | ||
| enum R_SPARC_SIZE32 = 86; | ||
| enum R_SPARC_SIZE64 = 87; | ||
| enum R_SPARC_NUM = 88; | ||
|
|
||
| enum R_SPARC_L34 = R_SPARC_L44; | ||
|
|
||
| enum ELF_SPARC_MAXPGSZ = 0x10000; | ||
| enum ELF_SPARCV9_MAXPGSZ = 0x100000; | ||
|
|
||
| enum SHT_SPARC_GOTDATA = 0x70000000; | ||
|
|
||
| enum SHF_ORDERED = 0x40000000; | ||
| enum SHF_EXCLUDE = 0x80000000; | ||
|
|
||
| enum SHN_BEFORE = 0xff00; | ||
| enum SHN_AFTER = 0xff01; | ||
|
|
||
| enum STT_SPARC_REGISTER = 13; | ||
|
|
||
| enum DT_SPARC_REGISTER = 0x70000001; | ||
|
|
||
| enum STO_SPARC_REGISTER_G1 = 0x1; | ||
| enum STO_SPARC_REGISTER_G2 = 0x2; | ||
| enum STO_SPARC_REGISTER_G3 = 0x3; | ||
| enum STO_SPARC_REGISTER_G4 = 0x4; | ||
| enum STO_SPARC_REGISTER_G5 = 0x5; | ||
| enum STO_SPARC_REGISTER_G6 = 0x6; | ||
| enum STO_SPARC_REGISTER_G7 = 0x7; | ||
|
|
||
| enum M_PLT_INSSIZE = 4; | ||
| enum M_PLT_XNumber = 4; | ||
| enum M_GOT_XDYNAMIC = 0; | ||
| enum M_GOT_XNumber = 1; | ||
|
|
||
| enum M32_WORD_ALIGN = 4; | ||
| enum M32_PLT_ENTSIZE = 12; | ||
| enum M32_PLT_ALIGN = M_WORD_ALIGN; | ||
| enum M32_GOT_ENTSIZE = 4; | ||
| enum M32_GOT_MAXSMALL = 2048; | ||
| enum M32_PLT_RESERVSZ = (M_PLT_XNumber * M32_PLT_ENTSIZE); | ||
|
|
||
| enum M64_WORD_ALIGN = 8; | ||
| enum M64_PLT_ENTSIZE = 32; | ||
| enum M64_PLT_ALIGN = 256; | ||
| enum M64_GOT_ENTSIZE = 8; | ||
| enum M64_GOT_MAXSMALL = 1024; | ||
| enum M64_PLT_RESERVSZ = (M_PLT_XNumber * M64_PLT_ENTSIZE); | ||
|
|
||
| enum M64_PLT_NEARPLTS = 0x8000; | ||
| enum M64_PLT_FENTSIZE = 24; | ||
| enum M64_PLT_PSIZE = 8; | ||
| enum M64_PLT_FBLKCNTS = 160; | ||
| enum M64_PLT_FBLOCKSZ = (M64_PLT_FBLKCNTS * M64_PLT_ENTSIZE); | ||
|
|
||
| version(_ELF64) | ||
| { | ||
| enum M_WORD_ALIGN = M64_WORD_ALIGN; | ||
| enum M_PLT_ENTSIZE = M64_PLT_ENTSIZE; | ||
| enum M_PLT_ALIGN = M64_PLT_ALIGN; | ||
| enum M_PLT_RESERVSZ = M64_PLT_RESERVSZ; | ||
| enum M_GOT_ENTSIZE = M64_GOT_ENTSIZE; | ||
| enum M_GOT_MAXSMALL = M64_GOT_MAXSMALL; | ||
| } | ||
| else | ||
| { | ||
| enum M_WORD_ALIGN = M32_WORD_ALIGN; | ||
| enum M_PLT_ENTSIZE = M32_PLT_ENTSIZE; | ||
| enum M_PLT_ALIGN = M32_PLT_ALIGN; | ||
| enum M_PLT_RESERVSZ = M32_PLT_RESERVSZ; | ||
| enum M_GOT_ENTSIZE = M32_GOT_ENTSIZE; | ||
| enum M_GOT_MAXSMALL = M32_GOT_MAXSMALL; | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,111 @@ | ||
| /** | ||
| * D header file for Solaris. | ||
| * | ||
| * $(LINK2 http://src.illumos.org/source/xref/illumos-gate/usr/src/uts/common/sys/elf_amd64.h, illumos sys/elf_amd64.h) | ||
| */ | ||
| module core.sys.solaris.sys.elf_amd64; | ||
|
|
||
| version (Solaris): | ||
| extern (C): | ||
| nothrow: | ||
|
|
||
| public import core.sys.solaris.sys.elf_386; | ||
|
|
||
| enum R_AMD64_NONE = 0; | ||
| enum R_AMD64_64 = 1; | ||
| enum R_AMD64_PC32 = 2; | ||
| enum R_AMD64_GOT32 = 3; | ||
| enum R_AMD64_PLT32 = 4; | ||
| enum R_AMD64_COPY = 5; | ||
| enum R_AMD64_GLOB_DAT = 6; | ||
| enum R_AMD64_JUMP_SLOT = 7; | ||
| enum R_AMD64_RELATIVE = 8; | ||
| enum R_AMD64_GOTPCREL = 9; | ||
| enum R_AMD64_32 = 10; | ||
| enum R_AMD64_32S = 11; | ||
| enum R_AMD64_16 = 12; | ||
| enum R_AMD64_PC16 = 13; | ||
| enum R_AMD64_8 = 14; | ||
| enum R_AMD64_PC8 = 15; | ||
| enum R_AMD64_DTPMOD64 = 16; | ||
| enum R_AMD64_DTPOFF64 = 17; | ||
| enum R_AMD64_TPOFF64 = 18; | ||
| enum R_AMD64_TLSGD = 19; | ||
| enum R_AMD64_TLSLD = 20; | ||
| enum R_AMD64_DTPOFF32 = 21; | ||
| enum R_AMD64_GOTTPOFF = 22; | ||
| enum R_AMD64_TPOFF32 = 23; | ||
| enum R_AMD64_PC64 = 24; | ||
| enum R_AMD64_GOTOFF64 = 25; | ||
| enum R_AMD64_GOTPC32 = 26; | ||
| enum R_AMD64_GOT64 = 27; | ||
| enum R_AMD64_GOTPCREL64 = 28; | ||
| enum R_AMD64_GOTPC64 = 29; | ||
| enum R_AMD64_GOTPLT64 = 30; | ||
| enum R_AMD64_PLTOFF64 = 31; | ||
| enum R_AMD64_SIZE32 = 32; | ||
| enum R_AMD64_SIZE64 = 33; | ||
| enum R_AMD64_NUM = 34; | ||
|
|
||
|
|
||
| enum R_X86_64_NONE = R_AMD64_NONE; | ||
| enum R_X86_64_64 = R_AMD64_64; | ||
| enum R_X86_64_PC32 = R_AMD64_PC32; | ||
| enum R_X86_64_GOT32 = R_AMD64_GOT32; | ||
| enum R_X86_64_PLT32 = R_AMD64_PLT32; | ||
| enum R_X86_64_COPY = R_AMD64_COPY; | ||
| enum R_X86_64_GLOB_DAT = R_AMD64_GLOB_DAT; | ||
| enum R_X86_64_JUMP_SLOT = R_AMD64_JUMP_SLOT; | ||
| enum R_X86_64_RELATIVE = R_AMD64_RELATIVE; | ||
| enum R_X86_64_GOTPCREL = R_AMD64_GOTPCREL; | ||
| enum R_X86_64_32 = R_AMD64_32; | ||
| enum R_X86_64_32S = R_AMD64_32S; | ||
| enum R_X86_64_16 = R_AMD64_16; | ||
| enum R_X86_64_PC16 = R_AMD64_PC16; | ||
| enum R_X86_64_8 = R_AMD64_8; | ||
| enum R_X86_64_PC8 = R_AMD64_PC8; | ||
| enum R_X86_64_DTPMOD64 = R_AMD64_DTPMOD64; | ||
| enum R_X86_64_DTPOFF64 = R_AMD64_DTPOFF64; | ||
| enum R_X86_64_TPOFF64 = R_AMD64_TPOFF64; | ||
| enum R_X86_64_TLSGD = R_AMD64_TLSGD; | ||
| enum R_X86_64_TLSLD = R_AMD64_TLSLD; | ||
| enum R_X86_64_DTPOFF32 = R_AMD64_DTPOFF32; | ||
| enum R_X86_64_GOTTPOFF = R_AMD64_GOTTPOFF; | ||
| enum R_X86_64_TPOFF32 = R_AMD64_TPOFF32; | ||
| enum R_X86_64_PC64 = R_AMD64_PC64; | ||
| enum R_X86_64_GOTPC32 = R_AMD64_GOTPC32; | ||
| enum R_X86_64_GOTOFF64 = R_AMD64_GOTOFF64; | ||
| enum R_X86_64_GOT64 = R_AMD64_GOT64; | ||
| enum R_X86_64_GOTPCREL64 = R_AMD64_GOTPCREL64; | ||
| enum R_X86_64_GOTPC64 = R_AMD64_GOTPC64; | ||
| enum R_X86_64_GOTPLT64 = R_AMD64_GOTPLT64; | ||
| enum R_X86_64_PLTOFF64 = R_AMD64_PLTOFF64; | ||
| enum R_X86_64_SIZE32 = R_AMD64_SIZE32; | ||
| enum R_X86_64_SIZE64 = R_AMD64_SIZE64; | ||
| enum R_X86_64_NUM = R_AMD64_NUM; | ||
|
|
||
| enum ELF_AMD64_MAXPGSZ = 0x100000; | ||
|
|
||
| enum SHT_AMD64_UNWIND = 0x70000001; | ||
| enum SHT_X86_64_UNWIND = SHT_AMD64_UNWIND; | ||
|
|
||
| enum SHF_AMD64_LARGE = 0x10000000; | ||
| enum SHF_X86_64_LARGE = SHF_AMD64_LARGE; | ||
|
|
||
| enum SHN_AMD64_LCOMMON = 0xff02; | ||
| enum SHN_X86_64_LCOMMON = SHN_AMD64_LCOMMON; | ||
|
|
||
| enum M64_WORD_ALIGN = 8; | ||
| enum M64_PLT_ENTSIZE = M32_PLT_ENTSIZE; | ||
| enum M64_PLT_ALIGN = M64_WORD_ALIGN; | ||
| enum M64_GOT_ENTSIZE = 8; | ||
| enum M64_PLT_RESERVSZ = M32_PLT_RESERVSZ; | ||
|
|
||
| version(_ELF64) | ||
| { | ||
| enum M_WORD_ALIGN = M64_WORD_ALIGN; | ||
| enum M_PLT_ENTSIZE = M64_PLT_ENTSIZE; | ||
| enum M_PLT_ALIGN = M64_PLT_ALIGN; | ||
| enum M_PLT_RESERVSZ = M64_PLT_RESERVSZ; | ||
| enum M_GOT_ENTSIZE = M64_GOT_ENTSIZE; | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| /** | ||
| * D header file for Solaris. | ||
| * | ||
| * $(LINK2 http://src.illumos.org/source/xref/illumos-gate/usr/src/uts/common/sys/elf_notes.h, illumos sys/elf_notes.h) | ||
| */ | ||
| module core.sys.solaris.sys.elf_notes; | ||
|
|
||
| version (Solaris): | ||
| extern (C): | ||
| nothrow: | ||
|
|
||
| enum ELF_NOTE_SOLARIS = "SUNW Solaris"; | ||
|
|
||
| enum ELF_NOTE_PAGESIZE_HINT = 1; |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| /** | ||
| * D header file for Solaris. | ||
| * | ||
| * $(LINK2 http://src.illumos.org/source/xref/illumos-gate/usr/src/uts/common/sys/elftypes.h, illumos sys/elftypes.h) | ||
| */ | ||
| module core.sys.solaris.sys.elftypes; | ||
|
|
||
| version (Solaris): | ||
| extern (C): | ||
| nothrow: | ||
|
|
||
| import core.stdc.stdint; | ||
|
|
||
| alias uint32_t Elf32_Addr; | ||
| alias uint16_t Elf32_Half; | ||
| alias uint32_t Elf32_Off; | ||
| alias int32_t Elf32_Sword; | ||
| alias uint32_t Elf32_Word; | ||
|
|
||
| alias uint64_t Elf64_Addr; | ||
| alias uint16_t Elf64_Half; | ||
| alias uint64_t Elf64_Off; | ||
| alias int32_t Elf64_Sword; | ||
| alias int64_t Elf64_Sxword; | ||
| alias uint32_t Elf64_Word; | ||
| alias uint64_t Elf64_Xword; | ||
| alias uint64_t Elf64_Lword; | ||
| alias uint64_t Elf32_Lword; |