35 lines
777 B
C
35 lines
777 B
C
#pragma once
|
|
|
|
#include <zinnia/elf.h>
|
|
|
|
#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,
|
|
};
|