summaryrefslogtreecommitdiff
path: root/api/elf/elf64.h
diff options
context:
space:
mode:
Diffstat (limited to 'api/elf/elf64.h')
-rw-r--r--api/elf/elf64.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/api/elf/elf64.h b/api/elf/elf64.h
index 4473d15..d975c35 100644
--- a/api/elf/elf64.h
+++ b/api/elf/elf64.h
@@ -18,6 +18,9 @@ typedef struct Elf64_Shdr Elf64_Shdr;
typedef struct Elf64_Sym Elf64_Sym;
typedef struct Elf64_Dyn Elf64_Dyn;
+typedef struct Elf64_Rel Elf64_Rel;
+typedef struct Elf64_Rela Elf64_Rela;
+
#define EM_X86_64 62
struct Elf64_Ehdr
@@ -84,3 +87,22 @@ struct Elf64_Dyn
};
};
+#define ELF64_R_SYM(info) ((info)>>32)
+#define ELF64_R_TYPE(info) ((Elf64_Word)(info))
+#define ELF64_R_INFO(sym, type) (((Elf64_Xword)(sym)<<32)+(Elf64_Xword)(type))
+
+#define R_AMD64_RELATIVE 8
+
+struct Elf64_Rel
+{
+ Elf64_Addr r_offset;
+ Elf64_Xword r_info;
+};
+
+struct Elf64_Rela
+{
+ Elf64_Addr r_offset;
+ Elf64_Xword r_info;
+ Elf64_Sxword r_addend;
+};
+