Merge remote-tracking branch 'origin/vendor/LDNS'
[dragonfly.git] / contrib / binutils-2.25 / include / elf / metag.h
1 /* Meta ELF support for BFD.
2    Copyright (C) 2013-2014 Free Software Foundation, Inc.
3    Contributed by Imagination Technologies Ltd.
4
5    This file is part of BFD, the Binary File Descriptor library.
6
7    This program is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 3 of the License, or
10    (at your option) any later version.
11
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16
17    You should have received a copy of the GNU General Public License
18    along with this program; if not, write to the Free Software Foundation,
19    Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
20
21 #ifndef _ELF_METAG_H
22 #define _ELF_METAG_H
23
24 #include "elf/reloc-macros.h"
25
26 /* Relocation types.  */
27
28 START_RELOC_NUMBERS (elf_metag_reloc_type)
29      RELOC_NUMBER (R_METAG_HIADDR16,      0)
30      RELOC_NUMBER (R_METAG_LOADDR16,      1)
31      RELOC_NUMBER (R_METAG_ADDR32,        2)
32      RELOC_NUMBER (R_METAG_NONE,          3)
33      RELOC_NUMBER (R_METAG_RELBRANCH,     4)
34      RELOC_NUMBER (R_METAG_GETSETOFF,     5)
35
36      /* Backward compatability */
37      RELOC_NUMBER (R_METAG_REG32OP1,      6)
38      RELOC_NUMBER (R_METAG_REG32OP2,      7)
39      RELOC_NUMBER (R_METAG_REG32OP3,      8)
40      RELOC_NUMBER (R_METAG_REG16OP1,      9)
41      RELOC_NUMBER (R_METAG_REG16OP2,     10)
42      RELOC_NUMBER (R_METAG_REG16OP3,     11)
43      RELOC_NUMBER (R_METAG_REG32OP4,     12)
44
45      RELOC_NUMBER (R_METAG_HIOG,         13)
46      RELOC_NUMBER (R_METAG_LOOG,         14)
47
48      RELOC_NUMBER (R_METAG_REL8,         15)
49      RELOC_NUMBER (R_METAG_REL16,        16)
50
51      /* GNU */
52      RELOC_NUMBER (R_METAG_GNU_VTINHERIT,30)
53      RELOC_NUMBER (R_METAG_GNU_VTENTRY,  31)
54
55      /* PIC relocations */
56      RELOC_NUMBER (R_METAG_HI16_GOTOFF,  32)
57      RELOC_NUMBER (R_METAG_LO16_GOTOFF,  33)
58      RELOC_NUMBER (R_METAG_GETSET_GOTOFF,34)
59      RELOC_NUMBER (R_METAG_GETSET_GOT,   35)
60      RELOC_NUMBER (R_METAG_HI16_GOTPC,   36)
61      RELOC_NUMBER (R_METAG_LO16_GOTPC,   37)
62      RELOC_NUMBER (R_METAG_HI16_PLT,     38)
63      RELOC_NUMBER (R_METAG_LO16_PLT,     39)
64      RELOC_NUMBER (R_METAG_RELBRANCH_PLT,40)
65      RELOC_NUMBER (R_METAG_GOTOFF,       41)
66      RELOC_NUMBER (R_METAG_PLT,          42)
67      RELOC_NUMBER (R_METAG_COPY,         43)
68      RELOC_NUMBER (R_METAG_JMP_SLOT,     44)
69      RELOC_NUMBER (R_METAG_RELATIVE,     45)
70      RELOC_NUMBER (R_METAG_GLOB_DAT,     46)
71
72      /* TLS relocations */
73      RELOC_NUMBER (R_METAG_TLS_GD,       47)
74      RELOC_NUMBER (R_METAG_TLS_LDM,      48)
75      RELOC_NUMBER (R_METAG_TLS_LDO_HI16, 49)
76      RELOC_NUMBER (R_METAG_TLS_LDO_LO16, 50)
77      RELOC_NUMBER (R_METAG_TLS_LDO,      51)
78      RELOC_NUMBER (R_METAG_TLS_IE,       52)
79      RELOC_NUMBER (R_METAG_TLS_IENONPIC, 53)
80      RELOC_NUMBER (R_METAG_TLS_IENONPIC_HI16,54)
81      RELOC_NUMBER (R_METAG_TLS_IENONPIC_LO16,55)
82      RELOC_NUMBER (R_METAG_TLS_TPOFF,    56)
83      RELOC_NUMBER (R_METAG_TLS_DTPMOD,   57)
84      RELOC_NUMBER (R_METAG_TLS_DTPOFF,   58)
85      RELOC_NUMBER (R_METAG_TLS_LE,       59)
86      RELOC_NUMBER (R_METAG_TLS_LE_HI16,  60)
87      RELOC_NUMBER (R_METAG_TLS_LE_LO16,  61)
88
89 END_RELOC_NUMBERS (R_METAG_MAX)
90
91 #endif /* _ELF_METAG_H */