summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkos Chandras <markos.chandras@imgtec.com>2008-02-05 14:49:08 +0000
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2013-03-14 22:41:11 +0100
commit85385fe46b7d2777b3c82233dd210004742656e6 (patch)
tree01127455a5bcb9047579fb50f04d15e6c0a1d9db
parentd81edb99688eb77535a541c0e6edf9546cfce24e (diff)
elf: Add ELF magic number and relocations for the Meta architecture
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
-rw-r--r--include/elf.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/include/elf.h b/include/elf.h
index d70cafe37..877d08194 100644
--- a/include/elf.h
+++ b/include/elf.h
@@ -281,6 +281,9 @@ typedef struct
unofficial e_machine number should eventually ask registry@caldera.com for
an officially blessed number to be added to the list above. */
+/* Imagination Technologies Meta */
+#define EM_METAG 174
+
/* picoJava */
#define EM_PJ_OLD 99
@@ -3140,6 +3143,47 @@ typedef Elf32_Addr Elf32_Conflict;
#define R_MICROBLAZE_COPY 21 /* runtime copy */
#define R_MICROBLAZE_NUM 22
+/* Meta relocations */
+#define R_METAG_HIADDR16 0
+#define R_METAG_LOADDR16 1
+#define R_METAG_ADDR32 2
+#define R_METAG_NONE 3
+#define R_METAG_RELBRANCH 4
+#define R_METAG_GETSETOFF 5
+
+/* Backward compatability */
+#define R_METAG_REG32OP1 6
+#define R_METAG_REG32OP2 7
+#define R_METAG_REG32OP3 8
+#define R_METAG_REG16OP1 9
+#define R_METAG_REG16OP2 10
+#define R_METAG_REG16OP3 11
+#define R_METAG_REG32OP4 12
+
+#define R_METAG_HIOG 13
+#define R_METAG_LOOG 14
+
+/* GNU */
+#define R_METAG_GNU_VTINHERIT 30
+#define R_METAG_GNU_VTENTRY 31
+
+/* PIC relocations */
+#define R_METAG_HI16_GOTOFF 32
+#define R_METAG_LO16_GOTOFF 33
+#define R_METAG_GETSET_GOTOFF 34
+#define R_METAG_GETSET_GOT 35
+#define R_METAG_HI16_GOTPC 36
+#define R_METAG_LO16_GOTPC 37
+#define R_METAG_HI16_PLT 38
+#define R_METAG_LO16_PLT 39
+#define R_METAG_RELBRANCH_PLT 40
+#define R_METAG_GOTOFF 41
+#define R_METAG_PLT 42
+#define R_METAG_COPY 43
+#define R_METAG_JMP_SLOT 44
+#define R_METAG_RELATIVE 45
+#define R_METAG_GLOB_DAT 46
+
#ifdef __cplusplus
}
#endif