From 41d036588230253487e94bf2608f5213a23c7fb2 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 14 Jul 2016 08:10:53 -0700 Subject: elf: Define missing Meta architecture specific relocations --- ChangeLog | 17 +++++++++++++++++ elf/elf.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+) diff --git a/ChangeLog b/ChangeLog index 7a32b8a..855032f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,20 @@ +2016-07-18 Ross Burton + Khem Raj + + * 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 Matt Clay diff --git a/elf/elf.h b/elf/elf.h index b6112d9..04400ec 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 */ -- cgit v1.1