New ARC implementation.
[deliverable/binutils-gdb.git] / include / elf / arc-reloc.def
CommitLineData
886a2506
NC
1
2ARC_RELOC_HOWTO(ARC_NONE, 0, \
3 2, \
4 32, \
5 replace_none, \
6 bitfield, \
7 0)
8
9ARC_RELOC_HOWTO(ARC_8, 1, \
10 0, \
11 8, \
12 replace_bits8, \
13 bitfield, \
14 ( S + A ))
15
16ARC_RELOC_HOWTO(ARC_16, 2, \
17 1, \
18 16, \
19 replace_bits16, \
20 bitfield, \
21 ( S + A ))
22
23ARC_RELOC_HOWTO(ARC_24, 3, \
24 2, \
25 24, \
26 replace_bits24, \
27 bitfield, \
28 ( S + A ))
29
30ARC_RELOC_HOWTO(ARC_32, 4, \
31 2, \
32 32, \
33 replace_word32, \
34 bitfield, \
35 ( S + A ))
36
37ARC_RELOC_HOWTO(ARC_N8, 8, \
38 0, \
39 8, \
40 replace_bits8, \
41 bitfield, \
42 ( S - A ))
43
44ARC_RELOC_HOWTO(ARC_N16, 9, \
45 1, \
46 16, \
47 replace_bits16, \
48 bitfield, \
49 ( S - A ))
50
51ARC_RELOC_HOWTO(ARC_N24, 10, \
52 2, \
53 24, \
54 replace_bits24, \
55 bitfield, \
56 ( S - A ))
57
58ARC_RELOC_HOWTO(ARC_N32, 11, \
59 2, \
60 32, \
61 replace_word32, \
62 bitfield, \
63 ( S - A ))
64
65ARC_RELOC_HOWTO(ARC_SDA, 12, \
66 2, \
67 9, \
68 replace_disp9, \
69 bitfield, \
70 ( S + A ))
71
72ARC_RELOC_HOWTO(ARC_SECTOFF, 13, \
73 2, \
74 32, \
75 replace_word32, \
76 bitfield, \
77 ( ( S - SECTSTART ) + A ))
78
79ARC_RELOC_HOWTO(ARC_S21H_PCREL, 14, \
80 2, \
81 20, \
82 replace_disp21h, \
83 signed, \
84 ( ( ( S + A ) - P ) >> 1 ))
85
86ARC_RELOC_HOWTO(ARC_S21W_PCREL, 15, \
87 2, \
88 19, \
89 replace_disp21w, \
90 signed, \
91 ( ( ( S + A ) - P ) >> 2 ))
92
93ARC_RELOC_HOWTO(ARC_S25H_PCREL, 16, \
94 2, \
95 24, \
96 replace_disp25h, \
97 signed, \
98 ( ( ( S + A ) - P ) >> 1 ))
99
100ARC_RELOC_HOWTO(ARC_S25W_PCREL, 17, \
101 2, \
102 23, \
103 replace_disp25w, \
104 signed, \
105 ( ( ( S + A ) - P ) >> 2 ))
106
107ARC_RELOC_HOWTO(ARC_SDA32, 18, \
108 2, \
109 32, \
110 replace_word32, \
111 signed, \
112 ( ( S + A ) - _SDA_BASE_ ))
113
114ARC_RELOC_HOWTO(ARC_SDA_LDST, 19, \
115 2, \
116 9, \
117 replace_disp9ls, \
118 signed, \
119 ( ( S + A ) - _SDA_BASE_ ))
120
121ARC_RELOC_HOWTO(ARC_SDA_LDST1, 20, \
122 2, \
123 9, \
124 replace_disp9ls, \
125 signed, \
126 ( ( ( S + A ) - _SDA_BASE_ ) >> 1 ))
127
128ARC_RELOC_HOWTO(ARC_SDA_LDST2, 21, \
129 2, \
130 9, \
131 replace_disp9ls, \
132 signed, \
133 ( ( ( S + A ) - _SDA_BASE_ ) >> 2 ))
134
135ARC_RELOC_HOWTO(ARC_SDA16_LD, 22, \
136 1, \
137 9, \
138 replace_disp9s, \
139 signed, \
140 ( ( S + A ) - _SDA_BASE_ ))
141
142ARC_RELOC_HOWTO(ARC_SDA16_LD1, 23, \
143 1, \
144 9, \
145 replace_disp9s, \
146 signed, \
147 ( ( ( S + A ) - _SDA_BASE_ ) >> 1 ))
148
149ARC_RELOC_HOWTO(ARC_SDA16_LD2, 24, \
150 1, \
151 9, \
152 replace_disp9s, \
153 signed, \
154 ( ( ( S + A ) - _SDA_BASE_ ) >> 2 ))
155
156ARC_RELOC_HOWTO(ARC_S13_PCREL, 25, \
157 1, \
158 11, \
159 replace_disp13s, \
160 signed, \
161 ( ( ( S + A ) - P ) >> 2 ))
162
163ARC_RELOC_HOWTO(ARC_W, 26, \
164 2, \
165 32, \
166 replace_word32, \
167 bitfield, \
168 ( ( S + A ) & ( ~3 ) ))
169
170ARC_RELOC_HOWTO(ARC_32_ME, 27, \
171 2, \
172 32, \
173 replace_limm, \
174 signed, \
175 ( S + A ))
176
177ARC_RELOC_HOWTO(ARC_32_ME_S, 105, \
178 2, \
179 32, \
180 replace_limms, \
181 signed, \
182 ( S + A ))
183
184ARC_RELOC_HOWTO(ARC_N32_ME, 28, \
185 2, \
186 32, \
187 replace_word32, \
188 bitfield, \
189 ( S - A ))
190
191ARC_RELOC_HOWTO(ARC_SECTOFF_ME, 29, \
192 2, \
193 32, \
194 replace_word32, \
195 bitfield, \
196 ( ( S - SECTSTART ) + A ))
197
198ARC_RELOC_HOWTO(ARC_SDA32_ME, 30, \
199 2, \
200 32, \
201 replace_limm, \
202 signed, \
203 ( ( S + A ) - _SDA_BASE_ ))
204
205ARC_RELOC_HOWTO(ARC_W_ME, 31, \
206 2, \
207 32, \
208 replace_word32, \
209 bitfield, \
210 ( S + A ))
211
212ARC_RELOC_HOWTO(AC_SECTOFF_U8, 35, \
213 2, \
214 9, \
215 replace_disp9ls, \
216 bitfield, \
217 ( ( S + A ) - SECTSTART ))
218
219ARC_RELOC_HOWTO(AC_SECTOFF_U8_1, 36, \
220 2, \
221 9, \
222 replace_disp9ls, \
223 bitfield, \
224 ( ( ( S + A ) - SECTSTART ) >> 1 ))
225
226ARC_RELOC_HOWTO(AC_SECTOFF_U8_2, 37, \
227 2, \
228 9, \
229 replace_disp9ls, \
230 bitfield, \
231 ( ( ( S + A ) - SECTSTART ) >> 2 ))
232
233ARC_RELOC_HOWTO(AC_SECTFOFF_S9, 38, \
234 2, \
235 9, \
236 replace_disp9ls, \
237 bitfield, \
238 ( ( S + A ) - SECTSTART ))
239
240ARC_RELOC_HOWTO(AC_SECTFOFF_S9_1, 39, \
241 2, \
242 9, \
243 replace_disp9ls, \
244 bitfield, \
245 ( ( ( S + A ) - SECTSTART ) >> 1 ))
246
247ARC_RELOC_HOWTO(AC_SECTFOFF_S9_2, 40, \
248 2, \
249 9, \
250 replace_disp9ls, \
251 bitfield, \
252 ( ( ( S + A ) - SECTSTART ) >> 2 ))
253
254ARC_RELOC_HOWTO(ARC_SECTOFF_ME_1, 41, \
255 2, \
256 32, \
257 replace_word32, \
258 bitfield, \
259 ( ( ( S - SECTSTART ) + A ) >> 1 ))
260
261ARC_RELOC_HOWTO(ARC_SECTOFF_ME_2, 42, \
262 2, \
263 32, \
264 replace_word32, \
265 bitfield, \
266 ( ( ( S - SECTSTART ) + A ) >> 2 ))
267
268ARC_RELOC_HOWTO(ARC_SECTOFF_1, 43, \
269 2, \
270 32, \
271 replace_word32, \
272 bitfield, \
273 ( ( ( S - SECTSTART ) + A ) >> 1 ))
274
275ARC_RELOC_HOWTO(ARC_SECTOFF_2, 44, \
276 2, \
277 32, \
278 replace_word32, \
279 bitfield, \
280 ( ( ( S - SECTSTART ) + A ) >> 2 ))
281
282ARC_RELOC_HOWTO(ARC_SDA16_ST2, 48, \
283 1, \
284 9, \
285 replace_disp9s1, \
286 signed, \
287 ( ( ( S + A ) - _SDA_BASE_ ) >> 2 ))
288
289ARC_RELOC_HOWTO(ARC_PC32, 50, \
290 2, \
291 32, \
292 replace_word32, \
293 signed, \
294 ( ( S + A ) - P ))
295
296ARC_RELOC_HOWTO(ARC_GOT32, 59, \
297 2, \
298 32, \
299 replace_word32, \
300 dont, \
301 ( G + A ))
302
303ARC_RELOC_HOWTO(ARC_GOTPC32, 51, \
304 2, \
305 32, \
306 replace_word32, \
307 signed, \
308 ( ( ( GOT + G ) + A ) - P ))
309
310ARC_RELOC_HOWTO(ARC_PLT32, 52, \
311 2, \
312 32, \
313 replace_word32, \
314 signed, \
315 ( ( L + A ) - P ))
316
317ARC_RELOC_HOWTO(ARC_COPY, 53, \
318 2, \
319 0, \
320 replace_none, \
321 signed, \
322 none)
323
324ARC_RELOC_HOWTO(ARC_GLOB_DAT, 54, \
325 2, \
326 32, \
327 replace_word32, \
328 signed, \
329 S)
330
331ARC_RELOC_HOWTO(ARC_JMP_SLOT, 55, \
332 2, \
333 32, \
334 replace_word32, \
335 signed, \
336 S)
337
338ARC_RELOC_HOWTO(ARC_RELATIVE, 56, \
339 2, \
340 32, \
341 replace_word32, \
342 signed, \
343 ( B + A ))
344
345ARC_RELOC_HOWTO(ARC_GOTOFF, 57, \
346 2, \
347 32, \
348 replace_word32, \
349 signed, \
350 ( ( S + A ) - GOT ))
351
352ARC_RELOC_HOWTO(ARC_GOTPC, 58, \
353 2, \
354 32, \
355 replace_word32, \
356 signed, \
357 ( ( GOT + A ) - P ))
358
359ARC_RELOC_HOWTO(ARC_S21W_PCREL_PLT, 60, \
360 2, \
361 19, \
362 replace_disp21w, \
363 signed, \
364 ( ( ( L + A ) - P ) >> 2 ))
365
366ARC_RELOC_HOWTO(ARC_S25H_PCREL_PLT, 61, \
367 2, \
368 24, \
369 replace_disp25h, \
370 signed, \
371 ( ( ( L + A ) - P ) >> 1 ))
372
373ARC_RELOC_HOWTO(ARC_TLS_DTPMOD, 66, \
374 2, \
375 32, \
376 replace_word32, \
377 dont, \
378 0)
379
380ARC_RELOC_HOWTO(ARC_TLS_DTPOFF, 67, \
381 2, \
382 32, \
383 replace_word32, \
384 dont, \
385 0)
386
387ARC_RELOC_HOWTO(ARC_TLS_TPOFF, 68, \
388 2, \
389 32, \
390 replace_word32, \
391 dont, \
392 0)
393
394ARC_RELOC_HOWTO(ARC_TLS_GD_GOT, 69, \
395 2, \
396 32, \
397 replace_word32, \
398 dont, \
399 0)
400
401ARC_RELOC_HOWTO(ARC_TLS_GD_LD, 70, \
402 2, \
403 32, \
404 replace_word32, \
405 dont, \
406 0)
407
408ARC_RELOC_HOWTO(ARC_TLS_GD_CALL, 71, \
409 2, \
410 32, \
411 replace_word32, \
412 dont, \
413 0)
414
415ARC_RELOC_HOWTO(ARC_TLS_IE_GOT, 72, \
416 2, \
417 32, \
418 replace_word32, \
419 dont, \
420 0)
421
422ARC_RELOC_HOWTO(ARC_TLS_DTPOFF_S9, 73, \
423 2, \
424 32, \
425 replace_word32, \
426 dont, \
427 0)
428
429ARC_RELOC_HOWTO(ARC_TLS_LE_S9, 74, \
430 2, \
431 32, \
432 replace_word32, \
433 dont, \
434 0)
435
436ARC_RELOC_HOWTO(ARC_TLS_LE_32, 75, \
437 2, \
438 32, \
439 replace_word32, \
440 dont, \
441 0)
442
443ARC_RELOC_HOWTO(ARC_S25W_PCREL_PLT, 76, \
444 2, \
445 23, \
446 replace_disp25w, \
447 signed, \
448 ( ( ( L + A ) - P ) >> 2 ))
449
450ARC_RELOC_HOWTO(ARC_S21H_PCREL_PLT, 77, \
451 2, \
452 20, \
453 replace_disp21h, \
454 signed, \
455 ( ( ( L + A ) - P ) >> 1 ))
456
This page took 0.038822 seconds and 4 git commands to generate.