elf: Define missing Meta architecture specific relocations
authorKhem Raj <raj.khem@gmail.com>
Thu, 14 Jul 2016 15:10:53 +0000 (08:10 -0700)
committerWill Newton <will.newton@cocoon.life>
Mon, 18 Jul 2016 20:36:29 +0000 (21:36 +0100)
ChangeLog
elf/elf.h

index 7a32b8a..855032f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+2016-07-18   Ross Burton  <ross.burton@intel.com>
+            Khem Raj  <raj.khem@gmail.com>
+
+       * elf/elf.h (R_METAG_HIADDR16, R_METAG_LOADDR16,
+       R_METAG_ADDR32, R_METAG_NONE, R_METAG_RELBRANCH,
+       R_METAG_GETSETOFF, R_METAG_REG32OP1, R_METAG_REG32OP2,
+       R_METAG_REG32OP3, R_METAG_REG16OP1, R_METAG_REG16OP2,
+       R_METAG_REG16OP3, R_METAG_REG32OP4, R_METAG_HIOG,
+       R_METAG_LOOG, R_METAG_GNU_VTINHERIT, R_METAG_GNU_VTENTRY,
+       R_METAG_HI16_GOTOFF, R_METAG_LO16_GOTOFF,
+       R_METAG_GETSET_GOTOFF, R_METAG_GETSET_GOT, R_METAG_HI16_GOTPC,
+       R_METAG_LO16_GOTPC, R_METAG_HI16_PLT, R_METAG_LO16_PLT,
+       R_METAG_RELBRANCH_PLT, R_METAG_GOTOFF, R_METAG_PLT,
+       R_METAG_COPY, R_METAG_JMP_SLOT, R_METAG_RELATIVE,
+       R_METAG_GLOB_DAT, R_METAG_TLS_TPOFF, R_METAG_TLS_DTPMOD,
+       R_METAG_TLS_DTPOFF): New.
+
 2016-07-18  Siddhesh Poyarekar  <siddhesh@sourceware.org>
            Matt Clay  <mclay@lycos.com>
 
index b6112d9..04400ec 100644 (file)
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -3682,6 +3682,53 @@ enum
 #define R_BPF_NONE             0       /* No reloc */
 #define R_BPF_MAP_FD           1       /* Map fd to pointer */
 
+/* Imagination Meta specific relocations. */
+
+#define R_METAG_HIADDR16       0
+#define R_METAG_LOADDR16       1
+#define R_METAG_ADDR32         2       /* 32bit absolute address */
+#define R_METAG_NONE           3       /* No reloc */
+#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
+
+/* TLS relocations */
+#define R_METAG_TLS_TPOFF      56
+#define R_METAG_TLS_DTPMOD     57
+#define R_METAG_TLS_DTPOFF     58
+
 __END_DECLS
 
 #endif /* elf.h */