1 /* KVX-specific relocations table.
2 Copyright (C) 2009-2023 Free Software Foundation, Inc.
3 Contributed by Kalray SA.
5 This file is part of BFD, the Binary File Descriptor library.
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.
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.
17 You should have received a copy of the GNU General Public License
18 along with this program; see the file COPYING3. If not,
19 see <http://www.gnu.org/licenses/>. */
21 #ifdef KVX_KV3_V1_KV3_V2_KV4_V1
22 static reloc_howto_type elf_kvx_howto_table
[] =
24 HOWTO (R_KVX_NONE
, /* type */
26 0, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
28 false, /* pc_relative */
29 0, /* bitpos (bit field offset) */
30 complain_overflow_bitfield
, /* complain_on_overflow */
31 bfd_elf_generic_reloc
, /* special_function */
32 "R_KVX_NONE", /* name */
33 false, /* partial_inplace */
36 false), /* pcrel_offset */
37 HOWTO (R_KVX_16
, /* type */
39 2, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
41 false, /* pc_relative */
42 0, /* bitpos (bit field offset) */
43 complain_overflow_unsigned
, /* complain_on_overflow */
44 bfd_elf_generic_reloc
, /* special_function */
45 "R_KVX_16", /* name */
46 false, /* partial_inplace */
48 0xffff, /* dst_mask */
49 false), /* pc_offset */
50 HOWTO (R_KVX_32
, /* type */
52 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
54 false, /* pc_relative */
55 0, /* bitpos (bit field offset) */
56 complain_overflow_unsigned
, /* complain_on_overflow */
57 bfd_elf_generic_reloc
, /* special_function */
58 "R_KVX_32", /* name */
59 false, /* partial_inplace */
61 0xffffffff, /* dst_mask */
62 false), /* pc_offset */
63 HOWTO (R_KVX_64
, /* type */
65 8, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
67 false, /* pc_relative */
68 0, /* bitpos (bit field offset) */
69 complain_overflow_unsigned
, /* complain_on_overflow */
70 bfd_elf_generic_reloc
, /* special_function */
71 "R_KVX_64", /* name */
72 false, /* partial_inplace */
74 0xffffffffffffffff, /* dst_mask */
75 false), /* pc_offset */
76 HOWTO (R_KVX_S16_PCREL
, /* type */
78 2, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
80 true, /* pc_relative */
81 0, /* bitpos (bit field offset) */
82 complain_overflow_signed
, /* complain_on_overflow */
83 bfd_elf_generic_reloc
, /* special_function */
84 "R_KVX_S16_PCREL", /* name */
85 false, /* partial_inplace */
87 0xffff, /* dst_mask */
88 true), /* pc_offset */
89 HOWTO (R_KVX_PCREL17
, /* type */
91 3, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
93 true, /* pc_relative */
94 6, /* bitpos (bit field offset) */
95 complain_overflow_signed
, /* complain_on_overflow */
96 bfd_elf_generic_reloc
, /* special_function */
97 "R_KVX_PCREL17", /* name */
98 false, /* partial_inplace */
100 0x7fffc0, /* dst_mask */
101 true), /* pc_offset */
102 HOWTO (R_KVX_PCREL27
, /* type */
104 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
106 true, /* pc_relative */
107 0, /* bitpos (bit field offset) */
108 complain_overflow_signed
, /* complain_on_overflow */
109 bfd_elf_generic_reloc
, /* special_function */
110 "R_KVX_PCREL27", /* name */
111 false, /* partial_inplace */
113 0x7ffffff, /* dst_mask */
114 true), /* pc_offset */
115 HOWTO (R_KVX_32_PCREL
, /* type */
117 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
119 true, /* pc_relative */
120 0, /* bitpos (bit field offset) */
121 complain_overflow_signed
, /* complain_on_overflow */
122 bfd_elf_generic_reloc
, /* special_function */
123 "R_KVX_32_PCREL", /* name */
124 false, /* partial_inplace */
126 0xffffffff, /* dst_mask */
127 true), /* pc_offset */
128 HOWTO (R_KVX_S37_PCREL_LO10
, /* type */
130 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
132 true, /* pc_relative */
133 6, /* bitpos (bit field offset) */
134 complain_overflow_dont
, /* complain_on_overflow */
135 bfd_elf_generic_reloc
, /* special_function */
136 "R_KVX_S37_PCREL_LO10", /* name */
137 false, /* partial_inplace */
139 0xffc0, /* dst_mask */
140 true), /* pc_offset */
141 HOWTO (R_KVX_S37_PCREL_UP27
, /* type */
143 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
145 true, /* pc_relative */
146 0, /* bitpos (bit field offset) */
147 complain_overflow_dont
, /* complain_on_overflow */
148 bfd_elf_generic_reloc
, /* special_function */
149 "R_KVX_S37_PCREL_UP27", /* name */
150 false, /* partial_inplace */
152 0x7ffffff, /* dst_mask */
153 true), /* pc_offset */
154 HOWTO (R_KVX_S43_PCREL_LO10
, /* type */
156 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
158 true, /* pc_relative */
159 6, /* bitpos (bit field offset) */
160 complain_overflow_dont
, /* complain_on_overflow */
161 bfd_elf_generic_reloc
, /* special_function */
162 "R_KVX_S43_PCREL_LO10", /* name */
163 false, /* partial_inplace */
165 0xffc0, /* dst_mask */
166 true), /* pc_offset */
167 HOWTO (R_KVX_S43_PCREL_UP27
, /* type */
169 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
171 true, /* pc_relative */
172 0, /* bitpos (bit field offset) */
173 complain_overflow_dont
, /* complain_on_overflow */
174 bfd_elf_generic_reloc
, /* special_function */
175 "R_KVX_S43_PCREL_UP27", /* name */
176 false, /* partial_inplace */
178 0x7ffffff, /* dst_mask */
179 true), /* pc_offset */
180 HOWTO (R_KVX_S43_PCREL_EX6
, /* type */
182 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
184 true, /* pc_relative */
185 0, /* bitpos (bit field offset) */
186 complain_overflow_dont
, /* complain_on_overflow */
187 bfd_elf_generic_reloc
, /* special_function */
188 "R_KVX_S43_PCREL_EX6", /* name */
189 false, /* partial_inplace */
192 true), /* pc_offset */
193 HOWTO (R_KVX_S64_PCREL_LO10
, /* type */
195 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
197 true, /* pc_relative */
198 6, /* bitpos (bit field offset) */
199 complain_overflow_dont
, /* complain_on_overflow */
200 bfd_elf_generic_reloc
, /* special_function */
201 "R_KVX_S64_PCREL_LO10", /* name */
202 false, /* partial_inplace */
204 0xffc0, /* dst_mask */
205 true), /* pc_offset */
206 HOWTO (R_KVX_S64_PCREL_UP27
, /* type */
208 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
210 true, /* pc_relative */
211 0, /* bitpos (bit field offset) */
212 complain_overflow_dont
, /* complain_on_overflow */
213 bfd_elf_generic_reloc
, /* special_function */
214 "R_KVX_S64_PCREL_UP27", /* name */
215 false, /* partial_inplace */
217 0x7ffffff, /* dst_mask */
218 true), /* pc_offset */
219 HOWTO (R_KVX_S64_PCREL_EX27
, /* type */
221 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
223 true, /* pc_relative */
224 0, /* bitpos (bit field offset) */
225 complain_overflow_dont
, /* complain_on_overflow */
226 bfd_elf_generic_reloc
, /* special_function */
227 "R_KVX_S64_PCREL_EX27", /* name */
228 false, /* partial_inplace */
230 0x7ffffff, /* dst_mask */
231 true), /* pc_offset */
232 HOWTO (R_KVX_64_PCREL
, /* type */
234 8, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
236 true, /* pc_relative */
237 0, /* bitpos (bit field offset) */
238 complain_overflow_signed
, /* complain_on_overflow */
239 bfd_elf_generic_reloc
, /* special_function */
240 "R_KVX_64_PCREL", /* name */
241 false, /* partial_inplace */
243 0xffffffffffffffff, /* dst_mask */
244 true), /* pc_offset */
245 HOWTO (R_KVX_S16
, /* type */
247 2, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
249 false, /* pc_relative */
250 0, /* bitpos (bit field offset) */
251 complain_overflow_signed
, /* complain_on_overflow */
252 bfd_elf_generic_reloc
, /* special_function */
253 "R_KVX_S16", /* name */
254 false, /* partial_inplace */
256 0xffff, /* dst_mask */
257 false), /* pc_offset */
258 HOWTO (R_KVX_S32_LO5
, /* type */
260 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
262 false, /* pc_relative */
263 6, /* bitpos (bit field offset) */
264 complain_overflow_dont
, /* complain_on_overflow */
265 bfd_elf_generic_reloc
, /* special_function */
266 "R_KVX_S32_LO5", /* name */
267 false, /* partial_inplace */
269 0x7c0, /* dst_mask */
270 false), /* pc_offset */
271 HOWTO (R_KVX_S32_UP27
, /* type */
273 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
275 false, /* pc_relative */
276 0, /* bitpos (bit field offset) */
277 complain_overflow_dont
, /* complain_on_overflow */
278 bfd_elf_generic_reloc
, /* special_function */
279 "R_KVX_S32_UP27", /* name */
280 false, /* partial_inplace */
282 0x7ffffff, /* dst_mask */
283 false), /* pc_offset */
284 HOWTO (R_KVX_S37_LO10
, /* type */
286 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
288 false, /* pc_relative */
289 6, /* bitpos (bit field offset) */
290 complain_overflow_dont
, /* complain_on_overflow */
291 bfd_elf_generic_reloc
, /* special_function */
292 "R_KVX_S37_LO10", /* name */
293 false, /* partial_inplace */
295 0xffc0, /* dst_mask */
296 false), /* pc_offset */
297 HOWTO (R_KVX_S37_UP27
, /* type */
299 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
301 false, /* pc_relative */
302 0, /* bitpos (bit field offset) */
303 complain_overflow_dont
, /* complain_on_overflow */
304 bfd_elf_generic_reloc
, /* special_function */
305 "R_KVX_S37_UP27", /* name */
306 false, /* partial_inplace */
308 0x7ffffff, /* dst_mask */
309 false), /* pc_offset */
310 HOWTO (R_KVX_S37_GOTOFF_LO10
, /* type */
312 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
314 false, /* pc_relative */
315 6, /* bitpos (bit field offset) */
316 complain_overflow_dont
, /* complain_on_overflow */
317 bfd_elf_generic_reloc
, /* special_function */
318 "R_KVX_S37_GOTOFF_LO10", /* name */
319 false, /* partial_inplace */
321 0xffc0, /* dst_mask */
322 false), /* pc_offset */
323 HOWTO (R_KVX_S37_GOTOFF_UP27
, /* type */
325 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
327 false, /* pc_relative */
328 0, /* bitpos (bit field offset) */
329 complain_overflow_dont
, /* complain_on_overflow */
330 bfd_elf_generic_reloc
, /* special_function */
331 "R_KVX_S37_GOTOFF_UP27", /* name */
332 false, /* partial_inplace */
334 0x7ffffff, /* dst_mask */
335 false), /* pc_offset */
336 HOWTO (R_KVX_S43_GOTOFF_LO10
, /* type */
338 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
340 false, /* pc_relative */
341 6, /* bitpos (bit field offset) */
342 complain_overflow_dont
, /* complain_on_overflow */
343 bfd_elf_generic_reloc
, /* special_function */
344 "R_KVX_S43_GOTOFF_LO10", /* name */
345 false, /* partial_inplace */
347 0xffc0, /* dst_mask */
348 false), /* pc_offset */
349 HOWTO (R_KVX_S43_GOTOFF_UP27
, /* type */
351 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
353 false, /* pc_relative */
354 0, /* bitpos (bit field offset) */
355 complain_overflow_dont
, /* complain_on_overflow */
356 bfd_elf_generic_reloc
, /* special_function */
357 "R_KVX_S43_GOTOFF_UP27", /* name */
358 false, /* partial_inplace */
360 0x7ffffff, /* dst_mask */
361 false), /* pc_offset */
362 HOWTO (R_KVX_S43_GOTOFF_EX6
, /* type */
364 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
366 false, /* pc_relative */
367 0, /* bitpos (bit field offset) */
368 complain_overflow_dont
, /* complain_on_overflow */
369 bfd_elf_generic_reloc
, /* special_function */
370 "R_KVX_S43_GOTOFF_EX6", /* name */
371 false, /* partial_inplace */
374 false), /* pc_offset */
375 HOWTO (R_KVX_32_GOTOFF
, /* type */
377 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
379 false, /* pc_relative */
380 0, /* bitpos (bit field offset) */
381 complain_overflow_dont
, /* complain_on_overflow */
382 bfd_elf_generic_reloc
, /* special_function */
383 "R_KVX_32_GOTOFF", /* name */
384 false, /* partial_inplace */
386 0xffffffff, /* dst_mask */
387 false), /* pc_offset */
388 HOWTO (R_KVX_64_GOTOFF
, /* type */
390 8, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
392 false, /* pc_relative */
393 0, /* bitpos (bit field offset) */
394 complain_overflow_dont
, /* complain_on_overflow */
395 bfd_elf_generic_reloc
, /* special_function */
396 "R_KVX_64_GOTOFF", /* name */
397 false, /* partial_inplace */
399 0xffffffffffffffff, /* dst_mask */
400 false), /* pc_offset */
401 HOWTO (R_KVX_32_GOT
, /* type */
403 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
405 false, /* pc_relative */
406 0, /* bitpos (bit field offset) */
407 complain_overflow_unsigned
, /* complain_on_overflow */
408 bfd_elf_generic_reloc
, /* special_function */
409 "R_KVX_32_GOT", /* name */
410 false, /* partial_inplace */
412 0xffffffff, /* dst_mask */
413 false), /* pc_offset */
414 HOWTO (R_KVX_S37_GOT_LO10
, /* type */
416 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
418 false, /* pc_relative */
419 6, /* bitpos (bit field offset) */
420 complain_overflow_dont
, /* complain_on_overflow */
421 bfd_elf_generic_reloc
, /* special_function */
422 "R_KVX_S37_GOT_LO10", /* name */
423 false, /* partial_inplace */
425 0xffc0, /* dst_mask */
426 false), /* pc_offset */
427 HOWTO (R_KVX_S37_GOT_UP27
, /* type */
429 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
431 false, /* pc_relative */
432 0, /* bitpos (bit field offset) */
433 complain_overflow_dont
, /* complain_on_overflow */
434 bfd_elf_generic_reloc
, /* special_function */
435 "R_KVX_S37_GOT_UP27", /* name */
436 false, /* partial_inplace */
438 0x7ffffff, /* dst_mask */
439 false), /* pc_offset */
440 HOWTO (R_KVX_S43_GOT_LO10
, /* type */
442 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
444 false, /* pc_relative */
445 6, /* bitpos (bit field offset) */
446 complain_overflow_dont
, /* complain_on_overflow */
447 bfd_elf_generic_reloc
, /* special_function */
448 "R_KVX_S43_GOT_LO10", /* name */
449 false, /* partial_inplace */
451 0xffc0, /* dst_mask */
452 false), /* pc_offset */
453 HOWTO (R_KVX_S43_GOT_UP27
, /* type */
455 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
457 false, /* pc_relative */
458 0, /* bitpos (bit field offset) */
459 complain_overflow_dont
, /* complain_on_overflow */
460 bfd_elf_generic_reloc
, /* special_function */
461 "R_KVX_S43_GOT_UP27", /* name */
462 false, /* partial_inplace */
464 0x7ffffff, /* dst_mask */
465 false), /* pc_offset */
466 HOWTO (R_KVX_S43_GOT_EX6
, /* type */
468 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
470 false, /* pc_relative */
471 0, /* bitpos (bit field offset) */
472 complain_overflow_dont
, /* complain_on_overflow */
473 bfd_elf_generic_reloc
, /* special_function */
474 "R_KVX_S43_GOT_EX6", /* name */
475 false, /* partial_inplace */
478 false), /* pc_offset */
479 HOWTO (R_KVX_64_GOT
, /* type */
481 8, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
483 false, /* pc_relative */
484 0, /* bitpos (bit field offset) */
485 complain_overflow_dont
, /* complain_on_overflow */
486 bfd_elf_generic_reloc
, /* special_function */
487 "R_KVX_64_GOT", /* name */
488 false, /* partial_inplace */
490 0xffffffffffffffff, /* dst_mask */
491 false), /* pc_offset */
492 HOWTO (R_KVX_GLOB_DAT
, /* type */
494 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
496 false, /* pc_relative */
497 0, /* bitpos (bit field offset) */
498 complain_overflow_dont
, /* complain_on_overflow */
499 bfd_elf_generic_reloc
, /* special_function */
500 "R_KVX_GLOB_DAT", /* name */
501 false, /* partial_inplace */
503 0xffffffff, /* dst_mask */
504 false), /* pc_offset */
505 HOWTO (R_KVX_COPY
, /* type */
507 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
509 false, /* pc_relative */
510 0, /* bitpos (bit field offset) */
511 complain_overflow_dont
, /* complain_on_overflow */
512 bfd_elf_generic_reloc
, /* special_function */
513 "R_KVX_COPY", /* name */
514 false, /* partial_inplace */
516 0xffffffff, /* dst_mask */
517 false), /* pc_offset */
518 HOWTO (R_KVX_JMP_SLOT
, /* type */
520 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
522 false, /* pc_relative */
523 0, /* bitpos (bit field offset) */
524 complain_overflow_dont
, /* complain_on_overflow */
525 bfd_elf_generic_reloc
, /* special_function */
526 "R_KVX_JMP_SLOT", /* name */
527 false, /* partial_inplace */
529 0xffffffff, /* dst_mask */
530 false), /* pc_offset */
531 HOWTO (R_KVX_RELATIVE
, /* type */
533 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
535 false, /* pc_relative */
536 0, /* bitpos (bit field offset) */
537 complain_overflow_dont
, /* complain_on_overflow */
538 bfd_elf_generic_reloc
, /* special_function */
539 "R_KVX_RELATIVE", /* name */
540 false, /* partial_inplace */
542 0xffffffff, /* dst_mask */
543 false), /* pc_offset */
544 HOWTO (R_KVX_S43_LO10
, /* type */
546 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
548 false, /* pc_relative */
549 6, /* bitpos (bit field offset) */
550 complain_overflow_dont
, /* complain_on_overflow */
551 bfd_elf_generic_reloc
, /* special_function */
552 "R_KVX_S43_LO10", /* name */
553 false, /* partial_inplace */
555 0xffc0, /* dst_mask */
556 false), /* pc_offset */
557 HOWTO (R_KVX_S43_UP27
, /* type */
559 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
561 false, /* pc_relative */
562 0, /* bitpos (bit field offset) */
563 complain_overflow_dont
, /* complain_on_overflow */
564 bfd_elf_generic_reloc
, /* special_function */
565 "R_KVX_S43_UP27", /* name */
566 false, /* partial_inplace */
568 0x7ffffff, /* dst_mask */
569 false), /* pc_offset */
570 HOWTO (R_KVX_S43_EX6
, /* type */
572 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
574 false, /* pc_relative */
575 0, /* bitpos (bit field offset) */
576 complain_overflow_dont
, /* complain_on_overflow */
577 bfd_elf_generic_reloc
, /* special_function */
578 "R_KVX_S43_EX6", /* name */
579 false, /* partial_inplace */
582 false), /* pc_offset */
583 HOWTO (R_KVX_S64_LO10
, /* type */
585 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
587 false, /* pc_relative */
588 6, /* bitpos (bit field offset) */
589 complain_overflow_dont
, /* complain_on_overflow */
590 bfd_elf_generic_reloc
, /* special_function */
591 "R_KVX_S64_LO10", /* name */
592 false, /* partial_inplace */
594 0xffc0, /* dst_mask */
595 false), /* pc_offset */
596 HOWTO (R_KVX_S64_UP27
, /* type */
598 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
600 false, /* pc_relative */
601 0, /* bitpos (bit field offset) */
602 complain_overflow_dont
, /* complain_on_overflow */
603 bfd_elf_generic_reloc
, /* special_function */
604 "R_KVX_S64_UP27", /* name */
605 false, /* partial_inplace */
607 0x7ffffff, /* dst_mask */
608 false), /* pc_offset */
609 HOWTO (R_KVX_S64_EX27
, /* type */
611 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
613 false, /* pc_relative */
614 0, /* bitpos (bit field offset) */
615 complain_overflow_dont
, /* complain_on_overflow */
616 bfd_elf_generic_reloc
, /* special_function */
617 "R_KVX_S64_EX27", /* name */
618 false, /* partial_inplace */
620 0x7ffffff, /* dst_mask */
621 false), /* pc_offset */
622 HOWTO (R_KVX_S37_GOTADDR_LO10
, /* type */
624 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
626 true, /* pc_relative */
627 6, /* bitpos (bit field offset) */
628 complain_overflow_dont
, /* complain_on_overflow */
629 bfd_elf_generic_reloc
, /* special_function */
630 "R_KVX_S37_GOTADDR_LO10", /* name */
631 false, /* partial_inplace */
633 0xffc0, /* dst_mask */
634 true), /* pc_offset */
635 HOWTO (R_KVX_S37_GOTADDR_UP27
, /* type */
637 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
639 true, /* pc_relative */
640 0, /* bitpos (bit field offset) */
641 complain_overflow_dont
, /* complain_on_overflow */
642 bfd_elf_generic_reloc
, /* special_function */
643 "R_KVX_S37_GOTADDR_UP27", /* name */
644 false, /* partial_inplace */
646 0x7ffffff, /* dst_mask */
647 true), /* pc_offset */
648 HOWTO (R_KVX_S43_GOTADDR_LO10
, /* type */
650 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
652 true, /* pc_relative */
653 6, /* bitpos (bit field offset) */
654 complain_overflow_dont
, /* complain_on_overflow */
655 bfd_elf_generic_reloc
, /* special_function */
656 "R_KVX_S43_GOTADDR_LO10", /* name */
657 false, /* partial_inplace */
659 0xffc0, /* dst_mask */
660 true), /* pc_offset */
661 HOWTO (R_KVX_S43_GOTADDR_UP27
, /* type */
663 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
665 true, /* pc_relative */
666 0, /* bitpos (bit field offset) */
667 complain_overflow_dont
, /* complain_on_overflow */
668 bfd_elf_generic_reloc
, /* special_function */
669 "R_KVX_S43_GOTADDR_UP27", /* name */
670 false, /* partial_inplace */
672 0x7ffffff, /* dst_mask */
673 true), /* pc_offset */
674 HOWTO (R_KVX_S43_GOTADDR_EX6
, /* type */
676 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
678 true, /* pc_relative */
679 0, /* bitpos (bit field offset) */
680 complain_overflow_dont
, /* complain_on_overflow */
681 bfd_elf_generic_reloc
, /* special_function */
682 "R_KVX_S43_GOTADDR_EX6", /* name */
683 false, /* partial_inplace */
686 true), /* pc_offset */
687 HOWTO (R_KVX_S64_GOTADDR_LO10
, /* type */
689 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
691 true, /* pc_relative */
692 6, /* bitpos (bit field offset) */
693 complain_overflow_dont
, /* complain_on_overflow */
694 bfd_elf_generic_reloc
, /* special_function */
695 "R_KVX_S64_GOTADDR_LO10", /* name */
696 false, /* partial_inplace */
698 0xffc0, /* dst_mask */
699 true), /* pc_offset */
700 HOWTO (R_KVX_S64_GOTADDR_UP27
, /* type */
702 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
704 true, /* pc_relative */
705 0, /* bitpos (bit field offset) */
706 complain_overflow_dont
, /* complain_on_overflow */
707 bfd_elf_generic_reloc
, /* special_function */
708 "R_KVX_S64_GOTADDR_UP27", /* name */
709 false, /* partial_inplace */
711 0x7ffffff, /* dst_mask */
712 true), /* pc_offset */
713 HOWTO (R_KVX_S64_GOTADDR_EX27
, /* type */
715 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
717 true, /* pc_relative */
718 0, /* bitpos (bit field offset) */
719 complain_overflow_dont
, /* complain_on_overflow */
720 bfd_elf_generic_reloc
, /* special_function */
721 "R_KVX_S64_GOTADDR_EX27", /* name */
722 false, /* partial_inplace */
724 0x7ffffff, /* dst_mask */
725 true), /* pc_offset */
726 HOWTO (R_KVX_64_DTPMOD
, /* type */
728 8, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
730 false, /* pc_relative */
731 0, /* bitpos (bit field offset) */
732 complain_overflow_dont
, /* complain_on_overflow */
733 bfd_elf_generic_reloc
, /* special_function */
734 "R_KVX_64_DTPMOD", /* name */
735 false, /* partial_inplace */
737 0xffffffffffffffff, /* dst_mask */
738 false), /* pc_offset */
739 HOWTO (R_KVX_64_DTPOFF
, /* type */
741 8, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
743 false, /* pc_relative */
744 0, /* bitpos (bit field offset) */
745 complain_overflow_dont
, /* complain_on_overflow */
746 bfd_elf_generic_reloc
, /* special_function */
747 "R_KVX_64_DTPOFF", /* name */
748 false, /* partial_inplace */
750 0xffffffffffffffff, /* dst_mask */
751 false), /* pc_offset */
752 HOWTO (R_KVX_S37_TLS_DTPOFF_LO10
, /* type */
754 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
756 false, /* pc_relative */
757 6, /* bitpos (bit field offset) */
758 complain_overflow_dont
, /* complain_on_overflow */
759 bfd_elf_generic_reloc
, /* special_function */
760 "R_KVX_S37_TLS_DTPOFF_LO10", /* name */
761 false, /* partial_inplace */
763 0xffc0, /* dst_mask */
764 false), /* pc_offset */
765 HOWTO (R_KVX_S37_TLS_DTPOFF_UP27
, /* type */
767 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
769 false, /* pc_relative */
770 0, /* bitpos (bit field offset) */
771 complain_overflow_dont
, /* complain_on_overflow */
772 bfd_elf_generic_reloc
, /* special_function */
773 "R_KVX_S37_TLS_DTPOFF_UP27", /* name */
774 false, /* partial_inplace */
776 0x7ffffff, /* dst_mask */
777 false), /* pc_offset */
778 HOWTO (R_KVX_S43_TLS_DTPOFF_LO10
, /* type */
780 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
782 false, /* pc_relative */
783 6, /* bitpos (bit field offset) */
784 complain_overflow_dont
, /* complain_on_overflow */
785 bfd_elf_generic_reloc
, /* special_function */
786 "R_KVX_S43_TLS_DTPOFF_LO10", /* name */
787 false, /* partial_inplace */
789 0xffc0, /* dst_mask */
790 false), /* pc_offset */
791 HOWTO (R_KVX_S43_TLS_DTPOFF_UP27
, /* type */
793 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
795 false, /* pc_relative */
796 0, /* bitpos (bit field offset) */
797 complain_overflow_dont
, /* complain_on_overflow */
798 bfd_elf_generic_reloc
, /* special_function */
799 "R_KVX_S43_TLS_DTPOFF_UP27", /* name */
800 false, /* partial_inplace */
802 0x7ffffff, /* dst_mask */
803 false), /* pc_offset */
804 HOWTO (R_KVX_S43_TLS_DTPOFF_EX6
, /* type */
806 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
808 false, /* pc_relative */
809 0, /* bitpos (bit field offset) */
810 complain_overflow_dont
, /* complain_on_overflow */
811 bfd_elf_generic_reloc
, /* special_function */
812 "R_KVX_S43_TLS_DTPOFF_EX6", /* name */
813 false, /* partial_inplace */
816 false), /* pc_offset */
817 HOWTO (R_KVX_S37_TLS_GD_LO10
, /* type */
819 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
821 false, /* pc_relative */
822 6, /* bitpos (bit field offset) */
823 complain_overflow_dont
, /* complain_on_overflow */
824 bfd_elf_generic_reloc
, /* special_function */
825 "R_KVX_S37_TLS_GD_LO10", /* name */
826 false, /* partial_inplace */
828 0xffc0, /* dst_mask */
829 false), /* pc_offset */
830 HOWTO (R_KVX_S37_TLS_GD_UP27
, /* type */
832 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
834 false, /* pc_relative */
835 0, /* bitpos (bit field offset) */
836 complain_overflow_dont
, /* complain_on_overflow */
837 bfd_elf_generic_reloc
, /* special_function */
838 "R_KVX_S37_TLS_GD_UP27", /* name */
839 false, /* partial_inplace */
841 0x7ffffff, /* dst_mask */
842 false), /* pc_offset */
843 HOWTO (R_KVX_S43_TLS_GD_LO10
, /* type */
845 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
847 false, /* pc_relative */
848 6, /* bitpos (bit field offset) */
849 complain_overflow_dont
, /* complain_on_overflow */
850 bfd_elf_generic_reloc
, /* special_function */
851 "R_KVX_S43_TLS_GD_LO10", /* name */
852 false, /* partial_inplace */
854 0xffc0, /* dst_mask */
855 false), /* pc_offset */
856 HOWTO (R_KVX_S43_TLS_GD_UP27
, /* type */
858 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
860 false, /* pc_relative */
861 0, /* bitpos (bit field offset) */
862 complain_overflow_dont
, /* complain_on_overflow */
863 bfd_elf_generic_reloc
, /* special_function */
864 "R_KVX_S43_TLS_GD_UP27", /* name */
865 false, /* partial_inplace */
867 0x7ffffff, /* dst_mask */
868 false), /* pc_offset */
869 HOWTO (R_KVX_S43_TLS_GD_EX6
, /* type */
871 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
873 false, /* pc_relative */
874 0, /* bitpos (bit field offset) */
875 complain_overflow_dont
, /* complain_on_overflow */
876 bfd_elf_generic_reloc
, /* special_function */
877 "R_KVX_S43_TLS_GD_EX6", /* name */
878 false, /* partial_inplace */
881 false), /* pc_offset */
882 HOWTO (R_KVX_S37_TLS_LD_LO10
, /* type */
884 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
886 false, /* pc_relative */
887 6, /* bitpos (bit field offset) */
888 complain_overflow_dont
, /* complain_on_overflow */
889 bfd_elf_generic_reloc
, /* special_function */
890 "R_KVX_S37_TLS_LD_LO10", /* name */
891 false, /* partial_inplace */
893 0xffc0, /* dst_mask */
894 false), /* pc_offset */
895 HOWTO (R_KVX_S37_TLS_LD_UP27
, /* type */
897 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
899 false, /* pc_relative */
900 0, /* bitpos (bit field offset) */
901 complain_overflow_dont
, /* complain_on_overflow */
902 bfd_elf_generic_reloc
, /* special_function */
903 "R_KVX_S37_TLS_LD_UP27", /* name */
904 false, /* partial_inplace */
906 0x7ffffff, /* dst_mask */
907 false), /* pc_offset */
908 HOWTO (R_KVX_S43_TLS_LD_LO10
, /* type */
910 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
912 false, /* pc_relative */
913 6, /* bitpos (bit field offset) */
914 complain_overflow_dont
, /* complain_on_overflow */
915 bfd_elf_generic_reloc
, /* special_function */
916 "R_KVX_S43_TLS_LD_LO10", /* name */
917 false, /* partial_inplace */
919 0xffc0, /* dst_mask */
920 false), /* pc_offset */
921 HOWTO (R_KVX_S43_TLS_LD_UP27
, /* type */
923 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
925 false, /* pc_relative */
926 0, /* bitpos (bit field offset) */
927 complain_overflow_dont
, /* complain_on_overflow */
928 bfd_elf_generic_reloc
, /* special_function */
929 "R_KVX_S43_TLS_LD_UP27", /* name */
930 false, /* partial_inplace */
932 0x7ffffff, /* dst_mask */
933 false), /* pc_offset */
934 HOWTO (R_KVX_S43_TLS_LD_EX6
, /* type */
936 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
938 false, /* pc_relative */
939 0, /* bitpos (bit field offset) */
940 complain_overflow_dont
, /* complain_on_overflow */
941 bfd_elf_generic_reloc
, /* special_function */
942 "R_KVX_S43_TLS_LD_EX6", /* name */
943 false, /* partial_inplace */
946 false), /* pc_offset */
947 HOWTO (R_KVX_64_TPOFF
, /* type */
949 8, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
951 false, /* pc_relative */
952 0, /* bitpos (bit field offset) */
953 complain_overflow_dont
, /* complain_on_overflow */
954 bfd_elf_generic_reloc
, /* special_function */
955 "R_KVX_64_TPOFF", /* name */
956 false, /* partial_inplace */
958 0xffffffffffffffff, /* dst_mask */
959 false), /* pc_offset */
960 HOWTO (R_KVX_S37_TLS_IE_LO10
, /* type */
962 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
964 false, /* pc_relative */
965 6, /* bitpos (bit field offset) */
966 complain_overflow_dont
, /* complain_on_overflow */
967 bfd_elf_generic_reloc
, /* special_function */
968 "R_KVX_S37_TLS_IE_LO10", /* name */
969 false, /* partial_inplace */
971 0xffc0, /* dst_mask */
972 false), /* pc_offset */
973 HOWTO (R_KVX_S37_TLS_IE_UP27
, /* type */
975 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
977 false, /* pc_relative */
978 0, /* bitpos (bit field offset) */
979 complain_overflow_dont
, /* complain_on_overflow */
980 bfd_elf_generic_reloc
, /* special_function */
981 "R_KVX_S37_TLS_IE_UP27", /* name */
982 false, /* partial_inplace */
984 0x7ffffff, /* dst_mask */
985 false), /* pc_offset */
986 HOWTO (R_KVX_S43_TLS_IE_LO10
, /* type */
988 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
990 false, /* pc_relative */
991 6, /* bitpos (bit field offset) */
992 complain_overflow_dont
, /* complain_on_overflow */
993 bfd_elf_generic_reloc
, /* special_function */
994 "R_KVX_S43_TLS_IE_LO10", /* name */
995 false, /* partial_inplace */
997 0xffc0, /* dst_mask */
998 false), /* pc_offset */
999 HOWTO (R_KVX_S43_TLS_IE_UP27
, /* type */
1000 10, /* rightshift */
1001 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
1003 false, /* pc_relative */
1004 0, /* bitpos (bit field offset) */
1005 complain_overflow_dont
, /* complain_on_overflow */
1006 bfd_elf_generic_reloc
, /* special_function */
1007 "R_KVX_S43_TLS_IE_UP27", /* name */
1008 false, /* partial_inplace */
1010 0x7ffffff, /* dst_mask */
1011 false), /* pc_offset */
1012 HOWTO (R_KVX_S43_TLS_IE_EX6
, /* type */
1013 37, /* rightshift */
1014 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
1016 false, /* pc_relative */
1017 0, /* bitpos (bit field offset) */
1018 complain_overflow_dont
, /* complain_on_overflow */
1019 bfd_elf_generic_reloc
, /* special_function */
1020 "R_KVX_S43_TLS_IE_EX6", /* name */
1021 false, /* partial_inplace */
1023 0x3f, /* dst_mask */
1024 false), /* pc_offset */
1025 HOWTO (R_KVX_S37_TLS_LE_LO10
, /* type */
1027 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
1029 false, /* pc_relative */
1030 6, /* bitpos (bit field offset) */
1031 complain_overflow_dont
, /* complain_on_overflow */
1032 bfd_elf_generic_reloc
, /* special_function */
1033 "R_KVX_S37_TLS_LE_LO10", /* name */
1034 false, /* partial_inplace */
1036 0xffc0, /* dst_mask */
1037 false), /* pc_offset */
1038 HOWTO (R_KVX_S37_TLS_LE_UP27
, /* type */
1039 10, /* rightshift */
1040 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
1042 false, /* pc_relative */
1043 0, /* bitpos (bit field offset) */
1044 complain_overflow_dont
, /* complain_on_overflow */
1045 bfd_elf_generic_reloc
, /* special_function */
1046 "R_KVX_S37_TLS_LE_UP27", /* name */
1047 false, /* partial_inplace */
1049 0x7ffffff, /* dst_mask */
1050 false), /* pc_offset */
1051 HOWTO (R_KVX_S43_TLS_LE_LO10
, /* type */
1053 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
1055 false, /* pc_relative */
1056 6, /* bitpos (bit field offset) */
1057 complain_overflow_dont
, /* complain_on_overflow */
1058 bfd_elf_generic_reloc
, /* special_function */
1059 "R_KVX_S43_TLS_LE_LO10", /* name */
1060 false, /* partial_inplace */
1062 0xffc0, /* dst_mask */
1063 false), /* pc_offset */
1064 HOWTO (R_KVX_S43_TLS_LE_UP27
, /* type */
1065 10, /* rightshift */
1066 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
1068 false, /* pc_relative */
1069 0, /* bitpos (bit field offset) */
1070 complain_overflow_dont
, /* complain_on_overflow */
1071 bfd_elf_generic_reloc
, /* special_function */
1072 "R_KVX_S43_TLS_LE_UP27", /* name */
1073 false, /* partial_inplace */
1075 0x7ffffff, /* dst_mask */
1076 false), /* pc_offset */
1077 HOWTO (R_KVX_S43_TLS_LE_EX6
, /* type */
1078 37, /* rightshift */
1079 4, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
1081 false, /* pc_relative */
1082 0, /* bitpos (bit field offset) */
1083 complain_overflow_dont
, /* complain_on_overflow */
1084 bfd_elf_generic_reloc
, /* special_function */
1085 "R_KVX_S43_TLS_LE_EX6", /* name */
1086 false, /* partial_inplace */
1088 0x3f, /* dst_mask */
1089 false), /* pc_offset */
1090 HOWTO (R_KVX_8
, /* type */
1092 1, /* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
1094 false, /* pc_relative */
1095 0, /* bitpos (bit field offset) */
1096 complain_overflow_unsigned
, /* complain_on_overflow */
1097 bfd_elf_generic_reloc
, /* special_function */
1098 "R_KVX_8", /* name */
1099 false, /* partial_inplace */
1101 0xff, /* dst_mask */
1102 false), /* pc_offset */
1105 #endif /* KVX_KV3_V1_KV3_V2_KV4_V1 */