]>
Commit | Line | Data |
---|---|---|
5c0b3823 WL |
1 | // tilegx.h -- ELF definitions specific to EM_TILEGX -*- C++ -*- |
2 | ||
b90efa5b | 3 | // Copyright (C) 2012-2015 Free Software Foundation, Inc. |
5c0b3823 WL |
4 | // Written by Jiong Wang ([email protected]) |
5 | ||
6 | // This file is part of elfcpp. | |
7 | ||
8 | // This program is free software; you can redistribute it and/or | |
9 | // modify it under the terms of the GNU Library General Public License | |
10 | // as published by the Free Software Foundation; either version 2, or | |
11 | // (at your option) any later version. | |
12 | ||
13 | // In addition to the permissions in the GNU Library General Public | |
14 | // License, the Free Software Foundation gives you unlimited | |
15 | // permission to link the compiled version of this file into | |
16 | // combinations with other programs, and to distribute those | |
17 | // combinations without any restriction coming from the use of this | |
18 | // file. (The Library Public License restrictions do apply in other | |
19 | // respects; for example, they cover modification of the file, and | |
20 | /// distribution when not linked into a combined executable.) | |
21 | ||
22 | // This program is distributed in the hope that it will be useful, but | |
23 | // WITHOUT ANY WARRANTY; without even the implied warranty of | |
24 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
25 | // Library General Public License for more details. | |
26 | ||
27 | // You should have received a copy of the GNU Library General Public | |
28 | // License along with this program; if not, write to the Free Software | |
29 | // Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA | |
30 | // 02110-1301, USA. | |
31 | ||
32 | #ifndef ELFCPP_TILEGX_H | |
33 | #define ELFCPP_TILEGX_H | |
34 | ||
35 | namespace elfcpp | |
36 | { | |
37 | ||
38 | // Documentation is taken from | |
39 | // http://www.tilera.com/scm/docs/index.html | |
40 | ||
41 | enum | |
42 | { | |
43 | R_TILEGX_NONE = 0, | |
44 | R_TILEGX_64 = 1, | |
45 | R_TILEGX_32 = 2, | |
46 | R_TILEGX_16 = 3, | |
47 | R_TILEGX_8 = 4, | |
48 | R_TILEGX_64_PCREL = 5, | |
49 | R_TILEGX_32_PCREL = 6, | |
50 | R_TILEGX_16_PCREL = 7, | |
51 | R_TILEGX_8_PCREL = 8, | |
52 | R_TILEGX_HW0 = 9, | |
53 | R_TILEGX_HW1 = 10, | |
54 | R_TILEGX_HW2 = 11, | |
55 | R_TILEGX_HW3 = 12, | |
56 | R_TILEGX_HW0_LAST = 13, | |
57 | R_TILEGX_HW1_LAST = 14, | |
58 | R_TILEGX_HW2_LAST = 15, | |
59 | R_TILEGX_COPY = 16, | |
60 | R_TILEGX_GLOB_DAT = 17, | |
61 | R_TILEGX_JMP_SLOT = 18, | |
62 | R_TILEGX_RELATIVE = 19, | |
63 | R_TILEGX_BROFF_X1 = 20, | |
64 | R_TILEGX_JUMPOFF_X1 = 21, | |
65 | R_TILEGX_JUMPOFF_X1_PLT = 22, | |
66 | R_TILEGX_IMM8_X0 = 23, | |
67 | R_TILEGX_IMM8_Y0 = 24, | |
68 | R_TILEGX_IMM8_X1 = 25, | |
69 | R_TILEGX_IMM8_Y1 = 26, | |
70 | R_TILEGX_DEST_IMM8_X1 = 27, | |
71 | R_TILEGX_MT_IMM14_X1 = 28, | |
72 | R_TILEGX_MF_IMM14_X1 = 29, | |
73 | R_TILEGX_MMSTART_X0 = 30, | |
74 | R_TILEGX_MMEND_X0 = 31, | |
75 | R_TILEGX_SHAMT_X0 = 32, | |
76 | R_TILEGX_SHAMT_X1 = 33, | |
77 | R_TILEGX_SHAMT_Y0 = 34, | |
78 | R_TILEGX_SHAMT_Y1 = 35, | |
79 | R_TILEGX_IMM16_X0_HW0 = 36, | |
80 | R_TILEGX_IMM16_X1_HW0 = 37, | |
81 | R_TILEGX_IMM16_X0_HW1 = 38, | |
82 | R_TILEGX_IMM16_X1_HW1 = 39, | |
83 | R_TILEGX_IMM16_X0_HW2 = 40, | |
84 | R_TILEGX_IMM16_X1_HW2 = 41, | |
85 | R_TILEGX_IMM16_X0_HW3 = 42, | |
86 | R_TILEGX_IMM16_X1_HW3 = 43, | |
87 | R_TILEGX_IMM16_X0_HW0_LAST = 44, | |
88 | R_TILEGX_IMM16_X1_HW0_LAST = 45, | |
89 | R_TILEGX_IMM16_X0_HW1_LAST = 46, | |
90 | R_TILEGX_IMM16_X1_HW1_LAST = 47, | |
91 | R_TILEGX_IMM16_X0_HW2_LAST = 48, | |
92 | R_TILEGX_IMM16_X1_HW2_LAST = 49, | |
93 | R_TILEGX_IMM16_X0_HW0_PCREL = 50, | |
94 | R_TILEGX_IMM16_X1_HW0_PCREL = 51, | |
95 | R_TILEGX_IMM16_X0_HW1_PCREL = 52, | |
96 | R_TILEGX_IMM16_X1_HW1_PCREL = 53, | |
97 | R_TILEGX_IMM16_X0_HW2_PCREL = 54, | |
98 | R_TILEGX_IMM16_X1_HW2_PCREL = 55, | |
99 | R_TILEGX_IMM16_X0_HW3_PCREL = 56, | |
100 | R_TILEGX_IMM16_X1_HW3_PCREL = 57, | |
101 | R_TILEGX_IMM16_X0_HW0_LAST_PCREL = 58, | |
102 | R_TILEGX_IMM16_X1_HW0_LAST_PCREL = 59, | |
103 | R_TILEGX_IMM16_X0_HW1_LAST_PCREL = 60, | |
104 | R_TILEGX_IMM16_X1_HW1_LAST_PCREL = 61, | |
105 | R_TILEGX_IMM16_X0_HW2_LAST_PCREL = 62, | |
106 | R_TILEGX_IMM16_X1_HW2_LAST_PCREL = 63, | |
107 | R_TILEGX_IMM16_X0_HW0_GOT = 64, | |
108 | R_TILEGX_IMM16_X1_HW0_GOT = 65, | |
109 | ||
110 | R_TILEGX_IMM16_X0_HW0_PLT_PCREL = 66, | |
111 | R_TILEGX_IMM16_X1_HW0_PLT_PCREL = 67, | |
112 | R_TILEGX_IMM16_X0_HW1_PLT_PCREL = 68, | |
113 | R_TILEGX_IMM16_X1_HW1_PLT_PCREL = 69, | |
114 | R_TILEGX_IMM16_X0_HW2_PLT_PCREL = 70, | |
115 | R_TILEGX_IMM16_X1_HW2_PLT_PCREL = 71, | |
116 | ||
117 | R_TILEGX_IMM16_X0_HW0_LAST_GOT = 72, | |
118 | R_TILEGX_IMM16_X1_HW0_LAST_GOT = 73, | |
119 | R_TILEGX_IMM16_X0_HW1_LAST_GOT = 74, | |
120 | R_TILEGX_IMM16_X1_HW1_LAST_GOT = 75, | |
121 | R_TILEGX_IMM16_X0_HW0_TLS_GD = 78, | |
122 | R_TILEGX_IMM16_X1_HW0_TLS_GD = 79, | |
123 | R_TILEGX_IMM16_X0_HW0_TLS_LE = 80, | |
124 | R_TILEGX_IMM16_X1_HW0_TLS_LE = 81, | |
125 | R_TILEGX_IMM16_X0_HW0_LAST_TLS_LE = 82, | |
126 | R_TILEGX_IMM16_X1_HW0_LAST_TLS_LE = 83, | |
127 | R_TILEGX_IMM16_X0_HW1_LAST_TLS_LE = 84, | |
128 | R_TILEGX_IMM16_X1_HW1_LAST_TLS_LE = 85, | |
129 | R_TILEGX_IMM16_X0_HW0_LAST_TLS_GD = 86, | |
130 | R_TILEGX_IMM16_X1_HW0_LAST_TLS_GD = 87, | |
131 | R_TILEGX_IMM16_X0_HW1_LAST_TLS_GD = 88, | |
132 | R_TILEGX_IMM16_X1_HW1_LAST_TLS_GD = 89, | |
133 | R_TILEGX_IRELATIVE = 90, | |
134 | R_TILEGX_IMM16_X0_HW0_TLS_IE = 92, | |
135 | R_TILEGX_IMM16_X1_HW0_TLS_IE = 93, | |
136 | ||
137 | R_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL = 94, | |
138 | R_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL = 95, | |
139 | R_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL = 96, | |
140 | R_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL = 97, | |
141 | R_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL = 98, | |
142 | R_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL = 99, | |
143 | ||
144 | R_TILEGX_IMM16_X0_HW0_LAST_TLS_IE = 100, | |
145 | R_TILEGX_IMM16_X1_HW0_LAST_TLS_IE = 101, | |
146 | R_TILEGX_IMM16_X0_HW1_LAST_TLS_IE = 102, | |
147 | R_TILEGX_IMM16_X1_HW1_LAST_TLS_IE = 103, | |
148 | R_TILEGX_TLS_DTPMOD64 = 106, | |
149 | R_TILEGX_TLS_DTPOFF64 = 107, | |
150 | R_TILEGX_TLS_TPOFF64 = 108, | |
151 | R_TILEGX_TLS_DTPMOD32 = 109, | |
152 | R_TILEGX_TLS_DTPOFF32 = 110, | |
153 | R_TILEGX_TLS_TPOFF32 = 111, | |
154 | R_TILEGX_TLS_GD_CALL = 112, | |
155 | R_TILEGX_IMM8_X0_TLS_GD_ADD = 113, | |
156 | R_TILEGX_IMM8_X1_TLS_GD_ADD = 114, | |
157 | R_TILEGX_IMM8_Y0_TLS_GD_ADD = 115, | |
158 | R_TILEGX_IMM8_Y1_TLS_GD_ADD = 116, | |
159 | R_TILEGX_TLS_IE_LOAD = 117, | |
160 | R_TILEGX_IMM8_X0_TLS_ADD = 118, | |
161 | R_TILEGX_IMM8_X1_TLS_ADD = 119, | |
162 | R_TILEGX_IMM8_Y0_TLS_ADD = 120, | |
163 | R_TILEGX_IMM8_Y1_TLS_ADD = 121, | |
164 | R_TILEGX_GNU_VTINHERIT = 128, | |
165 | R_TILEGX_GNU_VTENTRY = 129, | |
166 | R_TILEGX_NUM = 130 | |
167 | }; | |
168 | ||
169 | } // End namespace elfcpp. | |
170 | ||
171 | #endif // !defined(ELFCPP_TILEGX_H) |