X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Fld-acess.so_src%2Felf64.h;h=9d04e8af5fd6fb8b9dfae543822fa1928267f104;hb=5cab4c07bc13888dc7956194ef9595508072a4eb;hp=237b75cb6e15ff12ab1e477dcba6310d2eee6eb0;hpb=9867382061f9035d65e118d95fa819c0e615f353;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/ld-acess.so_src/elf64.h b/Usermode/Libraries/ld-acess.so_src/elf64.h index 237b75cb..9d04e8af 100644 --- a/Usermode/Libraries/ld-acess.so_src/elf64.h +++ b/Usermode/Libraries/ld-acess.so_src/elf64.h @@ -9,8 +9,11 @@ #define ELFCLASS64 2 +#define EM_X86_64 62 + typedef uint16_t Elf64_Half; typedef uint32_t Elf64_Word; + typedef uint64_t Elf64_Addr; typedef uint64_t Elf64_Off; typedef uint64_t Elf64_Xword; @@ -32,7 +35,7 @@ typedef struct Elf64_Half e_shentsize; Elf64_Half e_shnum; Elf64_Half e_shstrndx; -} Elf64_Ehdr; +} __attribute__((packed)) Elf64_Ehdr; typedef struct { @@ -66,7 +69,7 @@ typedef struct union { Elf64_Xword d_val; Elf64_Addr d_ptr; - } d_un; + };// d_un; } Elf64_Dyn; typedef struct @@ -94,6 +97,8 @@ typedef struct #define ELF64_R_SYM(info) ((info) >> 32) #define ELF64_R_TYPE(info) ((info) & 0xFFFFFFFF) +#define ELF64_ST_BIND(i) ((i)>>4) +#define ELF64_ST_TYPE(i) ((i)&0xF) enum eElf64_RelocTypes_x86_64 {