2 * Acess2 Dynamic Linker
14 typedef uint16_t Elf64_Half;
15 typedef uint32_t Elf64_Word;
17 typedef uint64_t Elf64_Addr;
18 typedef uint64_t Elf64_Off;
19 typedef uint64_t Elf64_Xword;
20 typedef int64_t Elf64_Sxword;
24 unsigned char e_ident[16];
33 Elf64_Half e_phentsize;
35 Elf64_Half e_shentsize;
37 Elf64_Half e_shstrndx;
38 } __attribute__((packed)) Elf64_Ehdr;
50 Elf64_Xword sh_addralign;
51 Elf64_Xword sh_entsize;
95 Elf64_Sxword r_addend;
98 #define ELF64_R_SYM(info) ((info) >> 32)
99 #define ELF64_R_TYPE(info) ((info) & 0xFFFFFFFF)
101 enum eElf64_RelocTypes_x86_64
104 R_X86_64_64, // 64, S + A
105 R_X86_64_PC32, // 32, S + A - P
106 R_X86_64_GOT32, // 32, G + A
107 R_X86_64_PLT32, // 32, L + A - P
109 R_X86_64_GLOB_DAT, // 64, S
110 R_X86_64_JUMP_SLOT, // 64, S
111 R_X86_64_RELATIVE, // 64, B + A