1/* KVX-specific relocations table.
2   Copyright (C) 2009-2024 Free Software Foundation, Inc.
3   Contributed by Kalray SA.
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; see the file COPYING3. If not,
19   see <http://www.gnu.org/licenses/>.  */
20
21#ifdef KVX_KV3_V1_KV3_V2_KV4_V1
22static reloc_howto_type elf_kvx_howto_table[] =
23{
24  HOWTO (R_KVX_NONE,			/* type */
25	 0,				/* rightshift */
26	 0,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
27	 32,				/* bitsize */
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 */
34	 0,				/* src_mask */
35	 0,				/* dst_mask */
36	 false),			/* pcrel_offset */
37  HOWTO (R_KVX_16,			/* type */
38	 0,				/* rightshift */
39	 2,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
40	 16,				/* bitsize */
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 */
47	 0x0,				/* src_mask */
48	 0xffff,			/* dst_mask */
49	 false),			/* pc_offset */
50  HOWTO (R_KVX_32,			/* type */
51	 0,				/* rightshift */
52	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
53	 32,				/* bitsize */
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 */
60	 0x0,				/* src_mask */
61	 0xffffffff,			/* dst_mask */
62	 false),			/* pc_offset */
63  HOWTO (R_KVX_64,			/* type */
64	 0,				/* rightshift */
65	 8,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
66	 64,				/* bitsize */
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 */
73	 0x0,				/* src_mask */
74	 0xffffffffffffffff,			/* dst_mask */
75	 false),			/* pc_offset */
76  HOWTO (R_KVX_S16_PCREL,			/* type */
77	 0,				/* rightshift */
78	 2,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
79	 16,				/* bitsize */
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 */
86	 0x0,				/* src_mask */
87	 0xffff,			/* dst_mask */
88	 true),			/* pc_offset */
89  HOWTO (R_KVX_PCREL17,			/* type */
90	 2,				/* rightshift */
91	 3,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
92	 17,				/* bitsize */
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 */
99	 0x0,				/* src_mask */
100	 0x7fffc0,			/* dst_mask */
101	 true),			/* pc_offset */
102  HOWTO (R_KVX_PCREL27,			/* type */
103	 2,				/* rightshift */
104	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
105	 27,				/* bitsize */
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 */
112	 0x0,				/* src_mask */
113	 0x7ffffff,			/* dst_mask */
114	 true),			/* pc_offset */
115  HOWTO (R_KVX_32_PCREL,			/* type */
116	 0,				/* rightshift */
117	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
118	 32,				/* bitsize */
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 */
125	 0x0,				/* src_mask */
126	 0xffffffff,			/* dst_mask */
127	 true),			/* pc_offset */
128  HOWTO (R_KVX_S37_PCREL_LO10,			/* type */
129	 0,				/* rightshift */
130	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
131	 10,				/* bitsize */
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 */
138	 0x0,				/* src_mask */
139	 0xffc0,			/* dst_mask */
140	 true),			/* pc_offset */
141  HOWTO (R_KVX_S37_PCREL_UP27,			/* type */
142	 10,				/* rightshift */
143	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
144	 27,				/* bitsize */
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 */
151	 0x0,				/* src_mask */
152	 0x7ffffff,			/* dst_mask */
153	 true),			/* pc_offset */
154  HOWTO (R_KVX_S43_PCREL_LO10,			/* type */
155	 0,				/* rightshift */
156	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
157	 10,				/* bitsize */
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 */
164	 0x0,				/* src_mask */
165	 0xffc0,			/* dst_mask */
166	 true),			/* pc_offset */
167  HOWTO (R_KVX_S43_PCREL_UP27,			/* type */
168	 10,				/* rightshift */
169	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
170	 27,				/* bitsize */
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 */
177	 0x0,				/* src_mask */
178	 0x7ffffff,			/* dst_mask */
179	 true),			/* pc_offset */
180  HOWTO (R_KVX_S43_PCREL_EX6,			/* type */
181	 37,				/* rightshift */
182	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
183	 6,				/* bitsize */
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 */
190	 0x0,				/* src_mask */
191	 0x3f,			/* dst_mask */
192	 true),			/* pc_offset */
193  HOWTO (R_KVX_S64_PCREL_LO10,			/* type */
194	 0,				/* rightshift */
195	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
196	 10,				/* bitsize */
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 */
203	 0x0,				/* src_mask */
204	 0xffc0,			/* dst_mask */
205	 true),			/* pc_offset */
206  HOWTO (R_KVX_S64_PCREL_UP27,			/* type */
207	 10,				/* rightshift */
208	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
209	 27,				/* bitsize */
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 */
216	 0x0,				/* src_mask */
217	 0x7ffffff,			/* dst_mask */
218	 true),			/* pc_offset */
219  HOWTO (R_KVX_S64_PCREL_EX27,			/* type */
220	 37,				/* rightshift */
221	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
222	 27,				/* bitsize */
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 */
229	 0x0,				/* src_mask */
230	 0x7ffffff,			/* dst_mask */
231	 true),			/* pc_offset */
232  HOWTO (R_KVX_64_PCREL,			/* type */
233	 0,				/* rightshift */
234	 8,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
235	 64,				/* bitsize */
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 */
242	 0x0,				/* src_mask */
243	 0xffffffffffffffff,			/* dst_mask */
244	 true),			/* pc_offset */
245  HOWTO (R_KVX_S16,			/* type */
246	 0,				/* rightshift */
247	 2,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
248	 16,				/* bitsize */
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 */
255	 0x0,				/* src_mask */
256	 0xffff,			/* dst_mask */
257	 false),			/* pc_offset */
258  HOWTO (R_KVX_S32_LO5,			/* type */
259	 0,				/* rightshift */
260	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
261	 5,				/* bitsize */
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 */
268	 0x0,				/* src_mask */
269	 0x7c0,			/* dst_mask */
270	 false),			/* pc_offset */
271  HOWTO (R_KVX_S32_UP27,			/* type */
272	 5,				/* rightshift */
273	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
274	 27,				/* bitsize */
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 */
281	 0x0,				/* src_mask */
282	 0x7ffffff,			/* dst_mask */
283	 false),			/* pc_offset */
284  HOWTO (R_KVX_S37_LO10,			/* type */
285	 0,				/* rightshift */
286	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
287	 10,				/* bitsize */
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 */
294	 0x0,				/* src_mask */
295	 0xffc0,			/* dst_mask */
296	 false),			/* pc_offset */
297  HOWTO (R_KVX_S37_UP27,			/* type */
298	 10,				/* rightshift */
299	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
300	 27,				/* bitsize */
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 */
307	 0x0,				/* src_mask */
308	 0x7ffffff,			/* dst_mask */
309	 false),			/* pc_offset */
310  HOWTO (R_KVX_S37_GOTOFF_LO10,			/* type */
311	 0,				/* rightshift */
312	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
313	 10,				/* bitsize */
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 */
320	 0x0,				/* src_mask */
321	 0xffc0,			/* dst_mask */
322	 false),			/* pc_offset */
323  HOWTO (R_KVX_S37_GOTOFF_UP27,			/* type */
324	 10,				/* rightshift */
325	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
326	 27,				/* bitsize */
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 */
333	 0x0,				/* src_mask */
334	 0x7ffffff,			/* dst_mask */
335	 false),			/* pc_offset */
336  HOWTO (R_KVX_S43_GOTOFF_LO10,			/* type */
337	 0,				/* rightshift */
338	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
339	 10,				/* bitsize */
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 */
346	 0x0,				/* src_mask */
347	 0xffc0,			/* dst_mask */
348	 false),			/* pc_offset */
349  HOWTO (R_KVX_S43_GOTOFF_UP27,			/* type */
350	 10,				/* rightshift */
351	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
352	 27,				/* bitsize */
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 */
359	 0x0,				/* src_mask */
360	 0x7ffffff,			/* dst_mask */
361	 false),			/* pc_offset */
362  HOWTO (R_KVX_S43_GOTOFF_EX6,			/* type */
363	 37,				/* rightshift */
364	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
365	 6,				/* bitsize */
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 */
372	 0x0,				/* src_mask */
373	 0x3f,			/* dst_mask */
374	 false),			/* pc_offset */
375  HOWTO (R_KVX_32_GOTOFF,			/* type */
376	 0,				/* rightshift */
377	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
378	 32,				/* bitsize */
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 */
385	 0x0,				/* src_mask */
386	 0xffffffff,			/* dst_mask */
387	 false),			/* pc_offset */
388  HOWTO (R_KVX_64_GOTOFF,			/* type */
389	 0,				/* rightshift */
390	 8,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
391	 64,				/* bitsize */
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 */
398	 0x0,				/* src_mask */
399	 0xffffffffffffffff,			/* dst_mask */
400	 false),			/* pc_offset */
401  HOWTO (R_KVX_32_GOT,			/* type */
402	 0,				/* rightshift */
403	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
404	 32,				/* bitsize */
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 */
411	 0x0,				/* src_mask */
412	 0xffffffff,			/* dst_mask */
413	 false),			/* pc_offset */
414  HOWTO (R_KVX_S37_GOT_LO10,			/* type */
415	 0,				/* rightshift */
416	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
417	 10,				/* bitsize */
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 */
424	 0x0,				/* src_mask */
425	 0xffc0,			/* dst_mask */
426	 false),			/* pc_offset */
427  HOWTO (R_KVX_S37_GOT_UP27,			/* type */
428	 10,				/* rightshift */
429	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
430	 27,				/* bitsize */
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 */
437	 0x0,				/* src_mask */
438	 0x7ffffff,			/* dst_mask */
439	 false),			/* pc_offset */
440  HOWTO (R_KVX_S43_GOT_LO10,			/* type */
441	 0,				/* rightshift */
442	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
443	 10,				/* bitsize */
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 */
450	 0x0,				/* src_mask */
451	 0xffc0,			/* dst_mask */
452	 false),			/* pc_offset */
453  HOWTO (R_KVX_S43_GOT_UP27,			/* type */
454	 10,				/* rightshift */
455	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
456	 27,				/* bitsize */
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 */
463	 0x0,				/* src_mask */
464	 0x7ffffff,			/* dst_mask */
465	 false),			/* pc_offset */
466  HOWTO (R_KVX_S43_GOT_EX6,			/* type */
467	 37,				/* rightshift */
468	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
469	 6,				/* bitsize */
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 */
476	 0x0,				/* src_mask */
477	 0x3f,			/* dst_mask */
478	 false),			/* pc_offset */
479  HOWTO (R_KVX_64_GOT,			/* type */
480	 0,				/* rightshift */
481	 8,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
482	 64,				/* bitsize */
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 */
489	 0x0,				/* src_mask */
490	 0xffffffffffffffff,			/* dst_mask */
491	 false),			/* pc_offset */
492  HOWTO (R_KVX_GLOB_DAT,			/* type */
493	 0,				/* rightshift */
494	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
495	 32,				/* bitsize */
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 */
502	 0x0,				/* src_mask */
503	 0xffffffff,			/* dst_mask */
504	 false),			/* pc_offset */
505  HOWTO (R_KVX_COPY,			/* type */
506	 0,				/* rightshift */
507	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
508	 32,				/* bitsize */
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 */
515	 0x0,				/* src_mask */
516	 0xffffffff,			/* dst_mask */
517	 false),			/* pc_offset */
518  HOWTO (R_KVX_JMP_SLOT,			/* type */
519	 0,				/* rightshift */
520	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
521	 32,				/* bitsize */
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 */
528	 0x0,				/* src_mask */
529	 0xffffffff,			/* dst_mask */
530	 false),			/* pc_offset */
531  HOWTO (R_KVX_RELATIVE,			/* type */
532	 0,				/* rightshift */
533	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
534	 32,				/* bitsize */
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 */
541	 0x0,				/* src_mask */
542	 0xffffffff,			/* dst_mask */
543	 false),			/* pc_offset */
544  HOWTO (R_KVX_S43_LO10,			/* type */
545	 0,				/* rightshift */
546	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
547	 10,				/* bitsize */
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 */
554	 0x0,				/* src_mask */
555	 0xffc0,			/* dst_mask */
556	 false),			/* pc_offset */
557  HOWTO (R_KVX_S43_UP27,			/* type */
558	 10,				/* rightshift */
559	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
560	 27,				/* bitsize */
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 */
567	 0x0,				/* src_mask */
568	 0x7ffffff,			/* dst_mask */
569	 false),			/* pc_offset */
570  HOWTO (R_KVX_S43_EX6,			/* type */
571	 37,				/* rightshift */
572	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
573	 6,				/* bitsize */
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 */
580	 0x0,				/* src_mask */
581	 0x3f,			/* dst_mask */
582	 false),			/* pc_offset */
583  HOWTO (R_KVX_S64_LO10,			/* type */
584	 0,				/* rightshift */
585	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
586	 10,				/* bitsize */
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 */
593	 0x0,				/* src_mask */
594	 0xffc0,			/* dst_mask */
595	 false),			/* pc_offset */
596  HOWTO (R_KVX_S64_UP27,			/* type */
597	 10,				/* rightshift */
598	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
599	 27,				/* bitsize */
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 */
606	 0x0,				/* src_mask */
607	 0x7ffffff,			/* dst_mask */
608	 false),			/* pc_offset */
609  HOWTO (R_KVX_S64_EX27,			/* type */
610	 37,				/* rightshift */
611	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
612	 27,				/* bitsize */
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 */
619	 0x0,				/* src_mask */
620	 0x7ffffff,			/* dst_mask */
621	 false),			/* pc_offset */
622  HOWTO (R_KVX_S37_GOTADDR_LO10,			/* type */
623	 0,				/* rightshift */
624	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
625	 10,				/* bitsize */
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 */
632	 0x0,				/* src_mask */
633	 0xffc0,			/* dst_mask */
634	 true),			/* pc_offset */
635  HOWTO (R_KVX_S37_GOTADDR_UP27,			/* type */
636	 10,				/* rightshift */
637	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
638	 27,				/* bitsize */
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 */
645	 0x0,				/* src_mask */
646	 0x7ffffff,			/* dst_mask */
647	 true),			/* pc_offset */
648  HOWTO (R_KVX_S43_GOTADDR_LO10,			/* type */
649	 0,				/* rightshift */
650	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
651	 10,				/* bitsize */
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 */
658	 0x0,				/* src_mask */
659	 0xffc0,			/* dst_mask */
660	 true),			/* pc_offset */
661  HOWTO (R_KVX_S43_GOTADDR_UP27,			/* type */
662	 10,				/* rightshift */
663	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
664	 27,				/* bitsize */
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 */
671	 0x0,				/* src_mask */
672	 0x7ffffff,			/* dst_mask */
673	 true),			/* pc_offset */
674  HOWTO (R_KVX_S43_GOTADDR_EX6,			/* type */
675	 37,				/* rightshift */
676	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
677	 6,				/* bitsize */
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 */
684	 0x0,				/* src_mask */
685	 0x3f,			/* dst_mask */
686	 true),			/* pc_offset */
687  HOWTO (R_KVX_S64_GOTADDR_LO10,			/* type */
688	 0,				/* rightshift */
689	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
690	 10,				/* bitsize */
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 */
697	 0x0,				/* src_mask */
698	 0xffc0,			/* dst_mask */
699	 true),			/* pc_offset */
700  HOWTO (R_KVX_S64_GOTADDR_UP27,			/* type */
701	 10,				/* rightshift */
702	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
703	 27,				/* bitsize */
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 */
710	 0x0,				/* src_mask */
711	 0x7ffffff,			/* dst_mask */
712	 true),			/* pc_offset */
713  HOWTO (R_KVX_S64_GOTADDR_EX27,			/* type */
714	 37,				/* rightshift */
715	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
716	 27,				/* bitsize */
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 */
723	 0x0,				/* src_mask */
724	 0x7ffffff,			/* dst_mask */
725	 true),			/* pc_offset */
726  HOWTO (R_KVX_64_DTPMOD,			/* type */
727	 0,				/* rightshift */
728	 8,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
729	 64,				/* bitsize */
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 */
736	 0x0,				/* src_mask */
737	 0xffffffffffffffff,			/* dst_mask */
738	 false),			/* pc_offset */
739  HOWTO (R_KVX_64_DTPOFF,			/* type */
740	 0,				/* rightshift */
741	 8,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
742	 64,				/* bitsize */
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 */
749	 0x0,				/* src_mask */
750	 0xffffffffffffffff,			/* dst_mask */
751	 false),			/* pc_offset */
752  HOWTO (R_KVX_S37_TLS_DTPOFF_LO10,			/* type */
753	 0,				/* rightshift */
754	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
755	 10,				/* bitsize */
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 */
762	 0x0,				/* src_mask */
763	 0xffc0,			/* dst_mask */
764	 false),			/* pc_offset */
765  HOWTO (R_KVX_S37_TLS_DTPOFF_UP27,			/* type */
766	 10,				/* rightshift */
767	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
768	 27,				/* bitsize */
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 */
775	 0x0,				/* src_mask */
776	 0x7ffffff,			/* dst_mask */
777	 false),			/* pc_offset */
778  HOWTO (R_KVX_S43_TLS_DTPOFF_LO10,			/* type */
779	 0,				/* rightshift */
780	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
781	 10,				/* bitsize */
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 */
788	 0x0,				/* src_mask */
789	 0xffc0,			/* dst_mask */
790	 false),			/* pc_offset */
791  HOWTO (R_KVX_S43_TLS_DTPOFF_UP27,			/* type */
792	 10,				/* rightshift */
793	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
794	 27,				/* bitsize */
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 */
801	 0x0,				/* src_mask */
802	 0x7ffffff,			/* dst_mask */
803	 false),			/* pc_offset */
804  HOWTO (R_KVX_S43_TLS_DTPOFF_EX6,			/* type */
805	 37,				/* rightshift */
806	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
807	 6,				/* bitsize */
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 */
814	 0x0,				/* src_mask */
815	 0x3f,			/* dst_mask */
816	 false),			/* pc_offset */
817  HOWTO (R_KVX_S37_TLS_GD_LO10,			/* type */
818	 0,				/* rightshift */
819	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
820	 10,				/* bitsize */
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 */
827	 0x0,				/* src_mask */
828	 0xffc0,			/* dst_mask */
829	 false),			/* pc_offset */
830  HOWTO (R_KVX_S37_TLS_GD_UP27,			/* type */
831	 10,				/* rightshift */
832	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
833	 27,				/* bitsize */
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 */
840	 0x0,				/* src_mask */
841	 0x7ffffff,			/* dst_mask */
842	 false),			/* pc_offset */
843  HOWTO (R_KVX_S43_TLS_GD_LO10,			/* type */
844	 0,				/* rightshift */
845	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
846	 10,				/* bitsize */
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 */
853	 0x0,				/* src_mask */
854	 0xffc0,			/* dst_mask */
855	 false),			/* pc_offset */
856  HOWTO (R_KVX_S43_TLS_GD_UP27,			/* type */
857	 10,				/* rightshift */
858	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
859	 27,				/* bitsize */
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 */
866	 0x0,				/* src_mask */
867	 0x7ffffff,			/* dst_mask */
868	 false),			/* pc_offset */
869  HOWTO (R_KVX_S43_TLS_GD_EX6,			/* type */
870	 37,				/* rightshift */
871	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
872	 6,				/* bitsize */
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 */
879	 0x0,				/* src_mask */
880	 0x3f,			/* dst_mask */
881	 false),			/* pc_offset */
882  HOWTO (R_KVX_S37_TLS_LD_LO10,			/* type */
883	 0,				/* rightshift */
884	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
885	 10,				/* bitsize */
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 */
892	 0x0,				/* src_mask */
893	 0xffc0,			/* dst_mask */
894	 false),			/* pc_offset */
895  HOWTO (R_KVX_S37_TLS_LD_UP27,			/* type */
896	 10,				/* rightshift */
897	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
898	 27,				/* bitsize */
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 */
905	 0x0,				/* src_mask */
906	 0x7ffffff,			/* dst_mask */
907	 false),			/* pc_offset */
908  HOWTO (R_KVX_S43_TLS_LD_LO10,			/* type */
909	 0,				/* rightshift */
910	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
911	 10,				/* bitsize */
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 */
918	 0x0,				/* src_mask */
919	 0xffc0,			/* dst_mask */
920	 false),			/* pc_offset */
921  HOWTO (R_KVX_S43_TLS_LD_UP27,			/* type */
922	 10,				/* rightshift */
923	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
924	 27,				/* bitsize */
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 */
931	 0x0,				/* src_mask */
932	 0x7ffffff,			/* dst_mask */
933	 false),			/* pc_offset */
934  HOWTO (R_KVX_S43_TLS_LD_EX6,			/* type */
935	 37,				/* rightshift */
936	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
937	 6,				/* bitsize */
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 */
944	 0x0,				/* src_mask */
945	 0x3f,			/* dst_mask */
946	 false),			/* pc_offset */
947  HOWTO (R_KVX_64_TPOFF,			/* type */
948	 0,				/* rightshift */
949	 8,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
950	 64,				/* bitsize */
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 */
957	 0x0,				/* src_mask */
958	 0xffffffffffffffff,			/* dst_mask */
959	 false),			/* pc_offset */
960  HOWTO (R_KVX_S37_TLS_IE_LO10,			/* type */
961	 0,				/* rightshift */
962	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
963	 10,				/* bitsize */
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 */
970	 0x0,				/* src_mask */
971	 0xffc0,			/* dst_mask */
972	 false),			/* pc_offset */
973  HOWTO (R_KVX_S37_TLS_IE_UP27,			/* type */
974	 10,				/* rightshift */
975	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
976	 27,				/* bitsize */
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 */
983	 0x0,				/* src_mask */
984	 0x7ffffff,			/* dst_mask */
985	 false),			/* pc_offset */
986  HOWTO (R_KVX_S43_TLS_IE_LO10,			/* type */
987	 0,				/* rightshift */
988	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
989	 10,				/* bitsize */
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 */
996	 0x0,				/* src_mask */
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) */
1002	 27,				/* bitsize */
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 */
1009	 0x0,				/* src_mask */
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) */
1015	 6,				/* bitsize */
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 */
1022	 0x0,				/* src_mask */
1023	 0x3f,			/* dst_mask */
1024	 false),			/* pc_offset */
1025  HOWTO (R_KVX_S37_TLS_LE_LO10,			/* type */
1026	 0,				/* rightshift */
1027	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
1028	 10,				/* bitsize */
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 */
1035	 0x0,				/* src_mask */
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) */
1041	 27,				/* bitsize */
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 */
1048	 0x0,				/* src_mask */
1049	 0x7ffffff,			/* dst_mask */
1050	 false),			/* pc_offset */
1051  HOWTO (R_KVX_S43_TLS_LE_LO10,			/* type */
1052	 0,				/* rightshift */
1053	 4,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
1054	 10,				/* bitsize */
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 */
1061	 0x0,				/* src_mask */
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) */
1067	 27,				/* bitsize */
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 */
1074	 0x0,				/* src_mask */
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) */
1080	 6,				/* bitsize */
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 */
1087	 0x0,				/* src_mask */
1088	 0x3f,			/* dst_mask */
1089	 false),			/* pc_offset */
1090  HOWTO (R_KVX_8,			/* type */
1091	 0,				/* rightshift */
1092	 1,				/* size (0 = byte, 1 = short, 2 = long, 3 = invalid, 4 = 64bits, 8 = 128bits) */
1093	 8,				/* bitsize */
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 */
1100	 0x0,				/* src_mask */
1101	 0xff,			/* dst_mask */
1102	 false),			/* pc_offset */
1103};
1104
1105#endif /* KVX_KV3_V1_KV3_V2_KV4_V1 */
1106