#pragma once #include #define ELF_ARCH_CLASS ELFCLASS64 #define ELF_ARCH_DATA ELFDATA2LSB #define ELF_ARCH_MACHINE EM_X86_64 #define ELF_R_SYM ELF64_R_SYM #define ELF_R_TYPE ELF64_R_TYPE #define ELF_ST_BIND ELF64_ST_BIND #define ELF_ST_TYPE ELF64_ST_TYPE typedef elf64_ehdr_t elf_ehdr_t; typedef elf64_phdr_t elf_phdr_t; typedef elf64_dyn_t elf_dyn_t; typedef elf64_addr_t elf_addr_t; typedef elf64_off_t elf_off_t; typedef elf64_nhdr_t elf_nhdr_t; typedef elf64_auxv_t elf_auxv_t; typedef elf64_sym_t elf_sym_t; typedef elf64_rela_t elf_rela_t; typedef elf64_rel_t elf_rel_t; typedef elf64_relr_t elf_relr_t; enum { R_NONE = 0, R_64 = 1, R_COPY = 5, R_GLOB_DAT = 6, R_JUMP_SLOT = 7, R_RELATIVE = 8, R_IRELATIVE = 37, };