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