summary refs log tree commit diff
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2016-07-14 08:10:53 -0700
committerWill Newton <will.newton@cocoon.life>2016-07-18 21:36:29 +0100
commit41d036588230253487e94bf2608f5213a23c7fb2 (patch)
tree31d8b9488fb8475af4cb78ae87ea4414634ff081
parentcbf88869edced4b23d792d95a8626e35b831df35 (diff)
downloadglibc-41d036588230253487e94bf2608f5213a23c7fb2.tar.gz
glibc-41d036588230253487e94bf2608f5213a23c7fb2.tar.xz
glibc-41d036588230253487e94bf2608f5213a23c7fb2.zip
elf: Define missing Meta architecture specific relocations
-rw-r--r--ChangeLog17
-rw-r--r--elf/elf.h47
2 files changed, 64 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 7a32b8a899..855032f0ed 100644
--- 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>
 
diff --git a/elf/elf.h b/elf/elf.h
index b6112d9d55..04400ec03c 100644
--- 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 */