2 * Acess2 Dynamic Linker
12 typedef uint16_t Elf64_Half;
13 typedef uint32_t Elf64_Word;
15 typedef uint64_t Elf64_Addr;
16 typedef uint64_t Elf64_Off;
17 typedef uint64_t Elf64_Xword;
18 typedef int64_t Elf64_Sxword;
22 unsigned char e_ident[16];
31 Elf64_Half e_phentsize;
33 Elf64_Half e_shentsize;
35 Elf64_Half e_shstrndx;
36 } __attribute__((packed)) Elf64_Ehdr;
48 Elf64_Xword sh_addralign;
49 Elf64_Xword sh_entsize;
93 Elf64_Sxword r_addend;
96 #define ELF64_R_SYM(info) ((info) >> 32)
97 #define ELF64_R_TYPE(info) ((info) & 0xFFFFFFFF)
99 enum eElf64_RelocTypes_x86_64
102 R_X86_64_64, // 64, S + A
103 R_X86_64_PC32, // 32, S + A - P
104 R_X86_64_GOT32, // 32, G + A
105 R_X86_64_PLT32, // 32, L + A - P
107 R_X86_64_GLOB_DAT, // 64, S
108 R_X86_64_JUMP_SLOT, // 64, S
109 R_X86_64_RELATIVE, // 64, B + A