libbfd.h revision 1.10 1 /* DO NOT EDIT! -*- buffer-read-only: t -*- This file is automatically
2 generated from "libbfd-in.h", "libbfd.c", "bfd.c", "bfdio.c",
3 "archive.c", "archures.c", "cache.c", "hash.c", "linker.c", "opncls.c",
4 "reloc.c", "section.c", "stabs.c" and "targets.c".
5 Run "make headers" in your build bfd/ to regenerate. */
6
7 /* libbfd.h -- Declarations used by bfd library *implementation*.
8 (This include file is not for users of the library.)
9
10 Copyright (C) 1990-2025 Free Software Foundation, Inc.
11
12 Written by Cygnus Support.
13
14 This file is part of BFD, the Binary File Descriptor library.
15
16 This program is free software; you can redistribute it and/or modify
17 it under the terms of the GNU General Public License as published by
18 the Free Software Foundation; either version 3 of the License, or
19 (at your option) any later version.
20
21 This program is distributed in the hope that it will be useful,
22 but WITHOUT ANY WARRANTY; without even the implied warranty of
23 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 GNU General Public License for more details.
25
26 You should have received a copy of the GNU General Public License
27 along with this program; if not, write to the Free Software
28 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
29 MA 02110-1301, USA. */
30
31 #ifndef _LIBBFD_H
32 #define _LIBBFD_H 1
33
34 #ifndef ATTRIBUTE_HIDDEN
35 #if HAVE_HIDDEN
36 #define ATTRIBUTE_HIDDEN __attribute__ ((__visibility__ ("hidden")))
37 #else
38 #define ATTRIBUTE_HIDDEN
39 #endif
40 #endif
41
42 #include "hashtab.h"
43
44 #ifdef __cplusplus
45 extern "C" {
46 #endif
47
48 /* Set a tdata field. Can't use the other macros for this, since they
49 do casts, and casting to the left of assignment isn't portable. */
50 #define set_tdata(bfd, v) ((bfd)->tdata.any = (v))
51
52 /* If BFD_IN_MEMORY is set for a BFD, then the iostream fields points
53 to an instance of this structure. */
54
55 struct bfd_in_memory
56 {
57 /* Size of buffer. */
58 bfd_size_type size;
59 /* Buffer holding contents of BFD. */
60 bfd_byte *buffer;
61 };
62
63 struct section_hash_entry
64 {
65 struct bfd_hash_entry root;
66 asection section;
67 };
68
69 /* Unique section id. */
70 extern unsigned int _bfd_section_id ATTRIBUTE_HIDDEN;
71
72 /* tdata for an archive. For an input archive, cache
73 needs to be free()'d. For an output archive, symdefs do. */
74
75 struct artdata
76 {
77 ufile_ptr first_file_filepos;
78 /* Speed up searching the armap */
79 htab_t cache;
80 carsym *symdefs; /* The symdef entries. */
81 symindex symdef_count; /* How many there are. */
82 char *extended_names; /* Clever intel extension. */
83 bfd_size_type extended_names_size; /* Size of extended names. */
84 /* When more compilers are standard C, this can be a time_t. */
85 long armap_timestamp; /* Timestamp value written into armap.
86 This is used for BSD archives to check
87 that the timestamp is recent enough
88 for the BSD linker to not complain,
89 just before we finish writing an
90 archive. */
91 file_ptr armap_datepos; /* Position within archive to seek to
92 rewrite the date field. */
93 void *tdata; /* Backend specific information. */
94 };
95
96 #define bfd_ardata(bfd) ((bfd)->tdata.aout_ar_data)
97
98 /* Goes in bfd's arelt_data slot */
99 struct areltdata
100 {
101 char * arch_header; /* It's actually a string. */
102 bfd_size_type parsed_size; /* Octets of filesize not including ar_hdr. */
103 bfd_size_type extra_size; /* BSD4.4: extra bytes after the header. */
104 char *filename; /* Null-terminated. */
105 file_ptr origin; /* For element of a thin archive. */
106 void *parent_cache; /* Where and how to find this member. */
107 file_ptr key;
108 };
109
110 #define arelt_size(bfd) (((struct areltdata *)((bfd)->arelt_data))->parsed_size)
111
112 extern void *bfd_malloc
113 (bfd_size_type) ATTRIBUTE_HIDDEN;
114
115 static inline char *
116 bfd_strdup (const char *str)
117 {
118 size_t len = strlen (str) + 1;
119 char *buf = bfd_malloc (len);
120 if (buf != NULL)
121 memcpy (buf, str, len);
122 return buf;
123 }
124
125 extern bfd * _bfd_create_empty_archive_element_shell
126 (bfd *) ATTRIBUTE_HIDDEN;
127 extern bfd * _bfd_look_for_bfd_in_cache
128 (bfd *, file_ptr) ATTRIBUTE_HIDDEN;
129 extern bool _bfd_add_bfd_to_archive_cache
130 (bfd *, file_ptr, bfd *) ATTRIBUTE_HIDDEN;
131 extern bool _bfd_generic_mkarchive
132 (bfd *) ATTRIBUTE_HIDDEN;
133 extern char *_bfd_append_relative_path
134 (bfd *, char *) ATTRIBUTE_HIDDEN;
135 extern bfd_cleanup bfd_generic_archive_p
136 (bfd *) ATTRIBUTE_HIDDEN;
137 extern bool bfd_slurp_armap
138 (bfd *) ATTRIBUTE_HIDDEN;
139 #define bfd_slurp_bsd_armap bfd_slurp_armap
140 #define bfd_slurp_coff_armap bfd_slurp_armap
141 extern bool _bfd_archive_64_bit_slurp_armap
142 (bfd *) ATTRIBUTE_HIDDEN;
143 extern bool _bfd_archive_64_bit_write_armap
144 (bfd *, unsigned int, struct orl *, unsigned int, int) ATTRIBUTE_HIDDEN;
145 #define _bfd_archive_64_bit_slurp_extended_name_table \
146 _bfd_slurp_extended_name_table
147 #define _bfd_archive_64_bit_construct_extended_name_table \
148 _bfd_archive_coff_construct_extended_name_table
149 #define _bfd_archive_64_bit_truncate_arname \
150 bfd_dont_truncate_arname
151 #define _bfd_archive_64_bit_read_ar_hdr \
152 _bfd_generic_read_ar_hdr
153 #define _bfd_archive_64_bit_write_ar_hdr \
154 _bfd_generic_write_ar_hdr
155 #define _bfd_archive_64_bit_openr_next_archived_file \
156 bfd_generic_openr_next_archived_file
157 #define _bfd_archive_64_bit_get_elt_at_index \
158 _bfd_generic_get_elt_at_index
159 #define _bfd_archive_64_bit_generic_stat_arch_elt \
160 bfd_generic_stat_arch_elt
161 #define _bfd_archive_64_bit_update_armap_timestamp _bfd_bool_bfd_true
162
163 extern bool _bfd_slurp_extended_name_table
164 (bfd *) ATTRIBUTE_HIDDEN;
165 extern bool _bfd_construct_extended_name_table
166 (bfd *, bool, char **, bfd_size_type *) ATTRIBUTE_HIDDEN;
167 extern bool _bfd_write_archive_contents
168 (bfd *) ATTRIBUTE_HIDDEN;
169 extern bool _bfd_compute_and_write_armap
170 (bfd *, unsigned int) ATTRIBUTE_HIDDEN;
171 extern bfd *_bfd_get_elt_at_filepos
172 (bfd *, file_ptr, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
173 extern bfd *_bfd_generic_get_elt_at_index
174 (bfd *, symindex) ATTRIBUTE_HIDDEN;
175
176 extern bool _bfd_bool_bfd_false
177 (bfd *) ATTRIBUTE_HIDDEN;
178 extern bool _bfd_bool_bfd_asymbol_false
179 (bfd *, asymbol *) ATTRIBUTE_HIDDEN;
180 extern bool _bfd_bool_bfd_false_error
181 (bfd *) ATTRIBUTE_HIDDEN;
182 extern bool _bfd_bool_bfd_link_false_error
183 (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
184 extern bool _bfd_bool_bfd_true
185 (bfd *) ATTRIBUTE_HIDDEN;
186 extern bool _bfd_bool_bfd_link_true
187 (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
188 extern bool _bfd_bool_bfd_bfd_true
189 (bfd *, bfd *) ATTRIBUTE_HIDDEN;
190 extern bool _bfd_bool_bfd_uint_true
191 (bfd *, unsigned int) ATTRIBUTE_HIDDEN;
192 extern bool _bfd_bool_bfd_asection_bfd_asection_true
193 (bfd *, asection *, bfd *, asection *) ATTRIBUTE_HIDDEN;
194 extern bool _bfd_bool_bfd_asymbol_bfd_asymbol_true
195 (bfd *, asymbol *, bfd *, asymbol *) ATTRIBUTE_HIDDEN;
196 extern bool _bfd_bool_bfd_ptr_true
197 (bfd *, void *) ATTRIBUTE_HIDDEN;
198 extern void *_bfd_ptr_bfd_null_error
199 (bfd *) ATTRIBUTE_HIDDEN;
200 extern int _bfd_int_bfd_0
201 (bfd *) ATTRIBUTE_HIDDEN;
202 extern unsigned int _bfd_uint_bfd_0
203 (bfd *) ATTRIBUTE_HIDDEN;
204 extern long _bfd_long_bfd_0
205 (bfd *) ATTRIBUTE_HIDDEN;
206 extern long _bfd_long_bfd_n1_error
207 (bfd *) ATTRIBUTE_HIDDEN;
208 extern void _bfd_void_bfd
209 (bfd *) ATTRIBUTE_HIDDEN;
210 extern void _bfd_void_bfd_link
211 (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
212 extern void _bfd_void_bfd_asection
213 (bfd *, asection *) ATTRIBUTE_HIDDEN;
214
215 extern bfd_cleanup _bfd_dummy_target
216 (bfd *) ATTRIBUTE_HIDDEN;
217 #define _bfd_no_cleanup _bfd_void_bfd
218
219 extern void bfd_dont_truncate_arname
220 (bfd *, const char *, char *) ATTRIBUTE_HIDDEN;
221 extern void bfd_bsd_truncate_arname
222 (bfd *, const char *, char *) ATTRIBUTE_HIDDEN;
223 extern void bfd_gnu_truncate_arname
224 (bfd *, const char *, char *) ATTRIBUTE_HIDDEN;
225
226 extern bool _bfd_bsd_write_armap
227 (bfd *, unsigned int, struct orl *, unsigned int, int) ATTRIBUTE_HIDDEN;
228
229 extern bool _bfd_coff_write_armap
230 (bfd *, unsigned int, struct orl *, unsigned int, int) ATTRIBUTE_HIDDEN;
231
232 extern void *_bfd_generic_read_ar_hdr
233 (bfd *) ATTRIBUTE_HIDDEN;
234 extern void _bfd_ar_spacepad
235 (char *, size_t, const char *, long) ATTRIBUTE_HIDDEN;
236 extern bool _bfd_ar_sizepad
237 (char *, size_t, bfd_size_type) ATTRIBUTE_HIDDEN;
238
239 extern void *_bfd_generic_read_ar_hdr_mag
240 (bfd *, const char *) ATTRIBUTE_HIDDEN;
241
242 extern bool _bfd_generic_write_ar_hdr
243 (bfd *, bfd *) ATTRIBUTE_HIDDEN;
244
245 extern bool _bfd_bsd44_write_ar_hdr
246 (bfd *, bfd *) ATTRIBUTE_HIDDEN;
247
248 extern bfd * bfd_generic_openr_next_archived_file
249 (bfd *, bfd *) ATTRIBUTE_HIDDEN;
250
251 extern int bfd_generic_stat_arch_elt
252 (bfd *, struct stat *) ATTRIBUTE_HIDDEN;
253
254 #define _bfd_read_ar_hdr(abfd) \
255 BFD_SEND (abfd, _bfd_read_ar_hdr_fn, (abfd))
256 #define _bfd_write_ar_hdr(archive, abfd) \
257 BFD_SEND (archive, _bfd_write_ar_hdr_fn, (archive, abfd))
258
259 /* Generic routines to use for BFD_JUMP_TABLE_GENERIC. Use
261 BFD_JUMP_TABLE_GENERIC (_bfd_generic). */
262
263 #define _bfd_generic_close_and_cleanup _bfd_archive_close_and_cleanup
264 extern bool _bfd_archive_close_and_cleanup
265 (bfd *) ATTRIBUTE_HIDDEN;
266 extern void _bfd_unlink_from_archive_parent (bfd *) ATTRIBUTE_HIDDEN;
267 #define _bfd_generic_bfd_free_cached_info _bfd_free_cached_info
268 extern bool _bfd_generic_new_section_hook
269 (bfd *, asection *) ATTRIBUTE_HIDDEN;
270 extern bool _bfd_generic_get_section_contents
271 (bfd *, asection *, void *, file_ptr, bfd_size_type) ATTRIBUTE_HIDDEN;
272
273 /* Generic routines to use for BFD_JUMP_TABLE_COPY. Use
274 BFD_JUMP_TABLE_COPY (_bfd_generic). */
275
276 #define _bfd_generic_bfd_copy_private_bfd_data _bfd_bool_bfd_bfd_true
277 #define _bfd_generic_bfd_merge_private_bfd_data \
278 _bfd_bool_bfd_link_true
279 #define _bfd_generic_bfd_set_private_flags _bfd_bool_bfd_uint_true
280 extern bool _bfd_generic_bfd_copy_private_section_data
281 (bfd *, asection *, bfd *, asection *, struct bfd_link_info *)
282 ATTRIBUTE_HIDDEN;
283 #define _bfd_generic_bfd_copy_private_symbol_data \
284 _bfd_bool_bfd_asymbol_bfd_asymbol_true
285 #define _bfd_generic_bfd_copy_private_header_data _bfd_bool_bfd_bfd_true
286 #define _bfd_generic_bfd_print_private_bfd_data _bfd_bool_bfd_ptr_true
287
288 /* Routines to use for BFD_JUMP_TABLE_CORE when there is no core file
289 support. Use BFD_JUMP_TABLE_CORE (_bfd_nocore). */
290
291 extern char *_bfd_nocore_core_file_failing_command
292 (bfd *) ATTRIBUTE_HIDDEN;
293 extern int _bfd_nocore_core_file_failing_signal
294 (bfd *) ATTRIBUTE_HIDDEN;
295 extern bool _bfd_nocore_core_file_matches_executable_p
296 (bfd *, bfd *) ATTRIBUTE_HIDDEN;
297 extern int _bfd_nocore_core_file_pid
298 (bfd *) ATTRIBUTE_HIDDEN;
299
300 /* Routines to use for BFD_JUMP_TABLE_ARCHIVE when there is no archive
301 file support. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive). */
302
303 #define _bfd_noarchive_slurp_armap _bfd_bool_bfd_false_error
304 #define _bfd_noarchive_slurp_extended_name_table _bfd_bool_bfd_false_error
305 extern bool _bfd_noarchive_construct_extended_name_table
306 (bfd *, char **, bfd_size_type *, const char **) ATTRIBUTE_HIDDEN;
307 extern void _bfd_noarchive_truncate_arname
308 (bfd *, const char *, char *) ATTRIBUTE_HIDDEN;
309 extern bool _bfd_noarchive_write_armap
310 (bfd *, unsigned int, struct orl *, unsigned int, int) ATTRIBUTE_HIDDEN;
311 #define _bfd_noarchive_read_ar_hdr _bfd_ptr_bfd_null_error
312 extern bool _bfd_noarchive_write_ar_hdr
313 (bfd *, bfd *) ATTRIBUTE_HIDDEN;
314 extern bfd *
315 _bfd_noarchive_openr_next_archived_file
316 (bfd *, bfd *) ATTRIBUTE_HIDDEN;
317 extern bfd * _bfd_noarchive_get_elt_at_index
318 (bfd *, symindex) ATTRIBUTE_HIDDEN;
319 #define _bfd_noarchive_generic_stat_arch_elt bfd_generic_stat_arch_elt
320 #define _bfd_noarchive_update_armap_timestamp _bfd_bool_bfd_false_error
321
322 /* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get BSD style
323 archives. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_bsd). */
324
325 #define _bfd_archive_bsd_slurp_armap bfd_slurp_bsd_armap
326 #define _bfd_archive_bsd_slurp_extended_name_table \
327 _bfd_slurp_extended_name_table
328 extern bool _bfd_archive_bsd_construct_extended_name_table
329 (bfd *, char **, bfd_size_type *, const char **) ATTRIBUTE_HIDDEN;
330 #define _bfd_archive_bsd_truncate_arname bfd_bsd_truncate_arname
331 #define _bfd_archive_bsd_write_armap _bfd_bsd_write_armap
332 #define _bfd_archive_bsd_read_ar_hdr _bfd_generic_read_ar_hdr
333 #define _bfd_archive_bsd_write_ar_hdr _bfd_generic_write_ar_hdr
334 #define _bfd_archive_bsd_openr_next_archived_file \
335 bfd_generic_openr_next_archived_file
336 #define _bfd_archive_bsd_get_elt_at_index _bfd_generic_get_elt_at_index
337 #define _bfd_archive_bsd_generic_stat_arch_elt \
338 bfd_generic_stat_arch_elt
339 extern bool _bfd_archive_bsd_update_armap_timestamp
340 (bfd *) ATTRIBUTE_HIDDEN;
341
342 /* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get COFF style
343 archives. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff). */
344
345 #define _bfd_archive_coff_slurp_armap bfd_slurp_coff_armap
346 #define _bfd_archive_coff_slurp_extended_name_table \
347 _bfd_slurp_extended_name_table
348 extern bool _bfd_archive_coff_construct_extended_name_table
349 (bfd *, char **, bfd_size_type *, const char **) ATTRIBUTE_HIDDEN;
350 #define _bfd_archive_coff_truncate_arname bfd_dont_truncate_arname
351 #define _bfd_archive_coff_write_armap _bfd_coff_write_armap
352 #define _bfd_archive_coff_read_ar_hdr _bfd_generic_read_ar_hdr
353 #define _bfd_archive_coff_write_ar_hdr _bfd_generic_write_ar_hdr
354 #define _bfd_archive_coff_openr_next_archived_file \
355 bfd_generic_openr_next_archived_file
356 #define _bfd_archive_coff_get_elt_at_index _bfd_generic_get_elt_at_index
357 #define _bfd_archive_coff_generic_stat_arch_elt \
358 bfd_generic_stat_arch_elt
359 #define _bfd_archive_coff_update_armap_timestamp _bfd_bool_bfd_true
360
361 /* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get BSD4.4 style
362 archives. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_bsd44). */
363
364 #define _bfd_archive_bsd44_slurp_armap bfd_slurp_bsd_armap
365 #define _bfd_archive_bsd44_slurp_extended_name_table \
366 _bfd_slurp_extended_name_table
367 extern bool _bfd_archive_bsd44_construct_extended_name_table
368 (bfd *, char **, bfd_size_type *, const char **) ATTRIBUTE_HIDDEN;
369 #define _bfd_archive_bsd44_truncate_arname bfd_bsd_truncate_arname
370 #define _bfd_archive_bsd44_write_armap _bfd_bsd_write_armap
371 #define _bfd_archive_bsd44_read_ar_hdr _bfd_generic_read_ar_hdr
372 #define _bfd_archive_bsd44_write_ar_hdr _bfd_bsd44_write_ar_hdr
373 #define _bfd_archive_bsd44_openr_next_archived_file \
374 bfd_generic_openr_next_archived_file
375 #define _bfd_archive_bsd44_get_elt_at_index _bfd_generic_get_elt_at_index
376 #define _bfd_archive_bsd44_generic_stat_arch_elt \
377 bfd_generic_stat_arch_elt
378 #define _bfd_archive_bsd44_update_armap_timestamp \
379 _bfd_archive_bsd_update_armap_timestamp
380
381 /* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get VMS style
382 archives. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_vms_lib). Some of them
383 are irrelevant. */
384
385 extern bool _bfd_vms_lib_write_archive_contents
386 (bfd *) ATTRIBUTE_HIDDEN;
387 #define _bfd_vms_lib_slurp_armap _bfd_noarchive_slurp_armap
388 #define _bfd_vms_lib_slurp_extended_name_table \
389 _bfd_noarchive_slurp_extended_name_table
390 #define _bfd_vms_lib_construct_extended_name_table \
391 _bfd_noarchive_construct_extended_name_table
392 #define _bfd_vms_lib_truncate_arname _bfd_noarchive_truncate_arname
393 #define _bfd_vms_lib_write_armap _bfd_noarchive_write_armap
394 #define _bfd_vms_lib_read_ar_hdr _bfd_noarchive_read_ar_hdr
395 #define _bfd_vms_lib_write_ar_hdr _bfd_noarchive_write_ar_hdr
396 extern bfd *_bfd_vms_lib_openr_next_archived_file
397 (bfd *, bfd *) ATTRIBUTE_HIDDEN;
398 extern bfd *_bfd_vms_lib_get_elt_at_index
399 (bfd *, symindex) ATTRIBUTE_HIDDEN;
400 extern int _bfd_vms_lib_generic_stat_arch_elt
401 (bfd *, struct stat *) ATTRIBUTE_HIDDEN;
402 #define _bfd_vms_lib_update_armap_timestamp _bfd_bool_bfd_true
403
404 /* Extra routines for VMS style archives. */
405
406 extern symindex _bfd_vms_lib_find_symbol
407 (bfd *, const char *) ATTRIBUTE_HIDDEN;
408 extern bfd *_bfd_vms_lib_get_imagelib_file
409 (bfd *) ATTRIBUTE_HIDDEN;
410 extern bfd_cleanup _bfd_vms_lib_alpha_archive_p
411 (bfd *) ATTRIBUTE_HIDDEN;
412 extern bfd_cleanup _bfd_vms_lib_ia64_archive_p
413 (bfd *) ATTRIBUTE_HIDDEN;
414 extern bool _bfd_vms_lib_alpha_mkarchive
415 (bfd *) ATTRIBUTE_HIDDEN;
416 extern bool _bfd_vms_lib_ia64_mkarchive
417 (bfd *) ATTRIBUTE_HIDDEN;
418
419 /* Routines to use for BFD_JUMP_TABLE_SYMBOLS where there is no symbol
420 support. Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols). */
421
422 #define _bfd_nosymbols_get_symtab_upper_bound _bfd_long_bfd_0
423 extern long _bfd_nosymbols_canonicalize_symtab
424 (bfd *, asymbol **) ATTRIBUTE_HIDDEN;
425 #define _bfd_nosymbols_make_empty_symbol _bfd_generic_make_empty_symbol
426 extern void _bfd_nosymbols_print_symbol
427 (bfd *, void *, asymbol *, bfd_print_symbol_type) ATTRIBUTE_HIDDEN;
428 extern void _bfd_nosymbols_get_symbol_info
429 (bfd *, asymbol *, symbol_info *) ATTRIBUTE_HIDDEN;
430 extern const char * _bfd_nosymbols_get_symbol_version_string
431 (bfd *, asymbol *, bool, bool *) ATTRIBUTE_HIDDEN;
432 extern bool _bfd_nosymbols_bfd_is_local_label_name
433 (bfd *, const char *) ATTRIBUTE_HIDDEN;
434 #define _bfd_nosymbols_bfd_is_target_special_symbol _bfd_bool_bfd_asymbol_false
435 extern alent *_bfd_nosymbols_get_lineno
436 (bfd *, asymbol *) ATTRIBUTE_HIDDEN;
437 extern bool _bfd_nosymbols_find_nearest_line
438 (bfd *, asymbol **, asection *, bfd_vma,
439 const char **, const char **, unsigned int *, unsigned int *)
440 ATTRIBUTE_HIDDEN;
441 extern bool _bfd_nosymbols_find_nearest_line_with_alt
442 (bfd *, const char *, asymbol **, asection *, bfd_vma,
443 const char **, const char **, unsigned int *, unsigned int *)
444 ATTRIBUTE_HIDDEN;
445 extern bool _bfd_nosymbols_find_line
446 (bfd *, asymbol **, asymbol *, const char **, unsigned int *)
447 ATTRIBUTE_HIDDEN;
448 extern bool _bfd_nosymbols_find_inliner_info
449 (bfd *, const char **, const char **, unsigned int *) ATTRIBUTE_HIDDEN;
450 extern asymbol *_bfd_nosymbols_bfd_make_debug_symbol
451 (bfd *) ATTRIBUTE_HIDDEN;
452 extern long _bfd_nosymbols_read_minisymbols
453 (bfd *, bool, void **, unsigned int *) ATTRIBUTE_HIDDEN;
454 extern asymbol *_bfd_nosymbols_minisymbol_to_symbol
455 (bfd *, bool, const void *, asymbol *) ATTRIBUTE_HIDDEN;
456
457 /* Routines to use for BFD_JUMP_TABLE_RELOCS when there is no reloc
458 support. Use BFD_JUMP_TABLE_RELOCS (_bfd_norelocs). */
459
460 extern long _bfd_norelocs_get_reloc_upper_bound
461 (bfd *, asection *) ATTRIBUTE_HIDDEN;
462 extern long _bfd_norelocs_canonicalize_reloc
463 (bfd *, asection *, arelent **, asymbol **) ATTRIBUTE_HIDDEN;
464 extern void _bfd_norelocs_set_reloc
465 (bfd *, asection *, arelent **, unsigned int) ATTRIBUTE_HIDDEN;
466 extern reloc_howto_type *_bfd_norelocs_bfd_reloc_type_lookup
467 (bfd *, bfd_reloc_code_real_type) ATTRIBUTE_HIDDEN;
468 extern reloc_howto_type *_bfd_norelocs_bfd_reloc_name_lookup
469 (bfd *, const char *) ATTRIBUTE_HIDDEN;
470
471 /* Routines to use for BFD_JUMP_TABLE_WRITE for targets which may not
472 be written. Use BFD_JUMP_TABLE_WRITE (_bfd_nowrite). */
473
474 extern bool _bfd_nowrite_set_arch_mach
475 (bfd *, enum bfd_architecture, unsigned long) ATTRIBUTE_HIDDEN;
476 extern bool _bfd_nowrite_set_section_contents
477 (bfd *, asection *, const void *, file_ptr, bfd_size_type) ATTRIBUTE_HIDDEN;
478
479 /* Generic routines to use for BFD_JUMP_TABLE_WRITE. Use
480 BFD_JUMP_TABLE_WRITE (_bfd_generic). */
481
482 #define _bfd_generic_set_arch_mach bfd_default_set_arch_mach
483 extern bool _bfd_generic_set_section_contents
484 (bfd *, asection *, const void *, file_ptr, bfd_size_type) ATTRIBUTE_HIDDEN;
485
486 /* Routines to use for BFD_JUMP_TABLE_LINK for targets which do not
487 support linking. Use BFD_JUMP_TABLE_LINK (_bfd_nolink). */
488
489 extern int _bfd_nolink_sizeof_headers
490 (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
491 extern bfd_byte *_bfd_nolink_bfd_get_relocated_section_contents
492 (bfd *, struct bfd_link_info *, struct bfd_link_order *,
493 bfd_byte *, bool, asymbol **) ATTRIBUTE_HIDDEN;
494 extern bool _bfd_nolink_bfd_relax_section
495 (bfd *, asection *, struct bfd_link_info *, bool *) ATTRIBUTE_HIDDEN;
496 #define _bfd_nolink_bfd_gc_sections _bfd_bool_bfd_link_false_error
497 extern bool _bfd_nolink_bfd_lookup_section_flags
498 (struct bfd_link_info *, struct flag_info *, asection *) ATTRIBUTE_HIDDEN;
499 #define _bfd_nolink_bfd_merge_sections _bfd_bool_bfd_link_false_error
500 extern bool _bfd_nolink_bfd_is_group_section
501 (bfd *, const asection *) ATTRIBUTE_HIDDEN;
502 extern const char *_bfd_nolink_bfd_group_name
503 (bfd *, const asection *) ATTRIBUTE_HIDDEN;
504 extern bool _bfd_nolink_bfd_discard_group
505 (bfd *, asection *) ATTRIBUTE_HIDDEN;
506 extern struct bfd_link_hash_table *_bfd_nolink_bfd_link_hash_table_create
507 (bfd *) ATTRIBUTE_HIDDEN;
508 #define _bfd_nolink_bfd_link_add_symbols _bfd_bool_bfd_link_false_error
509 extern void _bfd_nolink_bfd_link_just_syms
510 (asection *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
511 extern void _bfd_nolink_bfd_copy_link_hash_symbol_type
512 (bfd *, struct bfd_link_hash_entry *, struct bfd_link_hash_entry *)
513 ATTRIBUTE_HIDDEN;
514 #define _bfd_nolink_bfd_final_link _bfd_bool_bfd_link_false_error
515 extern bool _bfd_nolink_bfd_link_split_section
516 (bfd *, struct bfd_section *) ATTRIBUTE_HIDDEN;
517 extern bool _bfd_nolink_section_already_linked
518 (bfd *, asection *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
519 extern bool _bfd_nolink_bfd_define_common_symbol
520 (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *)
521 ATTRIBUTE_HIDDEN;
522 #define _bfd_nolink_bfd_link_hide_symbol \
523 _bfd_generic_link_hide_symbol
524 extern struct bfd_link_hash_entry *_bfd_nolink_bfd_define_start_stop
525 (struct bfd_link_info *, const char *, asection *) ATTRIBUTE_HIDDEN;
526 #define _bfd_nolink_bfd_link_check_relocs \
527 _bfd_generic_link_check_relocs
528
529 /* Routines to use for BFD_JUMP_TABLE_DYNAMIC for targets which do not
530 have dynamic symbols or relocs. Use BFD_JUMP_TABLE_DYNAMIC
531 (_bfd_nodynamic). */
532
533 #define _bfd_nodynamic_get_dynamic_symtab_upper_bound _bfd_long_bfd_n1_error
534 #define _bfd_nodynamic_canonicalize_dynamic_symtab \
535 _bfd_nosymbols_canonicalize_symtab
536 extern long _bfd_nodynamic_get_synthetic_symtab
537 (bfd *, long, asymbol **, long, asymbol **, asymbol **) ATTRIBUTE_HIDDEN;
538 #define _bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_long_bfd_n1_error
539 extern long _bfd_nodynamic_canonicalize_dynamic_reloc
540 (bfd *, arelent **, asymbol **) ATTRIBUTE_HIDDEN;
541
542 /* Generic routine to determine of the given symbol is a local
544 label. */
545 extern bool bfd_generic_is_local_label_name
546 (bfd *, const char *) ATTRIBUTE_HIDDEN;
547
548 /* Generic minisymbol routines. */
549 extern long _bfd_generic_read_minisymbols
550 (bfd *, bool, void **, unsigned int *) ATTRIBUTE_HIDDEN;
551 extern asymbol *_bfd_generic_minisymbol_to_symbol
552 (bfd *, bool, const void *, asymbol *) ATTRIBUTE_HIDDEN;
553
554 /* Find the nearest line using .stab/.stabstr sections. */
555 extern bool _bfd_stab_section_find_nearest_line
556 (bfd *, asymbol **, asection *, bfd_vma, bool *,
557 const char **, const char **, unsigned int *, void **) ATTRIBUTE_HIDDEN;
558
559 /* Find the nearest line using DWARF 1 debugging information. */
560 extern bool _bfd_dwarf1_find_nearest_line
561 (bfd *, asymbol **, asection *, bfd_vma,
562 const char **, const char **, unsigned int *) ATTRIBUTE_HIDDEN;
563
564 /* Clean up the data used to handle DWARF 1 debugging information. */
565 extern void _bfd_dwarf1_cleanup_debug_info
566 (bfd *, void **) ATTRIBUTE_HIDDEN;
567
568 struct dwarf_debug_section
569 {
570 const char * uncompressed_name;
571 const char * compressed_name;
572 };
573
574 /* Map of uncompressed DWARF debug section name to compressed one. It
575 is terminated by NULL uncompressed_name. */
576
577 extern const struct dwarf_debug_section dwarf_debug_sections[] ATTRIBUTE_HIDDEN;
578
579 /* Find the nearest line using DWARF 2 debugging information. */
580 extern int _bfd_dwarf2_find_nearest_line
581 (bfd *, asymbol **, asymbol *, asection *, bfd_vma,
582 const char **, const char **, unsigned int *, unsigned int *,
583 const struct dwarf_debug_section *, void **) ATTRIBUTE_HIDDEN;
584
585 /* Find the nearest line using DWARF 2 debugging information, with
586 the option of specifying a .gnu_debugaltlink file. */
587 extern int _bfd_dwarf2_find_nearest_line_with_alt
588 (bfd *, const char *, asymbol **, asymbol *, asection *, bfd_vma,
589 const char **, const char **, unsigned int *, unsigned int *,
590 const struct dwarf_debug_section *, void **) ATTRIBUTE_HIDDEN;
591
592 /* Find the bias between DWARF addresses and real addresses. */
593 extern bfd_signed_vma _bfd_dwarf2_find_symbol_bias
594 (asymbol **, void **) ATTRIBUTE_HIDDEN;
595
596 /* Find inliner info after calling bfd_find_nearest_line. */
597 extern bool _bfd_dwarf2_find_inliner_info
598 (bfd *, const char **, const char **, unsigned int *, void **)
599 ATTRIBUTE_HIDDEN;
600
601 /* Read DWARF 2 debugging information. */
602 extern bool _bfd_dwarf2_slurp_debug_info
603 (bfd *, bfd *, const struct dwarf_debug_section *, asymbol **, void **,
604 bool) ATTRIBUTE_HIDDEN;
605
606 /* Clean up the data used to handle DWARF 2 debugging information. */
607 extern void _bfd_dwarf2_cleanup_debug_info
608 (bfd *, void **) ATTRIBUTE_HIDDEN;
609
610 extern void _bfd_stab_cleanup
611 (bfd *, void **) ATTRIBUTE_HIDDEN;
612
613 /* Create a new section entry. */
614 extern struct bfd_hash_entry *bfd_section_hash_newfunc
615 (struct bfd_hash_entry *, struct bfd_hash_table *, const char *)
616 ATTRIBUTE_HIDDEN;
617
618 /* A routine to create entries for a bfd_link_hash_table. */
619 extern struct bfd_hash_entry *_bfd_link_hash_newfunc
620 (struct bfd_hash_entry *entry, struct bfd_hash_table *table,
621 const char *string) ATTRIBUTE_HIDDEN;
622
623 /* Initialize a bfd_link_hash_table. */
624 extern bool _bfd_link_hash_table_init
625 (struct bfd_link_hash_table *, bfd *,
626 struct bfd_hash_entry *(*) (struct bfd_hash_entry *,
627 struct bfd_hash_table *,
628 const char *),
629 unsigned int) ATTRIBUTE_HIDDEN;
630
631 /* Generic link hash table creation routine. */
632 extern struct bfd_link_hash_table *_bfd_generic_link_hash_table_create
633 (bfd *) ATTRIBUTE_HIDDEN;
634
635 /* Generic link hash table destruction routine. */
636 extern void _bfd_generic_link_hash_table_free
637 (bfd *) ATTRIBUTE_HIDDEN;
638
639 /* Generic add symbol routine. */
640 extern bool _bfd_generic_link_add_symbols
641 (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
642
643 /* Generic archive add symbol routine. */
644 extern bool _bfd_generic_link_add_archive_symbols
645 (bfd *, struct bfd_link_info *,
646 bool (*) (bfd *, struct bfd_link_info *,
647 struct bfd_link_hash_entry *, const char *,
648 bool *)) ATTRIBUTE_HIDDEN;
649
650 /* Forward declaration to avoid prototype errors. */
651 typedef struct bfd_link_hash_entry _bfd_link_hash_entry;
652
653 /* Generic routine to mark section as supplying symbols only. */
654 extern void _bfd_generic_link_just_syms
655 (asection *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
656
657 /* Generic routine that does nothing. */
658 extern void _bfd_generic_copy_link_hash_symbol_type
659 (bfd *, struct bfd_link_hash_entry *, struct bfd_link_hash_entry *)
660 ATTRIBUTE_HIDDEN;
661
662 /* Generic link routine. */
663 extern bool _bfd_generic_final_link
664 (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
665
666 extern bool _bfd_generic_link_split_section
667 (bfd *, struct bfd_section *) ATTRIBUTE_HIDDEN;
668
669 extern bool _bfd_generic_section_already_linked
670 (bfd *, asection *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
671
672 /* Generic reloc_link_order processing routine. */
673 extern bool _bfd_generic_reloc_link_order
674 (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *)
675 ATTRIBUTE_HIDDEN;
676
677 /* Default link order processing routine. */
678 extern bool _bfd_default_link_order
679 (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *)
680 ATTRIBUTE_HIDDEN;
681
682 /* Count the number of reloc entries in a link order list. */
683 extern unsigned int _bfd_count_link_order_relocs
684 (struct bfd_link_order *) ATTRIBUTE_HIDDEN;
685
686 /* Final link relocation routine. */
687 extern bfd_reloc_status_type _bfd_final_link_relocate
688 (reloc_howto_type *, bfd *, asection *, bfd_byte *,
689 bfd_vma, bfd_vma, bfd_vma) ATTRIBUTE_HIDDEN;
690
691 /* Relocate a particular location by a howto and a value. */
692 extern bfd_reloc_status_type _bfd_relocate_contents
693 (reloc_howto_type *, bfd *, bfd_vma, bfd_byte *) ATTRIBUTE_HIDDEN;
694
695 /* Clear a given location using a given howto. */
696 extern bfd_reloc_status_type _bfd_clear_contents
697 (reloc_howto_type *, bfd *, asection *, bfd_byte *, bfd_vma) ATTRIBUTE_HIDDEN;
698
699 /* Register a SEC_MERGE section as a candidate for merging. */
700
701 extern bool _bfd_add_merge_section
702 (bfd *, void **, asection *, void **) ATTRIBUTE_HIDDEN;
703
704 /* Attempt to merge SEC_MERGE sections. */
705
706 extern bool _bfd_merge_sections
707 (bfd *, struct bfd_link_info *, void *, void (*) (bfd *, asection *))
708 ATTRIBUTE_HIDDEN;
709
710 /* Write out a merged section. */
711
712 extern bool _bfd_write_merged_section
713 (bfd *, asection *, void *) ATTRIBUTE_HIDDEN;
714
715 /* Find an offset within a modified SEC_MERGE section. */
716
717 extern bfd_vma _bfd_merged_section_offset
718 (bfd *, asection **, void *, bfd_vma) ATTRIBUTE_HIDDEN;
719
720 /* Tidy up when done. */
721
722 extern void _bfd_merge_sections_free (void *) ATTRIBUTE_HIDDEN;
723
724 /* Macros to tell if bfds are read or write enabled.
725
726 Note that bfds open for read may be scribbled into if the fd passed
727 to bfd_fdopenr is actually open both for read and write
728 simultaneously. However an output bfd will never be open for
729 read. Therefore sometimes you want to check bfd_read_p or
730 !bfd_read_p, and only sometimes bfd_write_p.
731 */
732
733 #define bfd_read_p(abfd) \
734 ((abfd)->direction == read_direction || (abfd)->direction == both_direction)
735 #define bfd_write_p(abfd) \
736 ((abfd)->direction == write_direction || (abfd)->direction == both_direction)
737
738 extern void bfd_assert
739 (const char*,int) ATTRIBUTE_HIDDEN;
740
741 #define BFD_ASSERT(x) \
742 do { if (!(x)) bfd_assert(__FILE__,__LINE__); } while (0)
743
744 #define BFD_FAIL() \
745 do { bfd_assert(__FILE__,__LINE__); } while (0)
746
747 extern void _bfd_abort
748 (const char *, int, const char *) ATTRIBUTE_NORETURN ATTRIBUTE_HIDDEN;
749
750 /* if gcc >= 2.6, we can give a function name, too */
751 #if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6)
752 #define __PRETTY_FUNCTION__ ((char *) NULL)
753 #endif
754
755 #undef abort
756 #define abort() _bfd_abort (__FILE__, __LINE__, __PRETTY_FUNCTION__)
757
758 /* Manipulate a system FILE but using BFD's "file_ptr", rather than
759 the system "off_t" or "off64_t", as the offset. */
760 extern file_ptr _bfd_real_ftell
761 (FILE *) ATTRIBUTE_HIDDEN;
762 extern int _bfd_real_fseek
763 (FILE *, file_ptr, int) ATTRIBUTE_HIDDEN;
764 extern FILE *_bfd_real_fopen
765 (const char *, const char *) ATTRIBUTE_HIDDEN;
766
767 /* List of supported target vectors, and the default vector (if
768 bfd_default_vector[0] is NULL, there is no default). */
769 extern const bfd_target *const *const bfd_target_vector ATTRIBUTE_HIDDEN;
770 extern const bfd_target *bfd_default_vector[] ATTRIBUTE_HIDDEN;
771
772 /* List of associated target vectors. */
773 extern const bfd_target *const *const bfd_associated_vector ATTRIBUTE_HIDDEN;
774
775 /* Functions shared by the ECOFF and MIPS ELF backends, which have no
776 other common header files. */
777
778 struct ecoff_debug_info;
779 struct ecoff_debug_swap;
780 struct ecoff_extr;
781 struct ecoff_find_line;
782
783 extern void _bfd_ecoff_free_ecoff_debug_info
784 (struct ecoff_debug_info *debug);
785 extern bool _bfd_ecoff_locate_line
786 (bfd *, asection *, bfd_vma, struct ecoff_debug_info * const,
787 const struct ecoff_debug_swap * const, struct ecoff_find_line *,
788 const char **, const char **, unsigned int *) ATTRIBUTE_HIDDEN;
789 extern bool _bfd_ecoff_get_accumulated_pdr
790 (void *, bfd_byte *) ATTRIBUTE_HIDDEN;
791 extern bool _bfd_ecoff_get_accumulated_sym
792 (void *, bfd_byte *) ATTRIBUTE_HIDDEN;
793 extern bool _bfd_ecoff_get_accumulated_ss
794 (void *, bfd_byte *) ATTRIBUTE_HIDDEN;
795
796 extern bfd_vma _bfd_get_gp_value
797 (bfd *) ATTRIBUTE_HIDDEN;
798 extern void _bfd_set_gp_value
799 (bfd *, bfd_vma) ATTRIBUTE_HIDDEN;
800
801 /* Function shared by the COFF and ELF SH backends, which have no
802 other common header files. */
803
804 #ifndef _bfd_sh_align_load_span
805 extern bool _bfd_sh_align_load_span
806 (bfd *, asection *, bfd_byte *,
807 bool (*) (bfd *, asection *, void *, bfd_byte *, bfd_vma),
808 void *, bfd_vma **, bfd_vma *, bfd_vma, bfd_vma, bool *) ATTRIBUTE_HIDDEN;
809 #endif
810
811 /* This is the shape of the elements inside the already_linked hash
812 table. It maps a name onto a list of already_linked elements with
813 the same name. */
814
815 struct bfd_section_already_linked_hash_entry
816 {
817 struct bfd_hash_entry root;
818 struct bfd_section_already_linked *entry;
819 };
820
821 struct bfd_section_already_linked
822 {
823 struct bfd_section_already_linked *next;
824 asection *sec;
825 };
826
827 extern struct bfd_section_already_linked_hash_entry *
828 bfd_section_already_linked_table_lookup (const char *) ATTRIBUTE_HIDDEN;
829 extern bool bfd_section_already_linked_table_insert
830 (struct bfd_section_already_linked_hash_entry *, asection *)
831 ATTRIBUTE_HIDDEN;
832 extern void bfd_section_already_linked_table_traverse
833 (bool (*) (struct bfd_section_already_linked_hash_entry *,
834 void *), void *) ATTRIBUTE_HIDDEN;
835
836 extern bfd_vma _bfd_read_unsigned_leb128
837 (bfd *, bfd_byte *, unsigned int *) ATTRIBUTE_HIDDEN;
838 extern bfd_signed_vma _bfd_read_signed_leb128
839 (bfd *, bfd_byte *, unsigned int *) ATTRIBUTE_HIDDEN;
840 extern bfd_vma _bfd_safe_read_leb128
841 (bfd *, bfd_byte **, bool, const bfd_byte * const) ATTRIBUTE_HIDDEN;
842 extern bfd_byte * _bfd_write_unsigned_leb128
843 (bfd_byte *, bfd_byte *, bfd_vma) ATTRIBUTE_HIDDEN;
844
845 extern struct bfd_link_info *_bfd_get_link_info (bfd *)
846 ATTRIBUTE_HIDDEN;
847
848 #ifdef HAVE_MMAP
849 extern uintptr_t _bfd_pagesize ATTRIBUTE_HIDDEN;
850 extern uintptr_t _bfd_pagesize_m1 ATTRIBUTE_HIDDEN;
851 extern uintptr_t _bfd_minimum_mmap_size ATTRIBUTE_HIDDEN;
852 #endif
853
854 #if GCC_VERSION >= 7000
855 #define _bfd_mul_overflow(a, b, res) __builtin_mul_overflow (a, b, res)
856 #else
857 /* Assumes unsigned values. Careful! Args evaluated multiple times. */
858 #define _bfd_mul_overflow(a, b, res) \
859 ((*res) = (a), (*res) *= (b), (b) != 0 && (*res) / (b) != (a))
860 #endif
861
862 #ifdef __GNUC__
863 #define _bfd_constant_p(v) __builtin_constant_p (v)
864 #else
865 #define _bfd_constant_p(v) 0
866 #endif
867
868 static inline void *
869 _bfd_alloc_and_read (bfd *abfd, bfd_size_type asize, bfd_size_type rsize)
870 {
871 void *mem;
872 if (!_bfd_constant_p (rsize))
873 {
874 ufile_ptr filesize = bfd_get_file_size (abfd);
875 if (filesize != 0 && rsize > filesize)
876 {
877 bfd_set_error (bfd_error_file_truncated);
878 return NULL;
879 }
880 }
881 mem = bfd_alloc (abfd, asize);
882 if (mem != NULL)
883 {
884 if (bfd_read (mem, rsize, abfd) == rsize)
885 return mem;
886 bfd_release (abfd, mem);
887 }
888 return NULL;
889 }
890
891 static inline void *
892 _bfd_malloc_and_read (bfd *abfd, bfd_size_type asize, bfd_size_type rsize)
893 {
894 void *mem;
895 if (!_bfd_constant_p (rsize))
896 {
897 ufile_ptr filesize = bfd_get_file_size (abfd);
898 if (filesize != 0 && rsize > filesize)
899 {
900 bfd_set_error (bfd_error_file_truncated);
901 return NULL;
902 }
903 }
904 mem = bfd_malloc (asize);
905 if (mem != NULL)
906 {
907 if (bfd_read (mem, rsize, abfd) == rsize)
908 return mem;
909 free (mem);
910 }
911 return NULL;
912 }
913
914 #ifdef USE_MMAP
915 extern void *_bfd_mmap_persistent
916 (bfd *, size_t) ATTRIBUTE_HIDDEN;
917 extern void *_bfd_mmap_temporary
918 (bfd *, size_t, void **, size_t *) ATTRIBUTE_HIDDEN;
919 extern void _bfd_munmap_temporary
920 (void *, size_t) ATTRIBUTE_HIDDEN;
921 #else
922 static inline void *
923 _bfd_mmap_persistent (bfd *abfd, size_t rsize)
924 {
925 return _bfd_alloc_and_read (abfd, rsize, rsize);
926 }
927 static inline void *
928 _bfd_mmap_temporary (bfd *abfd, size_t rsize, void **map_addr,
929 size_t *map_size)
930 {
931 void *mem = _bfd_malloc_and_read (abfd, rsize, rsize);
932 *map_addr = mem;
933 *map_size = rsize;
934 return mem;
935 }
936 static inline void
937 _bfd_munmap_temporary (void *ptr, size_t rsize ATTRIBUTE_UNUSED)
938 {
939 free (ptr);
940 }
941 #endif
942
943 extern bool _bfd_mmap_read_temporary
944 (void **, size_t *, void **, bfd *, bool) ATTRIBUTE_HIDDEN;
945 /* Extracted from libbfd.c. */
946 void *bfd_malloc (bfd_size_type /*size*/) ATTRIBUTE_HIDDEN;
947
948 void *bfd_realloc (void */*mem*/, bfd_size_type /*size*/) ATTRIBUTE_HIDDEN;
949
950 void *bfd_realloc_or_free (void */*mem*/, bfd_size_type /*size*/) ATTRIBUTE_HIDDEN;
951
952 void *bfd_zmalloc (bfd_size_type /*size*/) ATTRIBUTE_HIDDEN;
953
954 bool bfd_write_bigendian_4byte_int (bfd *, unsigned int) ATTRIBUTE_HIDDEN;
955
956 unsigned int bfd_log2 (bfd_vma x) ATTRIBUTE_HIDDEN;
957
958 /* Extracted from bfd.c. */
959 char *bfd_asprintf (const char *fmt, ...) ATTRIBUTE_HIDDEN;
960
961 /* Cached _bfd_check_format messages are put in this. */
962 struct per_xvec_message
963 {
964 struct per_xvec_message *next;
965 char message[];
966 };
967
968 /* A list of per_xvec_message objects. The targ field indicates
969 which xvec this list holds; PER_XVEC_NO_TARGET is only set for the
970 root of the list and indicates that the entry isn't yet used. The
971 abfd field is only needed in the root entry of the list. */
972 struct per_xvec_messages
973 {
974 bfd *abfd;
975 const bfd_target *targ;
976 struct per_xvec_message *messages;
977 struct per_xvec_messages *next;
978 };
979
980 #define PER_XVEC_NO_TARGET ((const bfd_target *) -1)
981 struct per_xvec_messages *_bfd_set_error_handler_caching (struct per_xvec_messages *) ATTRIBUTE_HIDDEN;
982
983 void _bfd_restore_error_handler_caching (struct per_xvec_messages *) ATTRIBUTE_HIDDEN;
984
985 const char *_bfd_get_error_program_name (void) ATTRIBUTE_HIDDEN;
986
987 bool _bfd_threading_enabled (void) ATTRIBUTE_HIDDEN;
988
989 bool bfd_lock (void) ATTRIBUTE_HIDDEN;
990
991 bool bfd_unlock (void) ATTRIBUTE_HIDDEN;
992
993 /* Extracted from bfdio.c. */
994 struct bfd_iovec
995 {
996 /* To avoid problems with macros, a "b" rather than "f"
997 prefix is prepended to each method name. */
998 /* Attempt to read/write NBYTES on ABFD's IOSTREAM storing/fetching
999 bytes starting at PTR. Return the number of bytes actually
1000 transfered (a read past end-of-file returns less than NBYTES),
1001 or -1 (setting <<bfd_error>>) if an error occurs. */
1002 file_ptr (*bread) (struct bfd *abfd, void *ptr, file_ptr nbytes);
1003 file_ptr (*bwrite) (struct bfd *abfd, const void *ptr,
1004 file_ptr nbytes);
1005 /* Return the current IOSTREAM file offset, or -1 (setting <<bfd_error>>
1006 if an error occurs. */
1007 file_ptr (*btell) (struct bfd *abfd);
1008 /* For the following, on successful completion a value of 0 is returned.
1009 Otherwise, a value of -1 is returned (and <<bfd_error>> is set). */
1010 int (*bseek) (struct bfd *abfd, file_ptr offset, int whence);
1011 int (*bclose) (struct bfd *abfd);
1012 int (*bflush) (struct bfd *abfd);
1013 int (*bstat) (struct bfd *abfd, struct stat *sb);
1014 /* Mmap a part of the files. ADDR, LEN, PROT, FLAGS and OFFSET are the usual
1015 mmap parameter, except that LEN and OFFSET do not need to be page
1016 aligned. Returns (void *)-1 on failure, mmapped address on success.
1017 Also write in MAP_ADDR the address of the page aligned buffer and in
1018 MAP_LEN the size mapped (a page multiple). Use unmap with MAP_ADDR and
1019 MAP_LEN to unmap. */
1020 void *(*bmmap) (struct bfd *abfd, void *addr, size_t len,
1021 int prot, int flags, file_ptr offset,
1022 void **map_addr, size_t *map_len);
1023 };
1024 extern const struct bfd_iovec _bfd_memory_iovec;
1025
1026 /* Extracted from archive.c. */
1027 /* Used in generating armaps (archive tables of contents). */
1028 struct orl /* Output ranlib. */
1029 {
1030 char **name; /* Symbol name. */
1031 union
1032 {
1033 file_ptr pos;
1034 bfd *abfd;
1035 } u; /* bfd* or file position. */
1036 int namidx; /* Index into string table. */
1037 };
1038
1039 /* Extracted from archures.c. */
1040 extern const bfd_arch_info_type bfd_default_arch_struct;
1041
1042 const bfd_arch_info_type *bfd_default_compatible
1043 (const bfd_arch_info_type *a, const bfd_arch_info_type *b) ATTRIBUTE_HIDDEN;
1044
1045 bool bfd_default_scan
1046 (const struct bfd_arch_info *info, const char *string) ATTRIBUTE_HIDDEN;
1047
1048 void *bfd_arch_default_fill (bfd_size_type count,
1049 bool is_bigendian,
1050 bool code) ATTRIBUTE_HIDDEN;
1051
1052 /* Extracted from cache.c. */
1053 bool bfd_cache_init (bfd *abfd) ATTRIBUTE_HIDDEN;
1054
1055 bool bfd_cache_set_uncloseable (bfd *abfd, bool value, bool *old) ATTRIBUTE_HIDDEN;
1056
1057 FILE* bfd_open_file (bfd *abfd) ATTRIBUTE_HIDDEN;
1058
1059 /* Extracted from hash.c. */
1060 struct bfd_strtab_hash *_bfd_stringtab_init (void) ATTRIBUTE_HIDDEN;
1061
1062 struct bfd_strtab_hash *_bfd_xcoff_stringtab_init
1063 (bool /*isxcoff64*/) ATTRIBUTE_HIDDEN;
1064
1065 void _bfd_stringtab_free (struct bfd_strtab_hash *) ATTRIBUTE_HIDDEN;
1066
1067 bfd_size_type _bfd_stringtab_add
1068 (struct bfd_strtab_hash *, const char *,
1069 bool /*hash*/, bool /*copy*/) ATTRIBUTE_HIDDEN;
1070
1071 bfd_size_type _bfd_stringtab_size (struct bfd_strtab_hash *) ATTRIBUTE_HIDDEN;
1072
1073 bool _bfd_stringtab_emit (bfd *, struct bfd_strtab_hash *) ATTRIBUTE_HIDDEN;
1074
1075 /* Extracted from linker.c. */
1076 bool _bfd_generic_verify_endian_match
1077 (bfd *ibfd, struct bfd_link_info *info) ATTRIBUTE_HIDDEN;
1078
1079 /* Extracted from opncls.c. */
1080 bfd *_bfd_new_bfd (void) ATTRIBUTE_HIDDEN;
1081
1082 bfd *_bfd_new_bfd_contained_in (bfd *) ATTRIBUTE_HIDDEN;
1083
1084 bool _bfd_free_cached_info (bfd *) ATTRIBUTE_HIDDEN;
1085
1086 /* Extracted from reloc.c. */
1087 #ifdef _BFD_MAKE_TABLE_bfd_reloc_code_real
1088
1089 static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
1090
1091 "BFD_RELOC_64",
1092 "BFD_RELOC_32",
1093 "BFD_RELOC_26",
1094 "BFD_RELOC_24",
1095 "BFD_RELOC_16",
1096 "BFD_RELOC_14",
1097 "BFD_RELOC_8",
1098 "BFD_RELOC_64_PCREL",
1099 "BFD_RELOC_32_PCREL",
1100 "BFD_RELOC_24_PCREL",
1101 "BFD_RELOC_16_PCREL",
1102 "BFD_RELOC_12_PCREL",
1103 "BFD_RELOC_8_PCREL",
1104 "BFD_RELOC_32_SECREL",
1105 "BFD_RELOC_16_SECIDX",
1106 "BFD_RELOC_32_GOT_PCREL",
1107 "BFD_RELOC_16_GOT_PCREL",
1108 "BFD_RELOC_8_GOT_PCREL",
1109 "BFD_RELOC_32_GOTOFF",
1110 "BFD_RELOC_16_GOTOFF",
1111 "BFD_RELOC_LO16_GOTOFF",
1112 "BFD_RELOC_HI16_GOTOFF",
1113 "BFD_RELOC_HI16_S_GOTOFF",
1114 "BFD_RELOC_8_GOTOFF",
1115 "BFD_RELOC_64_PLT_PCREL",
1116 "BFD_RELOC_32_PLT_PCREL",
1117 "BFD_RELOC_24_PLT_PCREL",
1118 "BFD_RELOC_16_PLT_PCREL",
1119 "BFD_RELOC_8_PLT_PCREL",
1120 "BFD_RELOC_64_PLTOFF",
1121 "BFD_RELOC_32_PLTOFF",
1122 "BFD_RELOC_16_PLTOFF",
1123 "BFD_RELOC_LO16_PLTOFF",
1124 "BFD_RELOC_HI16_PLTOFF",
1125 "BFD_RELOC_HI16_S_PLTOFF",
1126 "BFD_RELOC_8_PLTOFF",
1127 "BFD_RELOC_SIZE32",
1128 "BFD_RELOC_SIZE64",
1129 "BFD_RELOC_68K_GLOB_DAT",
1130 "BFD_RELOC_68K_JMP_SLOT",
1131 "BFD_RELOC_68K_RELATIVE",
1132 "BFD_RELOC_68K_TLS_GD32",
1133 "BFD_RELOC_68K_TLS_GD16",
1134 "BFD_RELOC_68K_TLS_GD8",
1135 "BFD_RELOC_68K_TLS_LDM32",
1136 "BFD_RELOC_68K_TLS_LDM16",
1137 "BFD_RELOC_68K_TLS_LDM8",
1138 "BFD_RELOC_68K_TLS_LDO32",
1139 "BFD_RELOC_68K_TLS_LDO16",
1140 "BFD_RELOC_68K_TLS_LDO8",
1141 "BFD_RELOC_68K_TLS_IE32",
1142 "BFD_RELOC_68K_TLS_IE16",
1143 "BFD_RELOC_68K_TLS_IE8",
1144 "BFD_RELOC_68K_TLS_LE32",
1145 "BFD_RELOC_68K_TLS_LE16",
1146 "BFD_RELOC_68K_TLS_LE8",
1147 "BFD_RELOC_32_BASEREL",
1148 "BFD_RELOC_16_BASEREL",
1149 "BFD_RELOC_LO16_BASEREL",
1150 "BFD_RELOC_HI16_BASEREL",
1151 "BFD_RELOC_HI16_S_BASEREL",
1152 "BFD_RELOC_8_BASEREL",
1153 "BFD_RELOC_RVA",
1154 "BFD_RELOC_8_FFnn",
1155 "BFD_RELOC_32_PCREL_S2",
1156 "BFD_RELOC_16_PCREL_S2",
1157 "BFD_RELOC_23_PCREL_S2",
1158 "BFD_RELOC_HI22",
1159 "BFD_RELOC_LO10",
1160 "BFD_RELOC_GPREL16",
1161 "BFD_RELOC_GPREL32",
1162 "BFD_RELOC_NONE",
1163 "BFD_RELOC_SPARC_WDISP22",
1164 "BFD_RELOC_SPARC22",
1165 "BFD_RELOC_SPARC13",
1166 "BFD_RELOC_SPARC_GOT10",
1167 "BFD_RELOC_SPARC_GOT13",
1168 "BFD_RELOC_SPARC_GOT22",
1169 "BFD_RELOC_SPARC_PC10",
1170 "BFD_RELOC_SPARC_PC22",
1171 "BFD_RELOC_SPARC_WPLT30",
1172 "BFD_RELOC_SPARC_COPY",
1173 "BFD_RELOC_SPARC_GLOB_DAT",
1174 "BFD_RELOC_SPARC_JMP_SLOT",
1175 "BFD_RELOC_SPARC_RELATIVE",
1176 "BFD_RELOC_SPARC_UA16",
1177 "BFD_RELOC_SPARC_UA32",
1178 "BFD_RELOC_SPARC_UA64",
1179 "BFD_RELOC_SPARC_GOTDATA_HIX22",
1180 "BFD_RELOC_SPARC_GOTDATA_LOX10",
1181 "BFD_RELOC_SPARC_GOTDATA_OP_HIX22",
1182 "BFD_RELOC_SPARC_GOTDATA_OP_LOX10",
1183 "BFD_RELOC_SPARC_GOTDATA_OP",
1184 "BFD_RELOC_SPARC_JMP_IREL",
1185 "BFD_RELOC_SPARC_IRELATIVE",
1186 "BFD_RELOC_SPARC_BASE13",
1187 "BFD_RELOC_SPARC_BASE22",
1188 "BFD_RELOC_SPARC_10",
1189 "BFD_RELOC_SPARC_11",
1190 "BFD_RELOC_SPARC_OLO10",
1191 "BFD_RELOC_SPARC_HH22",
1192 "BFD_RELOC_SPARC_HM10",
1193 "BFD_RELOC_SPARC_LM22",
1194 "BFD_RELOC_SPARC_PC_HH22",
1195 "BFD_RELOC_SPARC_PC_HM10",
1196 "BFD_RELOC_SPARC_PC_LM22",
1197 "BFD_RELOC_SPARC_WDISP16",
1198 "BFD_RELOC_SPARC_WDISP19",
1199 "BFD_RELOC_SPARC_7",
1200 "BFD_RELOC_SPARC_6",
1201 "BFD_RELOC_SPARC_5",
1202 "BFD_RELOC_SPARC_PLT32",
1203 "BFD_RELOC_SPARC_PLT64",
1204 "BFD_RELOC_SPARC_HIX22",
1205 "BFD_RELOC_SPARC_LOX10",
1206 "BFD_RELOC_SPARC_H44",
1207 "BFD_RELOC_SPARC_M44",
1208 "BFD_RELOC_SPARC_L44",
1209 "BFD_RELOC_SPARC_REGISTER",
1210 "BFD_RELOC_SPARC_H34",
1211 "BFD_RELOC_SPARC_SIZE32",
1212 "BFD_RELOC_SPARC_SIZE64",
1213 "BFD_RELOC_SPARC_WDISP10",
1214 "BFD_RELOC_SPARC_REV32",
1215 "BFD_RELOC_SPARC_TLS_GD_HI22",
1216 "BFD_RELOC_SPARC_TLS_GD_LO10",
1217 "BFD_RELOC_SPARC_TLS_GD_ADD",
1218 "BFD_RELOC_SPARC_TLS_GD_CALL",
1219 "BFD_RELOC_SPARC_TLS_LDM_HI22",
1220 "BFD_RELOC_SPARC_TLS_LDM_LO10",
1221 "BFD_RELOC_SPARC_TLS_LDM_ADD",
1222 "BFD_RELOC_SPARC_TLS_LDM_CALL",
1223 "BFD_RELOC_SPARC_TLS_LDO_HIX22",
1224 "BFD_RELOC_SPARC_TLS_LDO_LOX10",
1225 "BFD_RELOC_SPARC_TLS_LDO_ADD",
1226 "BFD_RELOC_SPARC_TLS_IE_HI22",
1227 "BFD_RELOC_SPARC_TLS_IE_LO10",
1228 "BFD_RELOC_SPARC_TLS_IE_LD",
1229 "BFD_RELOC_SPARC_TLS_IE_LDX",
1230 "BFD_RELOC_SPARC_TLS_IE_ADD",
1231 "BFD_RELOC_SPARC_TLS_LE_HIX22",
1232 "BFD_RELOC_SPARC_TLS_LE_LOX10",
1233 "BFD_RELOC_SPARC_TLS_DTPMOD32",
1234 "BFD_RELOC_SPARC_TLS_DTPMOD64",
1235 "BFD_RELOC_SPARC_TLS_DTPOFF32",
1236 "BFD_RELOC_SPARC_TLS_DTPOFF64",
1237 "BFD_RELOC_SPARC_TLS_TPOFF32",
1238 "BFD_RELOC_SPARC_TLS_TPOFF64",
1239 "BFD_RELOC_SPU_IMM7",
1240 "BFD_RELOC_SPU_IMM8",
1241 "BFD_RELOC_SPU_IMM10",
1242 "BFD_RELOC_SPU_IMM10W",
1243 "BFD_RELOC_SPU_IMM16",
1244 "BFD_RELOC_SPU_IMM16W",
1245 "BFD_RELOC_SPU_IMM18",
1246 "BFD_RELOC_SPU_PCREL9a",
1247 "BFD_RELOC_SPU_PCREL9b",
1248 "BFD_RELOC_SPU_PCREL16",
1249 "BFD_RELOC_SPU_LO16",
1250 "BFD_RELOC_SPU_HI16",
1251 "BFD_RELOC_SPU_PPU32",
1252 "BFD_RELOC_SPU_PPU64",
1253 "BFD_RELOC_SPU_ADD_PIC",
1254 "BFD_RELOC_ALPHA_GPDISP_HI16",
1255 "BFD_RELOC_ALPHA_GPDISP_LO16",
1256 "BFD_RELOC_ALPHA_GPDISP",
1257 "BFD_RELOC_ALPHA_LITERAL",
1258 "BFD_RELOC_ALPHA_ELF_LITERAL",
1259 "BFD_RELOC_ALPHA_LITUSE",
1260 "BFD_RELOC_ALPHA_HINT",
1261 "BFD_RELOC_ALPHA_LINKAGE",
1262 "BFD_RELOC_ALPHA_CODEADDR",
1263 "BFD_RELOC_ALPHA_GPREL_HI16",
1264 "BFD_RELOC_ALPHA_GPREL_LO16",
1265 "BFD_RELOC_ALPHA_BRSGP",
1266 "BFD_RELOC_ALPHA_NOP",
1267 "BFD_RELOC_ALPHA_BSR",
1268 "BFD_RELOC_ALPHA_LDA",
1269 "BFD_RELOC_ALPHA_BOH",
1270 "BFD_RELOC_ALPHA_TLSGD",
1271 "BFD_RELOC_ALPHA_TLSLDM",
1272 "BFD_RELOC_ALPHA_DTPMOD64",
1273 "BFD_RELOC_ALPHA_GOTDTPREL16",
1274 "BFD_RELOC_ALPHA_DTPREL64",
1275 "BFD_RELOC_ALPHA_DTPREL_HI16",
1276 "BFD_RELOC_ALPHA_DTPREL_LO16",
1277 "BFD_RELOC_ALPHA_DTPREL16",
1278 "BFD_RELOC_ALPHA_GOTTPREL16",
1279 "BFD_RELOC_ALPHA_TPREL64",
1280 "BFD_RELOC_ALPHA_TPREL_HI16",
1281 "BFD_RELOC_ALPHA_TPREL_LO16",
1282 "BFD_RELOC_ALPHA_TPREL16",
1283 "BFD_RELOC_MIPS_JMP",
1284 "BFD_RELOC_MICROMIPS_JMP",
1285 "BFD_RELOC_MIPS16_JMP",
1286 "BFD_RELOC_MIPS16_GPREL",
1287 "BFD_RELOC_HI16",
1288 "BFD_RELOC_HI16_S",
1289 "BFD_RELOC_LO16",
1290 "BFD_RELOC_HI16_PCREL",
1291 "BFD_RELOC_HI16_S_PCREL",
1292 "BFD_RELOC_LO16_PCREL",
1293 "BFD_RELOC_MIPS16_GOT16",
1294 "BFD_RELOC_MIPS16_CALL16",
1295 "BFD_RELOC_MIPS16_HI16",
1296 "BFD_RELOC_MIPS16_HI16_S",
1297 "BFD_RELOC_MIPS16_LO16",
1298 "BFD_RELOC_MIPS16_TLS_GD",
1299 "BFD_RELOC_MIPS16_TLS_LDM",
1300 "BFD_RELOC_MIPS16_TLS_DTPREL_HI16",
1301 "BFD_RELOC_MIPS16_TLS_DTPREL_LO16",
1302 "BFD_RELOC_MIPS16_TLS_GOTTPREL",
1303 "BFD_RELOC_MIPS16_TLS_TPREL_HI16",
1304 "BFD_RELOC_MIPS16_TLS_TPREL_LO16",
1305 "BFD_RELOC_MIPS_LITERAL",
1306 "BFD_RELOC_MICROMIPS_LITERAL",
1307 "BFD_RELOC_MICROMIPS_7_PCREL_S1",
1308 "BFD_RELOC_MICROMIPS_10_PCREL_S1",
1309 "BFD_RELOC_MICROMIPS_16_PCREL_S1",
1310 "BFD_RELOC_MIPS16_16_PCREL_S1",
1311 "BFD_RELOC_MIPS_21_PCREL_S2",
1312 "BFD_RELOC_MIPS_26_PCREL_S2",
1313 "BFD_RELOC_MIPS_18_PCREL_S3",
1314 "BFD_RELOC_MIPS_19_PCREL_S2",
1315 "BFD_RELOC_MICROMIPS_GPREL16",
1316 "BFD_RELOC_MICROMIPS_HI16",
1317 "BFD_RELOC_MICROMIPS_HI16_S",
1318 "BFD_RELOC_MICROMIPS_LO16",
1319 "BFD_RELOC_MIPS_GOT16",
1320 "BFD_RELOC_MICROMIPS_GOT16",
1321 "BFD_RELOC_MIPS_CALL16",
1322 "BFD_RELOC_MICROMIPS_CALL16",
1323 "BFD_RELOC_MIPS_GOT_HI16",
1324 "BFD_RELOC_MICROMIPS_GOT_HI16",
1325 "BFD_RELOC_MIPS_GOT_LO16",
1326 "BFD_RELOC_MICROMIPS_GOT_LO16",
1327 "BFD_RELOC_MIPS_CALL_HI16",
1328 "BFD_RELOC_MICROMIPS_CALL_HI16",
1329 "BFD_RELOC_MIPS_CALL_LO16",
1330 "BFD_RELOC_MICROMIPS_CALL_LO16",
1331 "BFD_RELOC_MIPS_SUB",
1332 "BFD_RELOC_MICROMIPS_SUB",
1333 "BFD_RELOC_MIPS_GOT_PAGE",
1334 "BFD_RELOC_MICROMIPS_GOT_PAGE",
1335 "BFD_RELOC_MIPS_GOT_OFST",
1336 "BFD_RELOC_MICROMIPS_GOT_OFST",
1337 "BFD_RELOC_MIPS_GOT_DISP",
1338 "BFD_RELOC_MICROMIPS_GOT_DISP",
1339 "BFD_RELOC_MIPS_SHIFT5",
1340 "BFD_RELOC_MIPS_SHIFT6",
1341 "BFD_RELOC_MIPS_INSERT_A",
1342 "BFD_RELOC_MIPS_INSERT_B",
1343 "BFD_RELOC_MIPS_DELETE",
1344 "BFD_RELOC_MIPS_HIGHEST",
1345 "BFD_RELOC_MICROMIPS_HIGHEST",
1346 "BFD_RELOC_MIPS_HIGHER",
1347 "BFD_RELOC_MICROMIPS_HIGHER",
1348 "BFD_RELOC_MIPS_SCN_DISP",
1349 "BFD_RELOC_MICROMIPS_SCN_DISP",
1350 "BFD_RELOC_MIPS_16",
1351 "BFD_RELOC_MIPS_RELGOT",
1352 "BFD_RELOC_MIPS_JALR",
1353 "BFD_RELOC_MICROMIPS_JALR",
1354 "BFD_RELOC_MIPS_TLS_DTPMOD32",
1355 "BFD_RELOC_MIPS_TLS_DTPREL32",
1356 "BFD_RELOC_MIPS_TLS_DTPMOD64",
1357 "BFD_RELOC_MIPS_TLS_DTPREL64",
1358 "BFD_RELOC_MIPS_TLS_GD",
1359 "BFD_RELOC_MICROMIPS_TLS_GD",
1360 "BFD_RELOC_MIPS_TLS_LDM",
1361 "BFD_RELOC_MICROMIPS_TLS_LDM",
1362 "BFD_RELOC_MIPS_TLS_DTPREL_HI16",
1363 "BFD_RELOC_MICROMIPS_TLS_DTPREL_HI16",
1364 "BFD_RELOC_MIPS_TLS_DTPREL_LO16",
1365 "BFD_RELOC_MICROMIPS_TLS_DTPREL_LO16",
1366 "BFD_RELOC_MIPS_TLS_GOTTPREL",
1367 "BFD_RELOC_MICROMIPS_TLS_GOTTPREL",
1368 "BFD_RELOC_MIPS_TLS_TPREL32",
1369 "BFD_RELOC_MIPS_TLS_TPREL64",
1370 "BFD_RELOC_MIPS_TLS_TPREL_HI16",
1371 "BFD_RELOC_MICROMIPS_TLS_TPREL_HI16",
1372 "BFD_RELOC_MIPS_TLS_TPREL_LO16",
1373 "BFD_RELOC_MICROMIPS_TLS_TPREL_LO16",
1374 "BFD_RELOC_MIPS_EH",
1375 "BFD_RELOC_MIPS_COPY",
1376 "BFD_RELOC_MIPS_JUMP_SLOT",
1377 "BFD_RELOC_MOXIE_10_PCREL",
1378 "BFD_RELOC_FT32_10",
1379 "BFD_RELOC_FT32_20",
1380 "BFD_RELOC_FT32_17",
1381 "BFD_RELOC_FT32_18",
1382 "BFD_RELOC_FT32_RELAX",
1383 "BFD_RELOC_FT32_SC0",
1384 "BFD_RELOC_FT32_SC1",
1385 "BFD_RELOC_FT32_15",
1386 "BFD_RELOC_FT32_DIFF32",
1387 "BFD_RELOC_FRV_LABEL16",
1388 "BFD_RELOC_FRV_LABEL24",
1389 "BFD_RELOC_FRV_LO16",
1390 "BFD_RELOC_FRV_HI16",
1391 "BFD_RELOC_FRV_GPREL12",
1392 "BFD_RELOC_FRV_GPRELU12",
1393 "BFD_RELOC_FRV_GPREL32",
1394 "BFD_RELOC_FRV_GPRELHI",
1395 "BFD_RELOC_FRV_GPRELLO",
1396 "BFD_RELOC_FRV_GOT12",
1397 "BFD_RELOC_FRV_GOTHI",
1398 "BFD_RELOC_FRV_GOTLO",
1399 "BFD_RELOC_FRV_FUNCDESC",
1400 "BFD_RELOC_FRV_FUNCDESC_GOT12",
1401 "BFD_RELOC_FRV_FUNCDESC_GOTHI",
1402 "BFD_RELOC_FRV_FUNCDESC_GOTLO",
1403 "BFD_RELOC_FRV_FUNCDESC_VALUE",
1404 "BFD_RELOC_FRV_FUNCDESC_GOTOFF12",
1405 "BFD_RELOC_FRV_FUNCDESC_GOTOFFHI",
1406 "BFD_RELOC_FRV_FUNCDESC_GOTOFFLO",
1407 "BFD_RELOC_FRV_GOTOFF12",
1408 "BFD_RELOC_FRV_GOTOFFHI",
1409 "BFD_RELOC_FRV_GOTOFFLO",
1410 "BFD_RELOC_FRV_GETTLSOFF",
1411 "BFD_RELOC_FRV_TLSDESC_VALUE",
1412 "BFD_RELOC_FRV_GOTTLSDESC12",
1413 "BFD_RELOC_FRV_GOTTLSDESCHI",
1414 "BFD_RELOC_FRV_GOTTLSDESCLO",
1415 "BFD_RELOC_FRV_TLSMOFF12",
1416 "BFD_RELOC_FRV_TLSMOFFHI",
1417 "BFD_RELOC_FRV_TLSMOFFLO",
1418 "BFD_RELOC_FRV_GOTTLSOFF12",
1419 "BFD_RELOC_FRV_GOTTLSOFFHI",
1420 "BFD_RELOC_FRV_GOTTLSOFFLO",
1421 "BFD_RELOC_FRV_TLSOFF",
1422 "BFD_RELOC_FRV_TLSDESC_RELAX",
1423 "BFD_RELOC_FRV_GETTLSOFF_RELAX",
1424 "BFD_RELOC_FRV_TLSOFF_RELAX",
1425 "BFD_RELOC_FRV_TLSMOFF",
1426 "BFD_RELOC_MN10300_GOTOFF24",
1427 "BFD_RELOC_MN10300_GOT32",
1428 "BFD_RELOC_MN10300_GOT24",
1429 "BFD_RELOC_MN10300_GOT16",
1430 "BFD_RELOC_MN10300_COPY",
1431 "BFD_RELOC_MN10300_GLOB_DAT",
1432 "BFD_RELOC_MN10300_JMP_SLOT",
1433 "BFD_RELOC_MN10300_RELATIVE",
1434 "BFD_RELOC_MN10300_SYM_DIFF",
1435 "BFD_RELOC_MN10300_ALIGN",
1436 "BFD_RELOC_MN10300_TLS_GD",
1437 "BFD_RELOC_MN10300_TLS_LD",
1438 "BFD_RELOC_MN10300_TLS_LDO",
1439 "BFD_RELOC_MN10300_TLS_GOTIE",
1440 "BFD_RELOC_MN10300_TLS_IE",
1441 "BFD_RELOC_MN10300_TLS_LE",
1442 "BFD_RELOC_MN10300_TLS_DTPMOD",
1443 "BFD_RELOC_MN10300_TLS_DTPOFF",
1444 "BFD_RELOC_MN10300_TLS_TPOFF",
1445 "BFD_RELOC_MN10300_32_PCREL",
1446 "BFD_RELOC_MN10300_16_PCREL",
1447 "BFD_RELOC_386_GOT32",
1448 "BFD_RELOC_386_PLT32",
1449 "BFD_RELOC_386_COPY",
1450 "BFD_RELOC_386_GLOB_DAT",
1451 "BFD_RELOC_386_JUMP_SLOT",
1452 "BFD_RELOC_386_RELATIVE",
1453 "BFD_RELOC_386_GOTOFF",
1454 "BFD_RELOC_386_GOTPC",
1455 "BFD_RELOC_386_TLS_TPOFF",
1456 "BFD_RELOC_386_TLS_IE",
1457 "BFD_RELOC_386_TLS_GOTIE",
1458 "BFD_RELOC_386_TLS_LE",
1459 "BFD_RELOC_386_TLS_GD",
1460 "BFD_RELOC_386_TLS_LDM",
1461 "BFD_RELOC_386_TLS_LDO_32",
1462 "BFD_RELOC_386_TLS_IE_32",
1463 "BFD_RELOC_386_TLS_LE_32",
1464 "BFD_RELOC_386_TLS_DTPMOD32",
1465 "BFD_RELOC_386_TLS_DTPOFF32",
1466 "BFD_RELOC_386_TLS_TPOFF32",
1467 "BFD_RELOC_386_TLS_GOTDESC",
1468 "BFD_RELOC_386_TLS_DESC_CALL",
1469 "BFD_RELOC_386_TLS_DESC",
1470 "BFD_RELOC_386_IRELATIVE",
1471 "BFD_RELOC_386_GOT32X",
1472 "BFD_RELOC_X86_64_GOT32",
1473 "BFD_RELOC_X86_64_PLT32",
1474 "BFD_RELOC_X86_64_COPY",
1475 "BFD_RELOC_X86_64_GLOB_DAT",
1476 "BFD_RELOC_X86_64_JUMP_SLOT",
1477 "BFD_RELOC_X86_64_RELATIVE",
1478 "BFD_RELOC_X86_64_GOTPCREL",
1479 "BFD_RELOC_X86_64_32S",
1480 "BFD_RELOC_X86_64_DTPMOD64",
1481 "BFD_RELOC_X86_64_DTPOFF64",
1482 "BFD_RELOC_X86_64_TPOFF64",
1483 "BFD_RELOC_X86_64_TLSGD",
1484 "BFD_RELOC_X86_64_TLSLD",
1485 "BFD_RELOC_X86_64_DTPOFF32",
1486 "BFD_RELOC_X86_64_GOTTPOFF",
1487 "BFD_RELOC_X86_64_TPOFF32",
1488 "BFD_RELOC_X86_64_GOTOFF64",
1489 "BFD_RELOC_X86_64_GOTPC32",
1490 "BFD_RELOC_X86_64_GOT64",
1491 "BFD_RELOC_X86_64_GOTPCREL64",
1492 "BFD_RELOC_X86_64_GOTPC64",
1493 "BFD_RELOC_X86_64_GOTPLT64",
1494 "BFD_RELOC_X86_64_PLTOFF64",
1495 "BFD_RELOC_X86_64_GOTPC32_TLSDESC",
1496 "BFD_RELOC_X86_64_TLSDESC_CALL",
1497 "BFD_RELOC_X86_64_TLSDESC",
1498 "BFD_RELOC_X86_64_IRELATIVE",
1499 "BFD_RELOC_X86_64_PC32_BND",
1500 "BFD_RELOC_X86_64_PLT32_BND",
1501 "BFD_RELOC_X86_64_GOTPCRELX",
1502 "BFD_RELOC_X86_64_REX_GOTPCRELX",
1503 "BFD_RELOC_X86_64_CODE_4_GOTPCRELX",
1504 "BFD_RELOC_X86_64_CODE_4_GOTTPOFF",
1505 "BFD_RELOC_X86_64_CODE_4_GOTPC32_TLSDESC",
1506 "BFD_RELOC_X86_64_CODE_5_GOTPCRELX",
1507 "BFD_RELOC_X86_64_CODE_5_GOTTPOFF",
1508 "BFD_RELOC_X86_64_CODE_5_GOTPC32_TLSDESC",
1509 "BFD_RELOC_X86_64_CODE_6_GOTPCRELX",
1510 "BFD_RELOC_X86_64_CODE_6_GOTTPOFF",
1511 "BFD_RELOC_X86_64_CODE_6_GOTPC32_TLSDESC",
1512 "BFD_RELOC_NS32K_IMM_8",
1513 "BFD_RELOC_NS32K_IMM_16",
1514 "BFD_RELOC_NS32K_IMM_32",
1515 "BFD_RELOC_NS32K_IMM_8_PCREL",
1516 "BFD_RELOC_NS32K_IMM_16_PCREL",
1517 "BFD_RELOC_NS32K_IMM_32_PCREL",
1518 "BFD_RELOC_NS32K_DISP_8",
1519 "BFD_RELOC_NS32K_DISP_16",
1520 "BFD_RELOC_NS32K_DISP_32",
1521 "BFD_RELOC_NS32K_DISP_8_PCREL",
1522 "BFD_RELOC_NS32K_DISP_16_PCREL",
1523 "BFD_RELOC_NS32K_DISP_32_PCREL",
1524 "BFD_RELOC_PDP11_DISP_8_PCREL",
1525 "BFD_RELOC_PDP11_DISP_6_PCREL",
1526 "BFD_RELOC_PJ_CODE_HI16",
1527 "BFD_RELOC_PJ_CODE_LO16",
1528 "BFD_RELOC_PJ_CODE_DIR16",
1529 "BFD_RELOC_PJ_CODE_DIR32",
1530 "BFD_RELOC_PJ_CODE_REL16",
1531 "BFD_RELOC_PJ_CODE_REL32",
1532 "BFD_RELOC_PPC_B26",
1533 "BFD_RELOC_PPC_BA26",
1534 "BFD_RELOC_PPC_TOC16",
1535 "BFD_RELOC_PPC_TOC16_LO",
1536 "BFD_RELOC_PPC_TOC16_HI",
1537 "BFD_RELOC_PPC_B16",
1538 "BFD_RELOC_PPC_B16_BRTAKEN",
1539 "BFD_RELOC_PPC_B16_BRNTAKEN",
1540 "BFD_RELOC_PPC_BA16",
1541 "BFD_RELOC_PPC_BA16_BRTAKEN",
1542 "BFD_RELOC_PPC_BA16_BRNTAKEN",
1543 "BFD_RELOC_PPC_COPY",
1544 "BFD_RELOC_PPC_GLOB_DAT",
1545 "BFD_RELOC_PPC_JMP_SLOT",
1546 "BFD_RELOC_PPC_RELATIVE",
1547 "BFD_RELOC_PPC_LOCAL24PC",
1548 "BFD_RELOC_PPC_EMB_NADDR32",
1549 "BFD_RELOC_PPC_EMB_NADDR16",
1550 "BFD_RELOC_PPC_EMB_NADDR16_LO",
1551 "BFD_RELOC_PPC_EMB_NADDR16_HI",
1552 "BFD_RELOC_PPC_EMB_NADDR16_HA",
1553 "BFD_RELOC_PPC_EMB_SDAI16",
1554 "BFD_RELOC_PPC_EMB_SDA2I16",
1555 "BFD_RELOC_PPC_EMB_SDA2REL",
1556 "BFD_RELOC_PPC_EMB_SDA21",
1557 "BFD_RELOC_PPC_EMB_MRKREF",
1558 "BFD_RELOC_PPC_EMB_RELSEC16",
1559 "BFD_RELOC_PPC_EMB_RELST_LO",
1560 "BFD_RELOC_PPC_EMB_RELST_HI",
1561 "BFD_RELOC_PPC_EMB_RELST_HA",
1562 "BFD_RELOC_PPC_EMB_BIT_FLD",
1563 "BFD_RELOC_PPC_EMB_RELSDA",
1564 "BFD_RELOC_PPC_VLE_REL8",
1565 "BFD_RELOC_PPC_VLE_REL15",
1566 "BFD_RELOC_PPC_VLE_REL24",
1567 "BFD_RELOC_PPC_VLE_LO16A",
1568 "BFD_RELOC_PPC_VLE_LO16D",
1569 "BFD_RELOC_PPC_VLE_HI16A",
1570 "BFD_RELOC_PPC_VLE_HI16D",
1571 "BFD_RELOC_PPC_VLE_HA16A",
1572 "BFD_RELOC_PPC_VLE_HA16D",
1573 "BFD_RELOC_PPC_VLE_SDA21",
1574 "BFD_RELOC_PPC_VLE_SDA21_LO",
1575 "BFD_RELOC_PPC_VLE_SDAREL_LO16A",
1576 "BFD_RELOC_PPC_VLE_SDAREL_LO16D",
1577 "BFD_RELOC_PPC_VLE_SDAREL_HI16A",
1578 "BFD_RELOC_PPC_VLE_SDAREL_HI16D",
1579 "BFD_RELOC_PPC_VLE_SDAREL_HA16A",
1580 "BFD_RELOC_PPC_VLE_SDAREL_HA16D",
1581 "BFD_RELOC_PPC_16DX_HA",
1582 "BFD_RELOC_PPC_REL16DX_HA",
1583 "BFD_RELOC_PPC_NEG",
1584 "BFD_RELOC_PPC64_HIGHER",
1585 "BFD_RELOC_PPC64_HIGHER_S",
1586 "BFD_RELOC_PPC64_HIGHEST",
1587 "BFD_RELOC_PPC64_HIGHEST_S",
1588 "BFD_RELOC_PPC64_TOC16_LO",
1589 "BFD_RELOC_PPC64_TOC16_HI",
1590 "BFD_RELOC_PPC64_TOC16_HA",
1591 "BFD_RELOC_PPC64_TOC",
1592 "BFD_RELOC_PPC64_PLTGOT16",
1593 "BFD_RELOC_PPC64_PLTGOT16_LO",
1594 "BFD_RELOC_PPC64_PLTGOT16_HI",
1595 "BFD_RELOC_PPC64_PLTGOT16_HA",
1596 "BFD_RELOC_PPC64_ADDR16_DS",
1597 "BFD_RELOC_PPC64_ADDR16_LO_DS",
1598 "BFD_RELOC_PPC64_GOT16_DS",
1599 "BFD_RELOC_PPC64_GOT16_LO_DS",
1600 "BFD_RELOC_PPC64_PLT16_LO_DS",
1601 "BFD_RELOC_PPC64_SECTOFF_DS",
1602 "BFD_RELOC_PPC64_SECTOFF_LO_DS",
1603 "BFD_RELOC_PPC64_TOC16_DS",
1604 "BFD_RELOC_PPC64_TOC16_LO_DS",
1605 "BFD_RELOC_PPC64_PLTGOT16_DS",
1606 "BFD_RELOC_PPC64_PLTGOT16_LO_DS",
1607 "BFD_RELOC_PPC64_ADDR16_HIGH",
1608 "BFD_RELOC_PPC64_ADDR16_HIGHA",
1609 "BFD_RELOC_PPC64_REL16_HIGH",
1610 "BFD_RELOC_PPC64_REL16_HIGHA",
1611 "BFD_RELOC_PPC64_REL16_HIGHER",
1612 "BFD_RELOC_PPC64_REL16_HIGHERA",
1613 "BFD_RELOC_PPC64_REL16_HIGHEST",
1614 "BFD_RELOC_PPC64_REL16_HIGHESTA",
1615 "BFD_RELOC_PPC64_ADDR64_LOCAL",
1616 "BFD_RELOC_PPC64_ENTRY",
1617 "BFD_RELOC_PPC64_REL24_NOTOC",
1618 "BFD_RELOC_PPC64_REL24_P9NOTOC",
1619 "BFD_RELOC_PPC64_D34",
1620 "BFD_RELOC_PPC64_D34_LO",
1621 "BFD_RELOC_PPC64_D34_HI30",
1622 "BFD_RELOC_PPC64_D34_HA30",
1623 "BFD_RELOC_PPC64_PCREL34",
1624 "BFD_RELOC_PPC64_GOT_PCREL34",
1625 "BFD_RELOC_PPC64_PLT_PCREL34",
1626 "BFD_RELOC_PPC64_ADDR16_HIGHER34",
1627 "BFD_RELOC_PPC64_ADDR16_HIGHERA34",
1628 "BFD_RELOC_PPC64_ADDR16_HIGHEST34",
1629 "BFD_RELOC_PPC64_ADDR16_HIGHESTA34",
1630 "BFD_RELOC_PPC64_REL16_HIGHER34",
1631 "BFD_RELOC_PPC64_REL16_HIGHERA34",
1632 "BFD_RELOC_PPC64_REL16_HIGHEST34",
1633 "BFD_RELOC_PPC64_REL16_HIGHESTA34",
1634 "BFD_RELOC_PPC64_D28",
1635 "BFD_RELOC_PPC64_PCREL28",
1636 "BFD_RELOC_PPC_TLS",
1637 "BFD_RELOC_PPC_TLSGD",
1638 "BFD_RELOC_PPC_TLSLD",
1639 "BFD_RELOC_PPC_TLSLE",
1640 "BFD_RELOC_PPC_TLSIE",
1641 "BFD_RELOC_PPC_TLSM",
1642 "BFD_RELOC_PPC_TLSML",
1643 "BFD_RELOC_PPC_DTPMOD",
1644 "BFD_RELOC_PPC_TPREL16",
1645 "BFD_RELOC_PPC_TPREL16_LO",
1646 "BFD_RELOC_PPC_TPREL16_HI",
1647 "BFD_RELOC_PPC_TPREL16_HA",
1648 "BFD_RELOC_PPC_TPREL",
1649 "BFD_RELOC_PPC_DTPREL16",
1650 "BFD_RELOC_PPC_DTPREL16_LO",
1651 "BFD_RELOC_PPC_DTPREL16_HI",
1652 "BFD_RELOC_PPC_DTPREL16_HA",
1653 "BFD_RELOC_PPC_DTPREL",
1654 "BFD_RELOC_PPC_GOT_TLSGD16",
1655 "BFD_RELOC_PPC_GOT_TLSGD16_LO",
1656 "BFD_RELOC_PPC_GOT_TLSGD16_HI",
1657 "BFD_RELOC_PPC_GOT_TLSGD16_HA",
1658 "BFD_RELOC_PPC_GOT_TLSLD16",
1659 "BFD_RELOC_PPC_GOT_TLSLD16_LO",
1660 "BFD_RELOC_PPC_GOT_TLSLD16_HI",
1661 "BFD_RELOC_PPC_GOT_TLSLD16_HA",
1662 "BFD_RELOC_PPC_GOT_TPREL16",
1663 "BFD_RELOC_PPC_GOT_TPREL16_LO",
1664 "BFD_RELOC_PPC_GOT_TPREL16_HI",
1665 "BFD_RELOC_PPC_GOT_TPREL16_HA",
1666 "BFD_RELOC_PPC_GOT_DTPREL16",
1667 "BFD_RELOC_PPC_GOT_DTPREL16_LO",
1668 "BFD_RELOC_PPC_GOT_DTPREL16_HI",
1669 "BFD_RELOC_PPC_GOT_DTPREL16_HA",
1670 "BFD_RELOC_PPC64_TLSGD",
1671 "BFD_RELOC_PPC64_TLSLD",
1672 "BFD_RELOC_PPC64_TLSLE",
1673 "BFD_RELOC_PPC64_TLSIE",
1674 "BFD_RELOC_PPC64_TLSM",
1675 "BFD_RELOC_PPC64_TLSML",
1676 "BFD_RELOC_PPC64_TPREL16_DS",
1677 "BFD_RELOC_PPC64_TPREL16_LO_DS",
1678 "BFD_RELOC_PPC64_TPREL16_HIGH",
1679 "BFD_RELOC_PPC64_TPREL16_HIGHA",
1680 "BFD_RELOC_PPC64_TPREL16_HIGHER",
1681 "BFD_RELOC_PPC64_TPREL16_HIGHERA",
1682 "BFD_RELOC_PPC64_TPREL16_HIGHEST",
1683 "BFD_RELOC_PPC64_TPREL16_HIGHESTA",
1684 "BFD_RELOC_PPC64_DTPREL16_DS",
1685 "BFD_RELOC_PPC64_DTPREL16_LO_DS",
1686 "BFD_RELOC_PPC64_DTPREL16_HIGH",
1687 "BFD_RELOC_PPC64_DTPREL16_HIGHA",
1688 "BFD_RELOC_PPC64_DTPREL16_HIGHER",
1689 "BFD_RELOC_PPC64_DTPREL16_HIGHERA",
1690 "BFD_RELOC_PPC64_DTPREL16_HIGHEST",
1691 "BFD_RELOC_PPC64_DTPREL16_HIGHESTA",
1692 "BFD_RELOC_PPC64_TPREL34",
1693 "BFD_RELOC_PPC64_DTPREL34",
1694 "BFD_RELOC_PPC64_GOT_TLSGD_PCREL34",
1695 "BFD_RELOC_PPC64_GOT_TLSLD_PCREL34",
1696 "BFD_RELOC_PPC64_GOT_TPREL_PCREL34",
1697 "BFD_RELOC_PPC64_GOT_DTPREL_PCREL34",
1698 "BFD_RELOC_PPC64_TLS_PCREL",
1699 "BFD_RELOC_I370_D12",
1700 "BFD_RELOC_CTOR",
1701 "BFD_RELOC_ARM_PCREL_BRANCH",
1702 "BFD_RELOC_ARM_PCREL_BLX",
1703 "BFD_RELOC_THUMB_PCREL_BLX",
1704 "BFD_RELOC_ARM_PCREL_CALL",
1705 "BFD_RELOC_ARM_PCREL_JUMP",
1706 "BFD_RELOC_THUMB_PCREL_BRANCH5",
1707 "BFD_RELOC_THUMB_PCREL_BFCSEL",
1708 "BFD_RELOC_ARM_THUMB_BF17",
1709 "BFD_RELOC_ARM_THUMB_BF13",
1710 "BFD_RELOC_ARM_THUMB_BF19",
1711 "BFD_RELOC_ARM_THUMB_LOOP12",
1712 "BFD_RELOC_THUMB_PCREL_BRANCH7",
1713 "BFD_RELOC_THUMB_PCREL_BRANCH9",
1714 "BFD_RELOC_THUMB_PCREL_BRANCH12",
1715 "BFD_RELOC_THUMB_PCREL_BRANCH20",
1716 "BFD_RELOC_THUMB_PCREL_BRANCH23",
1717 "BFD_RELOC_THUMB_PCREL_BRANCH25",
1718 "BFD_RELOC_ARM_OFFSET_IMM",
1719 "BFD_RELOC_ARM_THUMB_OFFSET",
1720 "BFD_RELOC_ARM_TARGET1",
1721 "BFD_RELOC_ARM_ROSEGREL32",
1722 "BFD_RELOC_ARM_SBREL32",
1723 "BFD_RELOC_ARM_TARGET2",
1724 "BFD_RELOC_ARM_PREL31",
1725 "BFD_RELOC_ARM_MOVW",
1726 "BFD_RELOC_ARM_MOVT",
1727 "BFD_RELOC_ARM_MOVW_PCREL",
1728 "BFD_RELOC_ARM_MOVT_PCREL",
1729 "BFD_RELOC_ARM_THUMB_MOVW",
1730 "BFD_RELOC_ARM_THUMB_MOVT",
1731 "BFD_RELOC_ARM_THUMB_MOVW_PCREL",
1732 "BFD_RELOC_ARM_THUMB_MOVT_PCREL",
1733 "BFD_RELOC_ARM_GOTFUNCDESC",
1734 "BFD_RELOC_ARM_GOTOFFFUNCDESC",
1735 "BFD_RELOC_ARM_FUNCDESC",
1736 "BFD_RELOC_ARM_FUNCDESC_VALUE",
1737 "BFD_RELOC_ARM_TLS_GD32_FDPIC",
1738 "BFD_RELOC_ARM_TLS_LDM32_FDPIC",
1739 "BFD_RELOC_ARM_TLS_IE32_FDPIC",
1740 "BFD_RELOC_ARM_JUMP_SLOT",
1741 "BFD_RELOC_ARM_GLOB_DAT",
1742 "BFD_RELOC_ARM_GOT32",
1743 "BFD_RELOC_ARM_PLT32",
1744 "BFD_RELOC_ARM_RELATIVE",
1745 "BFD_RELOC_ARM_GOTOFF",
1746 "BFD_RELOC_ARM_GOTPC",
1747 "BFD_RELOC_ARM_GOT_PREL",
1748 "BFD_RELOC_ARM_TLS_GD32",
1749 "BFD_RELOC_ARM_TLS_LDO32",
1750 "BFD_RELOC_ARM_TLS_LDM32",
1751 "BFD_RELOC_ARM_TLS_DTPOFF32",
1752 "BFD_RELOC_ARM_TLS_DTPMOD32",
1753 "BFD_RELOC_ARM_TLS_TPOFF32",
1754 "BFD_RELOC_ARM_TLS_IE32",
1755 "BFD_RELOC_ARM_TLS_LE32",
1756 "BFD_RELOC_ARM_TLS_GOTDESC",
1757 "BFD_RELOC_ARM_TLS_CALL",
1758 "BFD_RELOC_ARM_THM_TLS_CALL",
1759 "BFD_RELOC_ARM_TLS_DESCSEQ",
1760 "BFD_RELOC_ARM_THM_TLS_DESCSEQ",
1761 "BFD_RELOC_ARM_TLS_DESC",
1762 "BFD_RELOC_ARM_ALU_PC_G0_NC",
1763 "BFD_RELOC_ARM_ALU_PC_G0",
1764 "BFD_RELOC_ARM_ALU_PC_G1_NC",
1765 "BFD_RELOC_ARM_ALU_PC_G1",
1766 "BFD_RELOC_ARM_ALU_PC_G2",
1767 "BFD_RELOC_ARM_LDR_PC_G0",
1768 "BFD_RELOC_ARM_LDR_PC_G1",
1769 "BFD_RELOC_ARM_LDR_PC_G2",
1770 "BFD_RELOC_ARM_LDRS_PC_G0",
1771 "BFD_RELOC_ARM_LDRS_PC_G1",
1772 "BFD_RELOC_ARM_LDRS_PC_G2",
1773 "BFD_RELOC_ARM_LDC_PC_G0",
1774 "BFD_RELOC_ARM_LDC_PC_G1",
1775 "BFD_RELOC_ARM_LDC_PC_G2",
1776 "BFD_RELOC_ARM_ALU_SB_G0_NC",
1777 "BFD_RELOC_ARM_ALU_SB_G0",
1778 "BFD_RELOC_ARM_ALU_SB_G1_NC",
1779 "BFD_RELOC_ARM_ALU_SB_G1",
1780 "BFD_RELOC_ARM_ALU_SB_G2",
1781 "BFD_RELOC_ARM_LDR_SB_G0",
1782 "BFD_RELOC_ARM_LDR_SB_G1",
1783 "BFD_RELOC_ARM_LDR_SB_G2",
1784 "BFD_RELOC_ARM_LDRS_SB_G0",
1785 "BFD_RELOC_ARM_LDRS_SB_G1",
1786 "BFD_RELOC_ARM_LDRS_SB_G2",
1787 "BFD_RELOC_ARM_LDC_SB_G0",
1788 "BFD_RELOC_ARM_LDC_SB_G1",
1789 "BFD_RELOC_ARM_LDC_SB_G2",
1790 "BFD_RELOC_ARM_V4BX",
1791 "BFD_RELOC_ARM_IRELATIVE",
1792 "BFD_RELOC_ARM_THUMB_ALU_ABS_G0_NC",
1793 "BFD_RELOC_ARM_THUMB_ALU_ABS_G1_NC",
1794 "BFD_RELOC_ARM_THUMB_ALU_ABS_G2_NC",
1795 "BFD_RELOC_ARM_THUMB_ALU_ABS_G3_NC",
1796 "BFD_RELOC_ARM_IMMEDIATE",
1797 "BFD_RELOC_ARM_ADRL_IMMEDIATE",
1798 "BFD_RELOC_ARM_T32_IMMEDIATE",
1799 "BFD_RELOC_ARM_T32_ADD_IMM",
1800 "BFD_RELOC_ARM_T32_IMM12",
1801 "BFD_RELOC_ARM_T32_ADD_PC12",
1802 "BFD_RELOC_ARM_SHIFT_IMM",
1803 "BFD_RELOC_ARM_SMC",
1804 "BFD_RELOC_ARM_HVC",
1805 "BFD_RELOC_ARM_SWI",
1806 "BFD_RELOC_ARM_MULTI",
1807 "BFD_RELOC_ARM_CP_OFF_IMM",
1808 "BFD_RELOC_ARM_CP_OFF_IMM_S2",
1809 "BFD_RELOC_ARM_T32_CP_OFF_IMM",
1810 "BFD_RELOC_ARM_T32_CP_OFF_IMM_S2",
1811 "BFD_RELOC_ARM_T32_VLDR_VSTR_OFF_IMM",
1812 "BFD_RELOC_ARM_ADR_IMM",
1813 "BFD_RELOC_ARM_LDR_IMM",
1814 "BFD_RELOC_ARM_LITERAL",
1815 "BFD_RELOC_ARM_IN_POOL",
1816 "BFD_RELOC_ARM_OFFSET_IMM8",
1817 "BFD_RELOC_ARM_T32_OFFSET_U8",
1818 "BFD_RELOC_ARM_T32_OFFSET_IMM",
1819 "BFD_RELOC_ARM_HWLITERAL",
1820 "BFD_RELOC_ARM_THUMB_ADD",
1821 "BFD_RELOC_ARM_THUMB_IMM",
1822 "BFD_RELOC_ARM_THUMB_SHIFT",
1823 "BFD_RELOC_SH_PCDISP8BY2",
1824 "BFD_RELOC_SH_PCDISP12BY2",
1825 "BFD_RELOC_SH_IMM3",
1826 "BFD_RELOC_SH_IMM3U",
1827 "BFD_RELOC_SH_DISP12",
1828 "BFD_RELOC_SH_DISP12BY2",
1829 "BFD_RELOC_SH_DISP12BY4",
1830 "BFD_RELOC_SH_DISP12BY8",
1831 "BFD_RELOC_SH_DISP20",
1832 "BFD_RELOC_SH_DISP20BY8",
1833 "BFD_RELOC_SH_IMM4",
1834 "BFD_RELOC_SH_IMM4BY2",
1835 "BFD_RELOC_SH_IMM4BY4",
1836 "BFD_RELOC_SH_IMM8",
1837 "BFD_RELOC_SH_IMM8BY2",
1838 "BFD_RELOC_SH_IMM8BY4",
1839 "BFD_RELOC_SH_PCRELIMM8BY2",
1840 "BFD_RELOC_SH_PCRELIMM8BY4",
1841 "BFD_RELOC_SH_SWITCH16",
1842 "BFD_RELOC_SH_SWITCH32",
1843 "BFD_RELOC_SH_USES",
1844 "BFD_RELOC_SH_COUNT",
1845 "BFD_RELOC_SH_ALIGN",
1846 "BFD_RELOC_SH_CODE",
1847 "BFD_RELOC_SH_DATA",
1848 "BFD_RELOC_SH_LABEL",
1849 "BFD_RELOC_SH_LOOP_START",
1850 "BFD_RELOC_SH_LOOP_END",
1851 "BFD_RELOC_SH_COPY",
1852 "BFD_RELOC_SH_GLOB_DAT",
1853 "BFD_RELOC_SH_JMP_SLOT",
1854 "BFD_RELOC_SH_RELATIVE",
1855 "BFD_RELOC_SH_GOTPC",
1856 "BFD_RELOC_SH_GOT_LOW16",
1857 "BFD_RELOC_SH_GOT_MEDLOW16",
1858 "BFD_RELOC_SH_GOT_MEDHI16",
1859 "BFD_RELOC_SH_GOT_HI16",
1860 "BFD_RELOC_SH_GOTPLT_LOW16",
1861 "BFD_RELOC_SH_GOTPLT_MEDLOW16",
1862 "BFD_RELOC_SH_GOTPLT_MEDHI16",
1863 "BFD_RELOC_SH_GOTPLT_HI16",
1864 "BFD_RELOC_SH_PLT_LOW16",
1865 "BFD_RELOC_SH_PLT_MEDLOW16",
1866 "BFD_RELOC_SH_PLT_MEDHI16",
1867 "BFD_RELOC_SH_PLT_HI16",
1868 "BFD_RELOC_SH_GOTOFF_LOW16",
1869 "BFD_RELOC_SH_GOTOFF_MEDLOW16",
1870 "BFD_RELOC_SH_GOTOFF_MEDHI16",
1871 "BFD_RELOC_SH_GOTOFF_HI16",
1872 "BFD_RELOC_SH_GOTPC_LOW16",
1873 "BFD_RELOC_SH_GOTPC_MEDLOW16",
1874 "BFD_RELOC_SH_GOTPC_MEDHI16",
1875 "BFD_RELOC_SH_GOTPC_HI16",
1876 "BFD_RELOC_SH_COPY64",
1877 "BFD_RELOC_SH_GLOB_DAT64",
1878 "BFD_RELOC_SH_JMP_SLOT64",
1879 "BFD_RELOC_SH_RELATIVE64",
1880 "BFD_RELOC_SH_GOT10BY4",
1881 "BFD_RELOC_SH_GOT10BY8",
1882 "BFD_RELOC_SH_GOTPLT10BY4",
1883 "BFD_RELOC_SH_GOTPLT10BY8",
1884 "BFD_RELOC_SH_GOTPLT32",
1885 "BFD_RELOC_SH_SHMEDIA_CODE",
1886 "BFD_RELOC_SH_IMMU5",
1887 "BFD_RELOC_SH_IMMS6",
1888 "BFD_RELOC_SH_IMMS6BY32",
1889 "BFD_RELOC_SH_IMMU6",
1890 "BFD_RELOC_SH_IMMS10",
1891 "BFD_RELOC_SH_IMMS10BY2",
1892 "BFD_RELOC_SH_IMMS10BY4",
1893 "BFD_RELOC_SH_IMMS10BY8",
1894 "BFD_RELOC_SH_IMMS16",
1895 "BFD_RELOC_SH_IMMU16",
1896 "BFD_RELOC_SH_IMM_LOW16",
1897 "BFD_RELOC_SH_IMM_LOW16_PCREL",
1898 "BFD_RELOC_SH_IMM_MEDLOW16",
1899 "BFD_RELOC_SH_IMM_MEDLOW16_PCREL",
1900 "BFD_RELOC_SH_IMM_MEDHI16",
1901 "BFD_RELOC_SH_IMM_MEDHI16_PCREL",
1902 "BFD_RELOC_SH_IMM_HI16",
1903 "BFD_RELOC_SH_IMM_HI16_PCREL",
1904 "BFD_RELOC_SH_PT_16",
1905 "BFD_RELOC_SH_TLS_GD_32",
1906 "BFD_RELOC_SH_TLS_LD_32",
1907 "BFD_RELOC_SH_TLS_LDO_32",
1908 "BFD_RELOC_SH_TLS_IE_32",
1909 "BFD_RELOC_SH_TLS_LE_32",
1910 "BFD_RELOC_SH_TLS_DTPMOD32",
1911 "BFD_RELOC_SH_TLS_DTPOFF32",
1912 "BFD_RELOC_SH_TLS_TPOFF32",
1913 "BFD_RELOC_SH_GOT20",
1914 "BFD_RELOC_SH_GOTOFF20",
1915 "BFD_RELOC_SH_GOTFUNCDESC",
1916 "BFD_RELOC_SH_GOTFUNCDESC20",
1917 "BFD_RELOC_SH_GOTOFFFUNCDESC",
1918 "BFD_RELOC_SH_GOTOFFFUNCDESC20",
1919 "BFD_RELOC_SH_FUNCDESC",
1920 "BFD_RELOC_ARC_NONE",
1921 "BFD_RELOC_ARC_8",
1922 "BFD_RELOC_ARC_16",
1923 "BFD_RELOC_ARC_24",
1924 "BFD_RELOC_ARC_32",
1925 "BFD_RELOC_ARC_N8",
1926 "BFD_RELOC_ARC_N16",
1927 "BFD_RELOC_ARC_N24",
1928 "BFD_RELOC_ARC_N32",
1929 "BFD_RELOC_ARC_SDA",
1930 "BFD_RELOC_ARC_SECTOFF",
1931 "BFD_RELOC_ARC_S21H_PCREL",
1932 "BFD_RELOC_ARC_S21W_PCREL",
1933 "BFD_RELOC_ARC_S25H_PCREL",
1934 "BFD_RELOC_ARC_S25W_PCREL",
1935 "BFD_RELOC_ARC_SDA32",
1936 "BFD_RELOC_ARC_SDA_LDST",
1937 "BFD_RELOC_ARC_SDA_LDST1",
1938 "BFD_RELOC_ARC_SDA_LDST2",
1939 "BFD_RELOC_ARC_SDA16_LD",
1940 "BFD_RELOC_ARC_SDA16_LD1",
1941 "BFD_RELOC_ARC_SDA16_LD2",
1942 "BFD_RELOC_ARC_S13_PCREL",
1943 "BFD_RELOC_ARC_W",
1944 "BFD_RELOC_ARC_32_ME",
1945 "BFD_RELOC_ARC_32_ME_S",
1946 "BFD_RELOC_ARC_N32_ME",
1947 "BFD_RELOC_ARC_SECTOFF_ME",
1948 "BFD_RELOC_ARC_SDA32_ME",
1949 "BFD_RELOC_ARC_W_ME",
1950 "BFD_RELOC_AC_SECTOFF_U8",
1951 "BFD_RELOC_AC_SECTOFF_U8_1",
1952 "BFD_RELOC_AC_SECTOFF_U8_2",
1953 "BFD_RELOC_AC_SECTOFF_S9",
1954 "BFD_RELOC_AC_SECTOFF_S9_1",
1955 "BFD_RELOC_AC_SECTOFF_S9_2",
1956 "BFD_RELOC_ARC_SECTOFF_ME_1",
1957 "BFD_RELOC_ARC_SECTOFF_ME_2",
1958 "BFD_RELOC_ARC_SECTOFF_1",
1959 "BFD_RELOC_ARC_SECTOFF_2",
1960 "BFD_RELOC_ARC_SDA_12",
1961 "BFD_RELOC_ARC_SDA16_ST2",
1962 "BFD_RELOC_ARC_32_PCREL",
1963 "BFD_RELOC_ARC_PC32",
1964 "BFD_RELOC_ARC_GOT32",
1965 "BFD_RELOC_ARC_GOTPC32",
1966 "BFD_RELOC_ARC_PLT32",
1967 "BFD_RELOC_ARC_COPY",
1968 "BFD_RELOC_ARC_GLOB_DAT",
1969 "BFD_RELOC_ARC_JMP_SLOT",
1970 "BFD_RELOC_ARC_RELATIVE",
1971 "BFD_RELOC_ARC_GOTOFF",
1972 "BFD_RELOC_ARC_GOTPC",
1973 "BFD_RELOC_ARC_S21W_PCREL_PLT",
1974 "BFD_RELOC_ARC_S25H_PCREL_PLT",
1975 "BFD_RELOC_ARC_TLS_DTPMOD",
1976 "BFD_RELOC_ARC_TLS_TPOFF",
1977 "BFD_RELOC_ARC_TLS_GD_GOT",
1978 "BFD_RELOC_ARC_TLS_GD_LD",
1979 "BFD_RELOC_ARC_TLS_GD_CALL",
1980 "BFD_RELOC_ARC_TLS_IE_GOT",
1981 "BFD_RELOC_ARC_TLS_DTPOFF",
1982 "BFD_RELOC_ARC_TLS_DTPOFF_S9",
1983 "BFD_RELOC_ARC_TLS_LE_S9",
1984 "BFD_RELOC_ARC_TLS_LE_32",
1985 "BFD_RELOC_ARC_S25W_PCREL_PLT",
1986 "BFD_RELOC_ARC_S21H_PCREL_PLT",
1987 "BFD_RELOC_ARC_NPS_CMEM16",
1988 "BFD_RELOC_ARC_JLI_SECTOFF",
1989 "BFD_RELOC_BFIN_16_IMM",
1990 "BFD_RELOC_BFIN_16_HIGH",
1991 "BFD_RELOC_BFIN_4_PCREL",
1992 "BFD_RELOC_BFIN_5_PCREL",
1993 "BFD_RELOC_BFIN_16_LOW",
1994 "BFD_RELOC_BFIN_10_PCREL",
1995 "BFD_RELOC_BFIN_11_PCREL",
1996 "BFD_RELOC_BFIN_12_PCREL_JUMP",
1997 "BFD_RELOC_BFIN_12_PCREL_JUMP_S",
1998 "BFD_RELOC_BFIN_24_PCREL_CALL_X",
1999 "BFD_RELOC_BFIN_24_PCREL_JUMP_L",
2000 "BFD_RELOC_BFIN_GOT17M4",
2001 "BFD_RELOC_BFIN_GOTHI",
2002 "BFD_RELOC_BFIN_GOTLO",
2003 "BFD_RELOC_BFIN_FUNCDESC",
2004 "BFD_RELOC_BFIN_FUNCDESC_GOT17M4",
2005 "BFD_RELOC_BFIN_FUNCDESC_GOTHI",
2006 "BFD_RELOC_BFIN_FUNCDESC_GOTLO",
2007 "BFD_RELOC_BFIN_FUNCDESC_VALUE",
2008 "BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4",
2009 "BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI",
2010 "BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO",
2011 "BFD_RELOC_BFIN_GOTOFF17M4",
2012 "BFD_RELOC_BFIN_GOTOFFHI",
2013 "BFD_RELOC_BFIN_GOTOFFLO",
2014 "BFD_RELOC_BFIN_GOT",
2015 "BFD_RELOC_BFIN_PLTPC",
2016 "BFD_ARELOC_BFIN_PUSH",
2017 "BFD_ARELOC_BFIN_CONST",
2018 "BFD_ARELOC_BFIN_ADD",
2019 "BFD_ARELOC_BFIN_SUB",
2020 "BFD_ARELOC_BFIN_MULT",
2021 "BFD_ARELOC_BFIN_DIV",
2022 "BFD_ARELOC_BFIN_MOD",
2023 "BFD_ARELOC_BFIN_LSHIFT",
2024 "BFD_ARELOC_BFIN_RSHIFT",
2025 "BFD_ARELOC_BFIN_AND",
2026 "BFD_ARELOC_BFIN_OR",
2027 "BFD_ARELOC_BFIN_XOR",
2028 "BFD_ARELOC_BFIN_LAND",
2029 "BFD_ARELOC_BFIN_LOR",
2030 "BFD_ARELOC_BFIN_LEN",
2031 "BFD_ARELOC_BFIN_NEG",
2032 "BFD_ARELOC_BFIN_COMP",
2033 "BFD_ARELOC_BFIN_PAGE",
2034 "BFD_ARELOC_BFIN_HWPAGE",
2035 "BFD_ARELOC_BFIN_ADDR",
2036 "BFD_RELOC_D10V_10_PCREL_R",
2037 "BFD_RELOC_D10V_10_PCREL_L",
2038 "BFD_RELOC_D10V_18",
2039 "BFD_RELOC_D10V_18_PCREL",
2040 "BFD_RELOC_D30V_6",
2041 "BFD_RELOC_D30V_9_PCREL",
2042 "BFD_RELOC_D30V_9_PCREL_R",
2043 "BFD_RELOC_D30V_15",
2044 "BFD_RELOC_D30V_15_PCREL",
2045 "BFD_RELOC_D30V_15_PCREL_R",
2046 "BFD_RELOC_D30V_21",
2047 "BFD_RELOC_D30V_21_PCREL",
2048 "BFD_RELOC_D30V_21_PCREL_R",
2049 "BFD_RELOC_D30V_32",
2050 "BFD_RELOC_D30V_32_PCREL",
2051 "BFD_RELOC_DLX_HI16_S",
2052 "BFD_RELOC_DLX_LO16",
2053 "BFD_RELOC_DLX_JMP26",
2054 "BFD_RELOC_M32C_HI8",
2055 "BFD_RELOC_M32C_RL_JUMP",
2056 "BFD_RELOC_M32C_RL_1ADDR",
2057 "BFD_RELOC_M32C_RL_2ADDR",
2058 "BFD_RELOC_M32R_24",
2059 "BFD_RELOC_M32R_10_PCREL",
2060 "BFD_RELOC_M32R_18_PCREL",
2061 "BFD_RELOC_M32R_26_PCREL",
2062 "BFD_RELOC_M32R_HI16_ULO",
2063 "BFD_RELOC_M32R_HI16_SLO",
2064 "BFD_RELOC_M32R_LO16",
2065 "BFD_RELOC_M32R_SDA16",
2066 "BFD_RELOC_M32R_GOT24",
2067 "BFD_RELOC_M32R_26_PLTREL",
2068 "BFD_RELOC_M32R_COPY",
2069 "BFD_RELOC_M32R_GLOB_DAT",
2070 "BFD_RELOC_M32R_JMP_SLOT",
2071 "BFD_RELOC_M32R_RELATIVE",
2072 "BFD_RELOC_M32R_GOTOFF",
2073 "BFD_RELOC_M32R_GOTOFF_HI_ULO",
2074 "BFD_RELOC_M32R_GOTOFF_HI_SLO",
2075 "BFD_RELOC_M32R_GOTOFF_LO",
2076 "BFD_RELOC_M32R_GOTPC24",
2077 "BFD_RELOC_M32R_GOT16_HI_ULO",
2078 "BFD_RELOC_M32R_GOT16_HI_SLO",
2079 "BFD_RELOC_M32R_GOT16_LO",
2080 "BFD_RELOC_M32R_GOTPC_HI_ULO",
2081 "BFD_RELOC_M32R_GOTPC_HI_SLO",
2082 "BFD_RELOC_M32R_GOTPC_LO",
2083 "BFD_RELOC_NDS32_20",
2084 "BFD_RELOC_NDS32_9_PCREL",
2085 "BFD_RELOC_NDS32_WORD_9_PCREL",
2086 "BFD_RELOC_NDS32_15_PCREL",
2087 "BFD_RELOC_NDS32_17_PCREL",
2088 "BFD_RELOC_NDS32_25_PCREL",
2089 "BFD_RELOC_NDS32_HI20",
2090 "BFD_RELOC_NDS32_LO12S3",
2091 "BFD_RELOC_NDS32_LO12S2",
2092 "BFD_RELOC_NDS32_LO12S1",
2093 "BFD_RELOC_NDS32_LO12S0",
2094 "BFD_RELOC_NDS32_LO12S0_ORI",
2095 "BFD_RELOC_NDS32_SDA15S3",
2096 "BFD_RELOC_NDS32_SDA15S2",
2097 "BFD_RELOC_NDS32_SDA15S1",
2098 "BFD_RELOC_NDS32_SDA15S0",
2099 "BFD_RELOC_NDS32_SDA16S3",
2100 "BFD_RELOC_NDS32_SDA17S2",
2101 "BFD_RELOC_NDS32_SDA18S1",
2102 "BFD_RELOC_NDS32_SDA19S0",
2103 "BFD_RELOC_NDS32_GOT20",
2104 "BFD_RELOC_NDS32_9_PLTREL",
2105 "BFD_RELOC_NDS32_25_PLTREL",
2106 "BFD_RELOC_NDS32_COPY",
2107 "BFD_RELOC_NDS32_GLOB_DAT",
2108 "BFD_RELOC_NDS32_JMP_SLOT",
2109 "BFD_RELOC_NDS32_RELATIVE",
2110 "BFD_RELOC_NDS32_GOTOFF",
2111 "BFD_RELOC_NDS32_GOTOFF_HI20",
2112 "BFD_RELOC_NDS32_GOTOFF_LO12",
2113 "BFD_RELOC_NDS32_GOTPC20",
2114 "BFD_RELOC_NDS32_GOT_HI20",
2115 "BFD_RELOC_NDS32_GOT_LO12",
2116 "BFD_RELOC_NDS32_GOTPC_HI20",
2117 "BFD_RELOC_NDS32_GOTPC_LO12",
2118 "BFD_RELOC_NDS32_INSN16",
2119 "BFD_RELOC_NDS32_LABEL",
2120 "BFD_RELOC_NDS32_LONGCALL1",
2121 "BFD_RELOC_NDS32_LONGCALL2",
2122 "BFD_RELOC_NDS32_LONGCALL3",
2123 "BFD_RELOC_NDS32_LONGJUMP1",
2124 "BFD_RELOC_NDS32_LONGJUMP2",
2125 "BFD_RELOC_NDS32_LONGJUMP3",
2126 "BFD_RELOC_NDS32_LOADSTORE",
2127 "BFD_RELOC_NDS32_9_FIXED",
2128 "BFD_RELOC_NDS32_15_FIXED",
2129 "BFD_RELOC_NDS32_17_FIXED",
2130 "BFD_RELOC_NDS32_25_FIXED",
2131 "BFD_RELOC_NDS32_LONGCALL4",
2132 "BFD_RELOC_NDS32_LONGCALL5",
2133 "BFD_RELOC_NDS32_LONGCALL6",
2134 "BFD_RELOC_NDS32_LONGJUMP4",
2135 "BFD_RELOC_NDS32_LONGJUMP5",
2136 "BFD_RELOC_NDS32_LONGJUMP6",
2137 "BFD_RELOC_NDS32_LONGJUMP7",
2138 "BFD_RELOC_NDS32_PLTREL_HI20",
2139 "BFD_RELOC_NDS32_PLTREL_LO12",
2140 "BFD_RELOC_NDS32_PLT_GOTREL_HI20",
2141 "BFD_RELOC_NDS32_PLT_GOTREL_LO12",
2142 "BFD_RELOC_NDS32_SDA12S2_DP",
2143 "BFD_RELOC_NDS32_SDA12S2_SP",
2144 "BFD_RELOC_NDS32_LO12S2_DP",
2145 "BFD_RELOC_NDS32_LO12S2_SP",
2146 "BFD_RELOC_NDS32_DWARF2_OP1",
2147 "BFD_RELOC_NDS32_DWARF2_OP2",
2148 "BFD_RELOC_NDS32_DWARF2_LEB",
2149 "BFD_RELOC_NDS32_UPDATE_TA",
2150 "BFD_RELOC_NDS32_PLT_GOTREL_LO20",
2151 "BFD_RELOC_NDS32_PLT_GOTREL_LO15",
2152 "BFD_RELOC_NDS32_PLT_GOTREL_LO19",
2153 "BFD_RELOC_NDS32_GOT_LO15",
2154 "BFD_RELOC_NDS32_GOT_LO19",
2155 "BFD_RELOC_NDS32_GOTOFF_LO15",
2156 "BFD_RELOC_NDS32_GOTOFF_LO19",
2157 "BFD_RELOC_NDS32_GOT15S2",
2158 "BFD_RELOC_NDS32_GOT17S2",
2159 "BFD_RELOC_NDS32_5",
2160 "BFD_RELOC_NDS32_10_UPCREL",
2161 "BFD_RELOC_NDS32_SDA_FP7U2_RELA",
2162 "BFD_RELOC_NDS32_RELAX_ENTRY",
2163 "BFD_RELOC_NDS32_GOT_SUFF",
2164 "BFD_RELOC_NDS32_GOTOFF_SUFF",
2165 "BFD_RELOC_NDS32_PLT_GOT_SUFF",
2166 "BFD_RELOC_NDS32_MULCALL_SUFF",
2167 "BFD_RELOC_NDS32_PTR",
2168 "BFD_RELOC_NDS32_PTR_COUNT",
2169 "BFD_RELOC_NDS32_PTR_RESOLVED",
2170 "BFD_RELOC_NDS32_PLTBLOCK",
2171 "BFD_RELOC_NDS32_RELAX_REGION_BEGIN",
2172 "BFD_RELOC_NDS32_RELAX_REGION_END",
2173 "BFD_RELOC_NDS32_MINUEND",
2174 "BFD_RELOC_NDS32_SUBTRAHEND",
2175 "BFD_RELOC_NDS32_DIFF8",
2176 "BFD_RELOC_NDS32_DIFF16",
2177 "BFD_RELOC_NDS32_DIFF32",
2178 "BFD_RELOC_NDS32_DIFF_ULEB128",
2179 "BFD_RELOC_NDS32_EMPTY",
2180 "BFD_RELOC_NDS32_25_ABS",
2181 "BFD_RELOC_NDS32_DATA",
2182 "BFD_RELOC_NDS32_TRAN",
2183 "BFD_RELOC_NDS32_17IFC_PCREL",
2184 "BFD_RELOC_NDS32_10IFCU_PCREL",
2185 "BFD_RELOC_NDS32_TPOFF",
2186 "BFD_RELOC_NDS32_GOTTPOFF",
2187 "BFD_RELOC_NDS32_TLS_LE_HI20",
2188 "BFD_RELOC_NDS32_TLS_LE_LO12",
2189 "BFD_RELOC_NDS32_TLS_LE_20",
2190 "BFD_RELOC_NDS32_TLS_LE_15S0",
2191 "BFD_RELOC_NDS32_TLS_LE_15S1",
2192 "BFD_RELOC_NDS32_TLS_LE_15S2",
2193 "BFD_RELOC_NDS32_TLS_LE_ADD",
2194 "BFD_RELOC_NDS32_TLS_LE_LS",
2195 "BFD_RELOC_NDS32_TLS_IE_HI20",
2196 "BFD_RELOC_NDS32_TLS_IE_LO12",
2197 "BFD_RELOC_NDS32_TLS_IE_LO12S2",
2198 "BFD_RELOC_NDS32_TLS_IEGP_HI20",
2199 "BFD_RELOC_NDS32_TLS_IEGP_LO12",
2200 "BFD_RELOC_NDS32_TLS_IEGP_LO12S2",
2201 "BFD_RELOC_NDS32_TLS_IEGP_LW",
2202 "BFD_RELOC_NDS32_TLS_DESC",
2203 "BFD_RELOC_NDS32_TLS_DESC_HI20",
2204 "BFD_RELOC_NDS32_TLS_DESC_LO12",
2205 "BFD_RELOC_NDS32_TLS_DESC_20",
2206 "BFD_RELOC_NDS32_TLS_DESC_SDA17S2",
2207 "BFD_RELOC_NDS32_TLS_DESC_ADD",
2208 "BFD_RELOC_NDS32_TLS_DESC_FUNC",
2209 "BFD_RELOC_NDS32_TLS_DESC_CALL",
2210 "BFD_RELOC_NDS32_TLS_DESC_MEM",
2211 "BFD_RELOC_NDS32_REMOVE",
2212 "BFD_RELOC_NDS32_GROUP",
2213 "BFD_RELOC_NDS32_LSI",
2214 "BFD_RELOC_V850_9_PCREL",
2215 "BFD_RELOC_V850_22_PCREL",
2216 "BFD_RELOC_V850_SDA_16_16_OFFSET",
2217 "BFD_RELOC_V850_SDA_15_16_OFFSET",
2218 "BFD_RELOC_V850_ZDA_16_16_OFFSET",
2219 "BFD_RELOC_V850_ZDA_15_16_OFFSET",
2220 "BFD_RELOC_V850_TDA_6_8_OFFSET",
2221 "BFD_RELOC_V850_TDA_7_8_OFFSET",
2222 "BFD_RELOC_V850_TDA_7_7_OFFSET",
2223 "BFD_RELOC_V850_TDA_16_16_OFFSET",
2224 "BFD_RELOC_V850_TDA_4_5_OFFSET",
2225 "BFD_RELOC_V850_TDA_4_4_OFFSET",
2226 "BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET",
2227 "BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET",
2228 "BFD_RELOC_V850_CALLT_6_7_OFFSET",
2229 "BFD_RELOC_V850_CALLT_16_16_OFFSET",
2230 "BFD_RELOC_V850_LONGCALL",
2231 "BFD_RELOC_V850_LONGJUMP",
2232 "BFD_RELOC_V850_ALIGN",
2233 "BFD_RELOC_V850_LO16_SPLIT_OFFSET",
2234 "BFD_RELOC_V850_16_PCREL",
2235 "BFD_RELOC_V850_17_PCREL",
2236 "BFD_RELOC_V850_23",
2237 "BFD_RELOC_V850_32_PCREL",
2238 "BFD_RELOC_V850_32_ABS",
2239 "BFD_RELOC_V850_16_SPLIT_OFFSET",
2240 "BFD_RELOC_V850_16_S1",
2241 "BFD_RELOC_V850_LO16_S1",
2242 "BFD_RELOC_V850_CALLT_15_16_OFFSET",
2243 "BFD_RELOC_V850_32_GOTPCREL",
2244 "BFD_RELOC_V850_16_GOT",
2245 "BFD_RELOC_V850_32_GOT",
2246 "BFD_RELOC_V850_22_PLT_PCREL",
2247 "BFD_RELOC_V850_32_PLT_PCREL",
2248 "BFD_RELOC_V850_COPY",
2249 "BFD_RELOC_V850_GLOB_DAT",
2250 "BFD_RELOC_V850_JMP_SLOT",
2251 "BFD_RELOC_V850_RELATIVE",
2252 "BFD_RELOC_V850_16_GOTOFF",
2253 "BFD_RELOC_V850_32_GOTOFF",
2254 "BFD_RELOC_V850_CODE",
2255 "BFD_RELOC_V850_DATA",
2256 "BFD_RELOC_TIC30_LDP",
2257 "BFD_RELOC_TIC54X_PARTLS7",
2258 "BFD_RELOC_TIC54X_PARTMS9",
2259 "BFD_RELOC_TIC54X_23",
2260 "BFD_RELOC_TIC54X_16_OF_23",
2261 "BFD_RELOC_TIC54X_MS7_OF_23",
2262 "BFD_RELOC_C6000_PCR_S21",
2263 "BFD_RELOC_C6000_PCR_S12",
2264 "BFD_RELOC_C6000_PCR_S10",
2265 "BFD_RELOC_C6000_PCR_S7",
2266 "BFD_RELOC_C6000_ABS_S16",
2267 "BFD_RELOC_C6000_ABS_L16",
2268 "BFD_RELOC_C6000_ABS_H16",
2269 "BFD_RELOC_C6000_SBR_U15_B",
2270 "BFD_RELOC_C6000_SBR_U15_H",
2271 "BFD_RELOC_C6000_SBR_U15_W",
2272 "BFD_RELOC_C6000_SBR_S16",
2273 "BFD_RELOC_C6000_SBR_L16_B",
2274 "BFD_RELOC_C6000_SBR_L16_H",
2275 "BFD_RELOC_C6000_SBR_L16_W",
2276 "BFD_RELOC_C6000_SBR_H16_B",
2277 "BFD_RELOC_C6000_SBR_H16_H",
2278 "BFD_RELOC_C6000_SBR_H16_W",
2279 "BFD_RELOC_C6000_SBR_GOT_U15_W",
2280 "BFD_RELOC_C6000_SBR_GOT_L16_W",
2281 "BFD_RELOC_C6000_SBR_GOT_H16_W",
2282 "BFD_RELOC_C6000_DSBT_INDEX",
2283 "BFD_RELOC_C6000_PREL31",
2284 "BFD_RELOC_C6000_COPY",
2285 "BFD_RELOC_C6000_JUMP_SLOT",
2286 "BFD_RELOC_C6000_EHTYPE",
2287 "BFD_RELOC_C6000_PCR_H16",
2288 "BFD_RELOC_C6000_PCR_L16",
2289 "BFD_RELOC_C6000_ALIGN",
2290 "BFD_RELOC_C6000_FPHEAD",
2291 "BFD_RELOC_C6000_NOCMP",
2292 "BFD_RELOC_FR30_48",
2293 "BFD_RELOC_FR30_20",
2294 "BFD_RELOC_FR30_6_IN_4",
2295 "BFD_RELOC_FR30_8_IN_8",
2296 "BFD_RELOC_FR30_9_IN_8",
2297 "BFD_RELOC_FR30_10_IN_8",
2298 "BFD_RELOC_FR30_9_PCREL",
2299 "BFD_RELOC_FR30_12_PCREL",
2300 "BFD_RELOC_MCORE_PCREL_IMM8BY4",
2301 "BFD_RELOC_MCORE_PCREL_IMM11BY2",
2302 "BFD_RELOC_MCORE_PCREL_IMM4BY2",
2303 "BFD_RELOC_MCORE_PCREL_32",
2304 "BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2",
2305 "BFD_RELOC_MCORE_RVA",
2306 "BFD_RELOC_MEP_8",
2307 "BFD_RELOC_MEP_16",
2308 "BFD_RELOC_MEP_32",
2309 "BFD_RELOC_MEP_PCREL8A2",
2310 "BFD_RELOC_MEP_PCREL12A2",
2311 "BFD_RELOC_MEP_PCREL17A2",
2312 "BFD_RELOC_MEP_PCREL24A2",
2313 "BFD_RELOC_MEP_PCABS24A2",
2314 "BFD_RELOC_MEP_LOW16",
2315 "BFD_RELOC_MEP_HI16U",
2316 "BFD_RELOC_MEP_HI16S",
2317 "BFD_RELOC_MEP_GPREL",
2318 "BFD_RELOC_MEP_TPREL",
2319 "BFD_RELOC_MEP_TPREL7",
2320 "BFD_RELOC_MEP_TPREL7A2",
2321 "BFD_RELOC_MEP_TPREL7A4",
2322 "BFD_RELOC_MEP_UIMM24",
2323 "BFD_RELOC_MEP_ADDR24A4",
2324 "BFD_RELOC_MEP_GNU_VTINHERIT",
2325 "BFD_RELOC_MEP_GNU_VTENTRY",
2326 "BFD_RELOC_METAG_HIADDR16",
2327 "BFD_RELOC_METAG_LOADDR16",
2328 "BFD_RELOC_METAG_RELBRANCH",
2329 "BFD_RELOC_METAG_GETSETOFF",
2330 "BFD_RELOC_METAG_HIOG",
2331 "BFD_RELOC_METAG_LOOG",
2332 "BFD_RELOC_METAG_REL8",
2333 "BFD_RELOC_METAG_REL16",
2334 "BFD_RELOC_METAG_HI16_GOTOFF",
2335 "BFD_RELOC_METAG_LO16_GOTOFF",
2336 "BFD_RELOC_METAG_GETSET_GOTOFF",
2337 "BFD_RELOC_METAG_GETSET_GOT",
2338 "BFD_RELOC_METAG_HI16_GOTPC",
2339 "BFD_RELOC_METAG_LO16_GOTPC",
2340 "BFD_RELOC_METAG_HI16_PLT",
2341 "BFD_RELOC_METAG_LO16_PLT",
2342 "BFD_RELOC_METAG_RELBRANCH_PLT",
2343 "BFD_RELOC_METAG_GOTOFF",
2344 "BFD_RELOC_METAG_PLT",
2345 "BFD_RELOC_METAG_COPY",
2346 "BFD_RELOC_METAG_JMP_SLOT",
2347 "BFD_RELOC_METAG_RELATIVE",
2348 "BFD_RELOC_METAG_GLOB_DAT",
2349 "BFD_RELOC_METAG_TLS_GD",
2350 "BFD_RELOC_METAG_TLS_LDM",
2351 "BFD_RELOC_METAG_TLS_LDO_HI16",
2352 "BFD_RELOC_METAG_TLS_LDO_LO16",
2353 "BFD_RELOC_METAG_TLS_LDO",
2354 "BFD_RELOC_METAG_TLS_IE",
2355 "BFD_RELOC_METAG_TLS_IENONPIC",
2356 "BFD_RELOC_METAG_TLS_IENONPIC_HI16",
2357 "BFD_RELOC_METAG_TLS_IENONPIC_LO16",
2358 "BFD_RELOC_METAG_TLS_TPOFF",
2359 "BFD_RELOC_METAG_TLS_DTPMOD",
2360 "BFD_RELOC_METAG_TLS_DTPOFF",
2361 "BFD_RELOC_METAG_TLS_LE",
2362 "BFD_RELOC_METAG_TLS_LE_HI16",
2363 "BFD_RELOC_METAG_TLS_LE_LO16",
2364 "BFD_RELOC_MMIX_GETA",
2365 "BFD_RELOC_MMIX_GETA_1",
2366 "BFD_RELOC_MMIX_GETA_2",
2367 "BFD_RELOC_MMIX_GETA_3",
2368 "BFD_RELOC_MMIX_CBRANCH",
2369 "BFD_RELOC_MMIX_CBRANCH_J",
2370 "BFD_RELOC_MMIX_CBRANCH_1",
2371 "BFD_RELOC_MMIX_CBRANCH_2",
2372 "BFD_RELOC_MMIX_CBRANCH_3",
2373 "BFD_RELOC_MMIX_PUSHJ",
2374 "BFD_RELOC_MMIX_PUSHJ_1",
2375 "BFD_RELOC_MMIX_PUSHJ_2",
2376 "BFD_RELOC_MMIX_PUSHJ_3",
2377 "BFD_RELOC_MMIX_PUSHJ_STUBBABLE",
2378 "BFD_RELOC_MMIX_JMP",
2379 "BFD_RELOC_MMIX_JMP_1",
2380 "BFD_RELOC_MMIX_JMP_2",
2381 "BFD_RELOC_MMIX_JMP_3",
2382 "BFD_RELOC_MMIX_ADDR19",
2383 "BFD_RELOC_MMIX_ADDR27",
2384 "BFD_RELOC_MMIX_REG_OR_BYTE",
2385 "BFD_RELOC_MMIX_REG",
2386 "BFD_RELOC_MMIX_BASE_PLUS_OFFSET",
2387 "BFD_RELOC_MMIX_LOCAL",
2388 "BFD_RELOC_AVR_7_PCREL",
2389 "BFD_RELOC_AVR_13_PCREL",
2390 "BFD_RELOC_AVR_16_PM",
2391 "BFD_RELOC_AVR_LO8_LDI",
2392 "BFD_RELOC_AVR_HI8_LDI",
2393 "BFD_RELOC_AVR_HH8_LDI",
2394 "BFD_RELOC_AVR_MS8_LDI",
2395 "BFD_RELOC_AVR_LO8_LDI_NEG",
2396 "BFD_RELOC_AVR_HI8_LDI_NEG",
2397 "BFD_RELOC_AVR_HH8_LDI_NEG",
2398 "BFD_RELOC_AVR_MS8_LDI_NEG",
2399 "BFD_RELOC_AVR_LO8_LDI_PM",
2400 "BFD_RELOC_AVR_LO8_LDI_GS",
2401 "BFD_RELOC_AVR_HI8_LDI_PM",
2402 "BFD_RELOC_AVR_HI8_LDI_GS",
2403 "BFD_RELOC_AVR_HH8_LDI_PM",
2404 "BFD_RELOC_AVR_LO8_LDI_PM_NEG",
2405 "BFD_RELOC_AVR_HI8_LDI_PM_NEG",
2406 "BFD_RELOC_AVR_HH8_LDI_PM_NEG",
2407 "BFD_RELOC_AVR_CALL",
2408 "BFD_RELOC_AVR_LDI",
2409 "BFD_RELOC_AVR_6",
2410 "BFD_RELOC_AVR_6_ADIW",
2411 "BFD_RELOC_AVR_8_LO",
2412 "BFD_RELOC_AVR_8_HI",
2413 "BFD_RELOC_AVR_8_HLO",
2414 "BFD_RELOC_AVR_DIFF8",
2415 "BFD_RELOC_AVR_DIFF16",
2416 "BFD_RELOC_AVR_DIFF32",
2417 "BFD_RELOC_AVR_LDS_STS_16",
2418 "BFD_RELOC_AVR_PORT6",
2419 "BFD_RELOC_AVR_PORT5",
2420 "BFD_RELOC_RISCV_HI20",
2421 "BFD_RELOC_RISCV_PCREL_HI20",
2422 "BFD_RELOC_RISCV_PCREL_LO12_I",
2423 "BFD_RELOC_RISCV_PCREL_LO12_S",
2424 "BFD_RELOC_RISCV_LO12_I",
2425 "BFD_RELOC_RISCV_LO12_S",
2426 "BFD_RELOC_RISCV_GPREL12_I",
2427 "BFD_RELOC_RISCV_GPREL12_S",
2428 "BFD_RELOC_RISCV_TPREL_HI20",
2429 "BFD_RELOC_RISCV_TPREL_LO12_I",
2430 "BFD_RELOC_RISCV_TPREL_LO12_S",
2431 "BFD_RELOC_RISCV_TPREL_ADD",
2432 "BFD_RELOC_RISCV_CALL",
2433 "BFD_RELOC_RISCV_CALL_PLT",
2434 "BFD_RELOC_RISCV_ADD8",
2435 "BFD_RELOC_RISCV_ADD16",
2436 "BFD_RELOC_RISCV_ADD32",
2437 "BFD_RELOC_RISCV_ADD64",
2438 "BFD_RELOC_RISCV_SUB8",
2439 "BFD_RELOC_RISCV_SUB16",
2440 "BFD_RELOC_RISCV_SUB32",
2441 "BFD_RELOC_RISCV_SUB64",
2442 "BFD_RELOC_RISCV_GOT_HI20",
2443 "BFD_RELOC_RISCV_TLS_GOT_HI20",
2444 "BFD_RELOC_RISCV_TLS_GD_HI20",
2445 "BFD_RELOC_RISCV_JMP",
2446 "BFD_RELOC_RISCV_TLS_DTPMOD32",
2447 "BFD_RELOC_RISCV_TLS_DTPREL32",
2448 "BFD_RELOC_RISCV_TLS_DTPMOD64",
2449 "BFD_RELOC_RISCV_TLS_DTPREL64",
2450 "BFD_RELOC_RISCV_TLS_TPREL32",
2451 "BFD_RELOC_RISCV_TLS_TPREL64",
2452 "BFD_RELOC_RISCV_TLSDESC_HI20",
2453 "BFD_RELOC_RISCV_TLSDESC_LOAD_LO12",
2454 "BFD_RELOC_RISCV_TLSDESC_ADD_LO12",
2455 "BFD_RELOC_RISCV_TLSDESC_CALL",
2456 "BFD_RELOC_RISCV_ALIGN",
2457 "BFD_RELOC_RISCV_RVC_BRANCH",
2458 "BFD_RELOC_RISCV_RVC_JUMP",
2459 "BFD_RELOC_RISCV_RELAX",
2460 "BFD_RELOC_RISCV_CFA",
2461 "BFD_RELOC_RISCV_SUB6",
2462 "BFD_RELOC_RISCV_SET6",
2463 "BFD_RELOC_RISCV_SET8",
2464 "BFD_RELOC_RISCV_SET16",
2465 "BFD_RELOC_RISCV_SET32",
2466 "BFD_RELOC_RISCV_32_PCREL",
2467 "BFD_RELOC_RISCV_SET_ULEB128",
2468 "BFD_RELOC_RISCV_SUB_ULEB128",
2469 "BFD_RELOC_RL78_NEG8",
2470 "BFD_RELOC_RL78_NEG16",
2471 "BFD_RELOC_RL78_NEG24",
2472 "BFD_RELOC_RL78_NEG32",
2473 "BFD_RELOC_RL78_16_OP",
2474 "BFD_RELOC_RL78_24_OP",
2475 "BFD_RELOC_RL78_32_OP",
2476 "BFD_RELOC_RL78_8U",
2477 "BFD_RELOC_RL78_16U",
2478 "BFD_RELOC_RL78_24U",
2479 "BFD_RELOC_RL78_DIR3U_PCREL",
2480 "BFD_RELOC_RL78_DIFF",
2481 "BFD_RELOC_RL78_GPRELB",
2482 "BFD_RELOC_RL78_GPRELW",
2483 "BFD_RELOC_RL78_GPRELL",
2484 "BFD_RELOC_RL78_SYM",
2485 "BFD_RELOC_RL78_OP_SUBTRACT",
2486 "BFD_RELOC_RL78_OP_NEG",
2487 "BFD_RELOC_RL78_OP_AND",
2488 "BFD_RELOC_RL78_OP_SHRA",
2489 "BFD_RELOC_RL78_ABS8",
2490 "BFD_RELOC_RL78_ABS16",
2491 "BFD_RELOC_RL78_ABS16_REV",
2492 "BFD_RELOC_RL78_ABS32",
2493 "BFD_RELOC_RL78_ABS32_REV",
2494 "BFD_RELOC_RL78_ABS16U",
2495 "BFD_RELOC_RL78_ABS16UW",
2496 "BFD_RELOC_RL78_ABS16UL",
2497 "BFD_RELOC_RL78_RELAX",
2498 "BFD_RELOC_RL78_HI16",
2499 "BFD_RELOC_RL78_HI8",
2500 "BFD_RELOC_RL78_LO16",
2501 "BFD_RELOC_RL78_CODE",
2502 "BFD_RELOC_RL78_SADDR",
2503 "BFD_RELOC_RX_NEG8",
2504 "BFD_RELOC_RX_NEG16",
2505 "BFD_RELOC_RX_NEG24",
2506 "BFD_RELOC_RX_NEG32",
2507 "BFD_RELOC_RX_16_OP",
2508 "BFD_RELOC_RX_24_OP",
2509 "BFD_RELOC_RX_32_OP",
2510 "BFD_RELOC_RX_8U",
2511 "BFD_RELOC_RX_16U",
2512 "BFD_RELOC_RX_24U",
2513 "BFD_RELOC_RX_DIR3U_PCREL",
2514 "BFD_RELOC_RX_DIFF",
2515 "BFD_RELOC_RX_GPRELB",
2516 "BFD_RELOC_RX_GPRELW",
2517 "BFD_RELOC_RX_GPRELL",
2518 "BFD_RELOC_RX_SYM",
2519 "BFD_RELOC_RX_OP_SUBTRACT",
2520 "BFD_RELOC_RX_OP_NEG",
2521 "BFD_RELOC_RX_ABS8",
2522 "BFD_RELOC_RX_ABS16",
2523 "BFD_RELOC_RX_ABS16_REV",
2524 "BFD_RELOC_RX_ABS32",
2525 "BFD_RELOC_RX_ABS32_REV",
2526 "BFD_RELOC_RX_ABS16U",
2527 "BFD_RELOC_RX_ABS16UW",
2528 "BFD_RELOC_RX_ABS16UL",
2529 "BFD_RELOC_RX_RELAX",
2530 "BFD_RELOC_390_12",
2531 "BFD_RELOC_390_GOT12",
2532 "BFD_RELOC_390_PLT32",
2533 "BFD_RELOC_390_COPY",
2534 "BFD_RELOC_390_GLOB_DAT",
2535 "BFD_RELOC_390_JMP_SLOT",
2536 "BFD_RELOC_390_RELATIVE",
2537 "BFD_RELOC_390_GOTPC",
2538 "BFD_RELOC_390_GOT16",
2539 "BFD_RELOC_390_PC12DBL",
2540 "BFD_RELOC_390_PLT12DBL",
2541 "BFD_RELOC_390_PC16DBL",
2542 "BFD_RELOC_390_PLT16DBL",
2543 "BFD_RELOC_390_PC24DBL",
2544 "BFD_RELOC_390_PLT24DBL",
2545 "BFD_RELOC_390_PC32DBL",
2546 "BFD_RELOC_390_PLT32DBL",
2547 "BFD_RELOC_390_GOTPCDBL",
2548 "BFD_RELOC_390_GOT64",
2549 "BFD_RELOC_390_PLT64",
2550 "BFD_RELOC_390_GOTENT",
2551 "BFD_RELOC_390_GOTOFF64",
2552 "BFD_RELOC_390_GOTPLT12",
2553 "BFD_RELOC_390_GOTPLT16",
2554 "BFD_RELOC_390_GOTPLT32",
2555 "BFD_RELOC_390_GOTPLT64",
2556 "BFD_RELOC_390_GOTPLTENT",
2557 "BFD_RELOC_390_PLTOFF16",
2558 "BFD_RELOC_390_PLTOFF32",
2559 "BFD_RELOC_390_PLTOFF64",
2560 "BFD_RELOC_390_TLS_LOAD",
2561 "BFD_RELOC_390_TLS_GDCALL",
2562 "BFD_RELOC_390_TLS_LDCALL",
2563 "BFD_RELOC_390_TLS_GD32",
2564 "BFD_RELOC_390_TLS_GD64",
2565 "BFD_RELOC_390_TLS_GOTIE12",
2566 "BFD_RELOC_390_TLS_GOTIE32",
2567 "BFD_RELOC_390_TLS_GOTIE64",
2568 "BFD_RELOC_390_TLS_LDM32",
2569 "BFD_RELOC_390_TLS_LDM64",
2570 "BFD_RELOC_390_TLS_IE32",
2571 "BFD_RELOC_390_TLS_IE64",
2572 "BFD_RELOC_390_TLS_IEENT",
2573 "BFD_RELOC_390_TLS_LE32",
2574 "BFD_RELOC_390_TLS_LE64",
2575 "BFD_RELOC_390_TLS_LDO32",
2576 "BFD_RELOC_390_TLS_LDO64",
2577 "BFD_RELOC_390_TLS_DTPMOD",
2578 "BFD_RELOC_390_TLS_DTPOFF",
2579 "BFD_RELOC_390_TLS_TPOFF",
2580 "BFD_RELOC_390_20",
2581 "BFD_RELOC_390_GOT20",
2582 "BFD_RELOC_390_GOTPLT20",
2583 "BFD_RELOC_390_TLS_GOTIE20",
2584 "BFD_RELOC_390_IRELATIVE",
2585 "BFD_RELOC_SCORE_GPREL15",
2586 "BFD_RELOC_SCORE_DUMMY2",
2587 "BFD_RELOC_SCORE_JMP",
2588 "BFD_RELOC_SCORE_BRANCH",
2589 "BFD_RELOC_SCORE_IMM30",
2590 "BFD_RELOC_SCORE_IMM32",
2591 "BFD_RELOC_SCORE16_JMP",
2592 "BFD_RELOC_SCORE16_BRANCH",
2593 "BFD_RELOC_SCORE_BCMP",
2594 "BFD_RELOC_SCORE_GOT15",
2595 "BFD_RELOC_SCORE_GOT_LO16",
2596 "BFD_RELOC_SCORE_CALL15",
2597 "BFD_RELOC_SCORE_DUMMY_HI16",
2598 "BFD_RELOC_IP2K_FR9",
2599 "BFD_RELOC_IP2K_BANK",
2600 "BFD_RELOC_IP2K_ADDR16CJP",
2601 "BFD_RELOC_IP2K_PAGE3",
2602 "BFD_RELOC_IP2K_LO8DATA",
2603 "BFD_RELOC_IP2K_HI8DATA",
2604 "BFD_RELOC_IP2K_EX8DATA",
2605 "BFD_RELOC_IP2K_LO8INSN",
2606 "BFD_RELOC_IP2K_HI8INSN",
2607 "BFD_RELOC_IP2K_PC_SKIP",
2608 "BFD_RELOC_IP2K_TEXT",
2609 "BFD_RELOC_IP2K_FR_OFFSET",
2610 "BFD_RELOC_VPE4KMATH_DATA",
2611 "BFD_RELOC_VPE4KMATH_INSN",
2612 "BFD_RELOC_VTABLE_INHERIT",
2613 "BFD_RELOC_VTABLE_ENTRY",
2614 "BFD_RELOC_IA64_IMM14",
2615 "BFD_RELOC_IA64_IMM22",
2616 "BFD_RELOC_IA64_IMM64",
2617 "BFD_RELOC_IA64_DIR32MSB",
2618 "BFD_RELOC_IA64_DIR32LSB",
2619 "BFD_RELOC_IA64_DIR64MSB",
2620 "BFD_RELOC_IA64_DIR64LSB",
2621 "BFD_RELOC_IA64_GPREL22",
2622 "BFD_RELOC_IA64_GPREL64I",
2623 "BFD_RELOC_IA64_GPREL32MSB",
2624 "BFD_RELOC_IA64_GPREL32LSB",
2625 "BFD_RELOC_IA64_GPREL64MSB",
2626 "BFD_RELOC_IA64_GPREL64LSB",
2627 "BFD_RELOC_IA64_LTOFF22",
2628 "BFD_RELOC_IA64_LTOFF64I",
2629 "BFD_RELOC_IA64_PLTOFF22",
2630 "BFD_RELOC_IA64_PLTOFF64I",
2631 "BFD_RELOC_IA64_PLTOFF64MSB",
2632 "BFD_RELOC_IA64_PLTOFF64LSB",
2633 "BFD_RELOC_IA64_FPTR64I",
2634 "BFD_RELOC_IA64_FPTR32MSB",
2635 "BFD_RELOC_IA64_FPTR32LSB",
2636 "BFD_RELOC_IA64_FPTR64MSB",
2637 "BFD_RELOC_IA64_FPTR64LSB",
2638 "BFD_RELOC_IA64_PCREL21B",
2639 "BFD_RELOC_IA64_PCREL21BI",
2640 "BFD_RELOC_IA64_PCREL21M",
2641 "BFD_RELOC_IA64_PCREL21F",
2642 "BFD_RELOC_IA64_PCREL22",
2643 "BFD_RELOC_IA64_PCREL60B",
2644 "BFD_RELOC_IA64_PCREL64I",
2645 "BFD_RELOC_IA64_PCREL32MSB",
2646 "BFD_RELOC_IA64_PCREL32LSB",
2647 "BFD_RELOC_IA64_PCREL64MSB",
2648 "BFD_RELOC_IA64_PCREL64LSB",
2649 "BFD_RELOC_IA64_LTOFF_FPTR22",
2650 "BFD_RELOC_IA64_LTOFF_FPTR64I",
2651 "BFD_RELOC_IA64_LTOFF_FPTR32MSB",
2652 "BFD_RELOC_IA64_LTOFF_FPTR32LSB",
2653 "BFD_RELOC_IA64_LTOFF_FPTR64MSB",
2654 "BFD_RELOC_IA64_LTOFF_FPTR64LSB",
2655 "BFD_RELOC_IA64_SEGREL32MSB",
2656 "BFD_RELOC_IA64_SEGREL32LSB",
2657 "BFD_RELOC_IA64_SEGREL64MSB",
2658 "BFD_RELOC_IA64_SEGREL64LSB",
2659 "BFD_RELOC_IA64_SECREL32MSB",
2660 "BFD_RELOC_IA64_SECREL32LSB",
2661 "BFD_RELOC_IA64_SECREL64MSB",
2662 "BFD_RELOC_IA64_SECREL64LSB",
2663 "BFD_RELOC_IA64_REL32MSB",
2664 "BFD_RELOC_IA64_REL32LSB",
2665 "BFD_RELOC_IA64_REL64MSB",
2666 "BFD_RELOC_IA64_REL64LSB",
2667 "BFD_RELOC_IA64_LTV32MSB",
2668 "BFD_RELOC_IA64_LTV32LSB",
2669 "BFD_RELOC_IA64_LTV64MSB",
2670 "BFD_RELOC_IA64_LTV64LSB",
2671 "BFD_RELOC_IA64_IPLTMSB",
2672 "BFD_RELOC_IA64_IPLTLSB",
2673 "BFD_RELOC_IA64_COPY",
2674 "BFD_RELOC_IA64_LTOFF22X",
2675 "BFD_RELOC_IA64_LDXMOV",
2676 "BFD_RELOC_IA64_TPREL14",
2677 "BFD_RELOC_IA64_TPREL22",
2678 "BFD_RELOC_IA64_TPREL64I",
2679 "BFD_RELOC_IA64_TPREL64MSB",
2680 "BFD_RELOC_IA64_TPREL64LSB",
2681 "BFD_RELOC_IA64_LTOFF_TPREL22",
2682 "BFD_RELOC_IA64_DTPMOD64MSB",
2683 "BFD_RELOC_IA64_DTPMOD64LSB",
2684 "BFD_RELOC_IA64_LTOFF_DTPMOD22",
2685 "BFD_RELOC_IA64_DTPREL14",
2686 "BFD_RELOC_IA64_DTPREL22",
2687 "BFD_RELOC_IA64_DTPREL64I",
2688 "BFD_RELOC_IA64_DTPREL32MSB",
2689 "BFD_RELOC_IA64_DTPREL32LSB",
2690 "BFD_RELOC_IA64_DTPREL64MSB",
2691 "BFD_RELOC_IA64_DTPREL64LSB",
2692 "BFD_RELOC_IA64_LTOFF_DTPREL22",
2693 "BFD_RELOC_M68HC11_HI8",
2694 "BFD_RELOC_M68HC11_LO8",
2695 "BFD_RELOC_M68HC11_3B",
2696 "BFD_RELOC_M68HC11_RL_JUMP",
2697 "BFD_RELOC_M68HC11_RL_GROUP",
2698 "BFD_RELOC_M68HC11_LO16",
2699 "BFD_RELOC_M68HC11_PAGE",
2700 "BFD_RELOC_M68HC11_24",
2701 "BFD_RELOC_M68HC12_5B",
2702 "BFD_RELOC_XGATE_RL_JUMP",
2703 "BFD_RELOC_XGATE_RL_GROUP",
2704 "BFD_RELOC_XGATE_LO16",
2705 "BFD_RELOC_XGATE_GPAGE",
2706 "BFD_RELOC_XGATE_24",
2707 "BFD_RELOC_XGATE_PCREL_9",
2708 "BFD_RELOC_XGATE_PCREL_10",
2709 "BFD_RELOC_XGATE_IMM8_LO",
2710 "BFD_RELOC_XGATE_IMM8_HI",
2711 "BFD_RELOC_XGATE_IMM3",
2712 "BFD_RELOC_XGATE_IMM4",
2713 "BFD_RELOC_XGATE_IMM5",
2714 "BFD_RELOC_M68HC12_9B",
2715 "BFD_RELOC_M68HC12_16B",
2716 "BFD_RELOC_M68HC12_9_PCREL",
2717 "BFD_RELOC_M68HC12_10_PCREL",
2718 "BFD_RELOC_M68HC12_LO8XG",
2719 "BFD_RELOC_M68HC12_HI8XG",
2720 "BFD_RELOC_S12Z_15_PCREL",
2721 "BFD_RELOC_CR16_NUM8",
2722 "BFD_RELOC_CR16_NUM16",
2723 "BFD_RELOC_CR16_NUM32",
2724 "BFD_RELOC_CR16_NUM32a",
2725 "BFD_RELOC_CR16_REGREL0",
2726 "BFD_RELOC_CR16_REGREL4",
2727 "BFD_RELOC_CR16_REGREL4a",
2728 "BFD_RELOC_CR16_REGREL14",
2729 "BFD_RELOC_CR16_REGREL14a",
2730 "BFD_RELOC_CR16_REGREL16",
2731 "BFD_RELOC_CR16_REGREL20",
2732 "BFD_RELOC_CR16_REGREL20a",
2733 "BFD_RELOC_CR16_ABS20",
2734 "BFD_RELOC_CR16_ABS24",
2735 "BFD_RELOC_CR16_IMM4",
2736 "BFD_RELOC_CR16_IMM8",
2737 "BFD_RELOC_CR16_IMM16",
2738 "BFD_RELOC_CR16_IMM20",
2739 "BFD_RELOC_CR16_IMM24",
2740 "BFD_RELOC_CR16_IMM32",
2741 "BFD_RELOC_CR16_IMM32a",
2742 "BFD_RELOC_CR16_DISP4",
2743 "BFD_RELOC_CR16_DISP8",
2744 "BFD_RELOC_CR16_DISP16",
2745 "BFD_RELOC_CR16_DISP20",
2746 "BFD_RELOC_CR16_DISP24",
2747 "BFD_RELOC_CR16_DISP24a",
2748 "BFD_RELOC_CR16_SWITCH8",
2749 "BFD_RELOC_CR16_SWITCH16",
2750 "BFD_RELOC_CR16_SWITCH32",
2751 "BFD_RELOC_CR16_GOT_REGREL20",
2752 "BFD_RELOC_CR16_GOTC_REGREL20",
2753 "BFD_RELOC_CR16_GLOB_DAT",
2754 "BFD_RELOC_CRX_REL4",
2755 "BFD_RELOC_CRX_REL8",
2756 "BFD_RELOC_CRX_REL8_CMP",
2757 "BFD_RELOC_CRX_REL16",
2758 "BFD_RELOC_CRX_REL24",
2759 "BFD_RELOC_CRX_REL32",
2760 "BFD_RELOC_CRX_REGREL12",
2761 "BFD_RELOC_CRX_REGREL22",
2762 "BFD_RELOC_CRX_REGREL28",
2763 "BFD_RELOC_CRX_REGREL32",
2764 "BFD_RELOC_CRX_ABS16",
2765 "BFD_RELOC_CRX_ABS32",
2766 "BFD_RELOC_CRX_NUM8",
2767 "BFD_RELOC_CRX_NUM16",
2768 "BFD_RELOC_CRX_NUM32",
2769 "BFD_RELOC_CRX_IMM16",
2770 "BFD_RELOC_CRX_IMM32",
2771 "BFD_RELOC_CRX_SWITCH8",
2772 "BFD_RELOC_CRX_SWITCH16",
2773 "BFD_RELOC_CRX_SWITCH32",
2774 "BFD_RELOC_CRIS_BDISP8",
2775 "BFD_RELOC_CRIS_UNSIGNED_5",
2776 "BFD_RELOC_CRIS_SIGNED_6",
2777 "BFD_RELOC_CRIS_UNSIGNED_6",
2778 "BFD_RELOC_CRIS_SIGNED_8",
2779 "BFD_RELOC_CRIS_UNSIGNED_8",
2780 "BFD_RELOC_CRIS_SIGNED_16",
2781 "BFD_RELOC_CRIS_UNSIGNED_16",
2782 "BFD_RELOC_CRIS_LAPCQ_OFFSET",
2783 "BFD_RELOC_CRIS_UNSIGNED_4",
2784 "BFD_RELOC_CRIS_COPY",
2785 "BFD_RELOC_CRIS_GLOB_DAT",
2786 "BFD_RELOC_CRIS_JUMP_SLOT",
2787 "BFD_RELOC_CRIS_RELATIVE",
2788 "BFD_RELOC_CRIS_32_GOT",
2789 "BFD_RELOC_CRIS_16_GOT",
2790 "BFD_RELOC_CRIS_32_GOTPLT",
2791 "BFD_RELOC_CRIS_16_GOTPLT",
2792 "BFD_RELOC_CRIS_32_GOTREL",
2793 "BFD_RELOC_CRIS_32_PLT_GOTREL",
2794 "BFD_RELOC_CRIS_32_PLT_PCREL",
2795 "BFD_RELOC_CRIS_32_GOT_GD",
2796 "BFD_RELOC_CRIS_16_GOT_GD",
2797 "BFD_RELOC_CRIS_32_GD",
2798 "BFD_RELOC_CRIS_DTP",
2799 "BFD_RELOC_CRIS_32_DTPREL",
2800 "BFD_RELOC_CRIS_16_DTPREL",
2801 "BFD_RELOC_CRIS_32_GOT_TPREL",
2802 "BFD_RELOC_CRIS_16_GOT_TPREL",
2803 "BFD_RELOC_CRIS_32_TPREL",
2804 "BFD_RELOC_CRIS_16_TPREL",
2805 "BFD_RELOC_CRIS_DTPMOD",
2806 "BFD_RELOC_CRIS_32_IE",
2807 "BFD_RELOC_OR1K_REL_26",
2808 "BFD_RELOC_OR1K_SLO16",
2809 "BFD_RELOC_OR1K_PCREL_PG21",
2810 "BFD_RELOC_OR1K_LO13",
2811 "BFD_RELOC_OR1K_SLO13",
2812 "BFD_RELOC_OR1K_GOTPC_HI16",
2813 "BFD_RELOC_OR1K_GOTPC_LO16",
2814 "BFD_RELOC_OR1K_GOT_AHI16",
2815 "BFD_RELOC_OR1K_GOT16",
2816 "BFD_RELOC_OR1K_GOT_PG21",
2817 "BFD_RELOC_OR1K_GOT_LO13",
2818 "BFD_RELOC_OR1K_PLT26",
2819 "BFD_RELOC_OR1K_PLTA26",
2820 "BFD_RELOC_OR1K_GOTOFF_SLO16",
2821 "BFD_RELOC_OR1K_COPY",
2822 "BFD_RELOC_OR1K_GLOB_DAT",
2823 "BFD_RELOC_OR1K_JMP_SLOT",
2824 "BFD_RELOC_OR1K_RELATIVE",
2825 "BFD_RELOC_OR1K_TLS_GD_HI16",
2826 "BFD_RELOC_OR1K_TLS_GD_LO16",
2827 "BFD_RELOC_OR1K_TLS_GD_PG21",
2828 "BFD_RELOC_OR1K_TLS_GD_LO13",
2829 "BFD_RELOC_OR1K_TLS_LDM_HI16",
2830 "BFD_RELOC_OR1K_TLS_LDM_LO16",
2831 "BFD_RELOC_OR1K_TLS_LDM_PG21",
2832 "BFD_RELOC_OR1K_TLS_LDM_LO13",
2833 "BFD_RELOC_OR1K_TLS_LDO_HI16",
2834 "BFD_RELOC_OR1K_TLS_LDO_LO16",
2835 "BFD_RELOC_OR1K_TLS_IE_HI16",
2836 "BFD_RELOC_OR1K_TLS_IE_AHI16",
2837 "BFD_RELOC_OR1K_TLS_IE_LO16",
2838 "BFD_RELOC_OR1K_TLS_IE_PG21",
2839 "BFD_RELOC_OR1K_TLS_IE_LO13",
2840 "BFD_RELOC_OR1K_TLS_LE_HI16",
2841 "BFD_RELOC_OR1K_TLS_LE_AHI16",
2842 "BFD_RELOC_OR1K_TLS_LE_LO16",
2843 "BFD_RELOC_OR1K_TLS_LE_SLO16",
2844 "BFD_RELOC_OR1K_TLS_TPOFF",
2845 "BFD_RELOC_OR1K_TLS_DTPOFF",
2846 "BFD_RELOC_OR1K_TLS_DTPMOD",
2847 "BFD_RELOC_H8_DIR16A8",
2848 "BFD_RELOC_H8_DIR16R8",
2849 "BFD_RELOC_H8_DIR24A8",
2850 "BFD_RELOC_H8_DIR24R8",
2851 "BFD_RELOC_H8_DIR32A16",
2852 "BFD_RELOC_H8_DISP32A16",
2853 "BFD_RELOC_XSTORMY16_REL_12",
2854 "BFD_RELOC_XSTORMY16_12",
2855 "BFD_RELOC_XSTORMY16_24",
2856 "BFD_RELOC_XSTORMY16_FPTR16",
2857 "BFD_RELOC_RELC",
2858 "BFD_RELOC_VAX_GLOB_DAT",
2859 "BFD_RELOC_VAX_GLOB_REF",
2860 "BFD_RELOC_VAX_JMP_SLOT",
2861 "BFD_RELOC_VAX_RELATIVE",
2862 "BFD_RELOC_MT_PC16",
2863 "BFD_RELOC_MT_HI16",
2864 "BFD_RELOC_MT_LO16",
2865 "BFD_RELOC_MT_GNU_VTINHERIT",
2866 "BFD_RELOC_MT_GNU_VTENTRY",
2867 "BFD_RELOC_MT_PCINSN8",
2868 "BFD_RELOC_MSP430_10_PCREL",
2869 "BFD_RELOC_MSP430_16_PCREL",
2870 "BFD_RELOC_MSP430_16",
2871 "BFD_RELOC_MSP430_16_PCREL_BYTE",
2872 "BFD_RELOC_MSP430_16_BYTE",
2873 "BFD_RELOC_MSP430_2X_PCREL",
2874 "BFD_RELOC_MSP430_RL_PCREL",
2875 "BFD_RELOC_MSP430_ABS8",
2876 "BFD_RELOC_MSP430X_PCR20_EXT_SRC",
2877 "BFD_RELOC_MSP430X_PCR20_EXT_DST",
2878 "BFD_RELOC_MSP430X_PCR20_EXT_ODST",
2879 "BFD_RELOC_MSP430X_ABS20_EXT_SRC",
2880 "BFD_RELOC_MSP430X_ABS20_EXT_DST",
2881 "BFD_RELOC_MSP430X_ABS20_EXT_ODST",
2882 "BFD_RELOC_MSP430X_ABS20_ADR_SRC",
2883 "BFD_RELOC_MSP430X_ABS20_ADR_DST",
2884 "BFD_RELOC_MSP430X_PCR16",
2885 "BFD_RELOC_MSP430X_PCR20_CALL",
2886 "BFD_RELOC_MSP430X_ABS16",
2887 "BFD_RELOC_MSP430_ABS_HI16",
2888 "BFD_RELOC_MSP430_PREL31",
2889 "BFD_RELOC_MSP430_SYM_DIFF",
2890 "BFD_RELOC_MSP430_SET_ULEB128",
2891 "BFD_RELOC_MSP430_SUB_ULEB128",
2892 "BFD_RELOC_PRU_U16",
2893 "BFD_RELOC_PRU_U16_PMEMIMM",
2894 "BFD_RELOC_PRU_LDI32",
2895 "BFD_RELOC_PRU_S10_PCREL",
2896 "BFD_RELOC_PRU_U8_PCREL",
2897 "BFD_RELOC_PRU_32_PMEM",
2898 "BFD_RELOC_PRU_16_PMEM",
2899 "BFD_RELOC_PRU_GNU_DIFF8",
2900 "BFD_RELOC_PRU_GNU_DIFF16",
2901 "BFD_RELOC_PRU_GNU_DIFF32",
2902 "BFD_RELOC_PRU_GNU_DIFF16_PMEM",
2903 "BFD_RELOC_PRU_GNU_DIFF32_PMEM",
2904 "BFD_RELOC_IQ2000_OFFSET_16",
2905 "BFD_RELOC_IQ2000_OFFSET_21",
2906 "BFD_RELOC_IQ2000_UHI16",
2907 "BFD_RELOC_XTENSA_RTLD",
2908 "BFD_RELOC_XTENSA_GLOB_DAT",
2909 "BFD_RELOC_XTENSA_JMP_SLOT",
2910 "BFD_RELOC_XTENSA_RELATIVE",
2911 "BFD_RELOC_XTENSA_PLT",
2912 "BFD_RELOC_XTENSA_DIFF8",
2913 "BFD_RELOC_XTENSA_DIFF16",
2914 "BFD_RELOC_XTENSA_DIFF32",
2915 "BFD_RELOC_XTENSA_SLOT0_OP",
2916 "BFD_RELOC_XTENSA_SLOT1_OP",
2917 "BFD_RELOC_XTENSA_SLOT2_OP",
2918 "BFD_RELOC_XTENSA_SLOT3_OP",
2919 "BFD_RELOC_XTENSA_SLOT4_OP",
2920 "BFD_RELOC_XTENSA_SLOT5_OP",
2921 "BFD_RELOC_XTENSA_SLOT6_OP",
2922 "BFD_RELOC_XTENSA_SLOT7_OP",
2923 "BFD_RELOC_XTENSA_SLOT8_OP",
2924 "BFD_RELOC_XTENSA_SLOT9_OP",
2925 "BFD_RELOC_XTENSA_SLOT10_OP",
2926 "BFD_RELOC_XTENSA_SLOT11_OP",
2927 "BFD_RELOC_XTENSA_SLOT12_OP",
2928 "BFD_RELOC_XTENSA_SLOT13_OP",
2929 "BFD_RELOC_XTENSA_SLOT14_OP",
2930 "BFD_RELOC_XTENSA_SLOT0_ALT",
2931 "BFD_RELOC_XTENSA_SLOT1_ALT",
2932 "BFD_RELOC_XTENSA_SLOT2_ALT",
2933 "BFD_RELOC_XTENSA_SLOT3_ALT",
2934 "BFD_RELOC_XTENSA_SLOT4_ALT",
2935 "BFD_RELOC_XTENSA_SLOT5_ALT",
2936 "BFD_RELOC_XTENSA_SLOT6_ALT",
2937 "BFD_RELOC_XTENSA_SLOT7_ALT",
2938 "BFD_RELOC_XTENSA_SLOT8_ALT",
2939 "BFD_RELOC_XTENSA_SLOT9_ALT",
2940 "BFD_RELOC_XTENSA_SLOT10_ALT",
2941 "BFD_RELOC_XTENSA_SLOT11_ALT",
2942 "BFD_RELOC_XTENSA_SLOT12_ALT",
2943 "BFD_RELOC_XTENSA_SLOT13_ALT",
2944 "BFD_RELOC_XTENSA_SLOT14_ALT",
2945 "BFD_RELOC_XTENSA_OP0",
2946 "BFD_RELOC_XTENSA_OP1",
2947 "BFD_RELOC_XTENSA_OP2",
2948 "BFD_RELOC_XTENSA_ASM_EXPAND",
2949 "BFD_RELOC_XTENSA_ASM_SIMPLIFY",
2950 "BFD_RELOC_XTENSA_TLSDESC_FN",
2951 "BFD_RELOC_XTENSA_TLSDESC_ARG",
2952 "BFD_RELOC_XTENSA_TLS_DTPOFF",
2953 "BFD_RELOC_XTENSA_TLS_TPOFF",
2954 "BFD_RELOC_XTENSA_TLS_FUNC",
2955 "BFD_RELOC_XTENSA_TLS_ARG",
2956 "BFD_RELOC_XTENSA_TLS_CALL",
2957 "BFD_RELOC_XTENSA_PDIFF8",
2958 "BFD_RELOC_XTENSA_PDIFF16",
2959 "BFD_RELOC_XTENSA_PDIFF32",
2960 "BFD_RELOC_XTENSA_NDIFF8",
2961 "BFD_RELOC_XTENSA_NDIFF16",
2962 "BFD_RELOC_XTENSA_NDIFF32",
2963 "BFD_RELOC_Z80_DISP8",
2964 "BFD_RELOC_Z80_BYTE0",
2965 "BFD_RELOC_Z80_BYTE1",
2966 "BFD_RELOC_Z80_BYTE2",
2967 "BFD_RELOC_Z80_BYTE3",
2968 "BFD_RELOC_Z80_WORD0",
2969 "BFD_RELOC_Z80_WORD1",
2970 "BFD_RELOC_Z80_16_BE",
2971 "BFD_RELOC_Z8K_DISP7",
2972 "BFD_RELOC_Z8K_CALLR",
2973 "BFD_RELOC_Z8K_IMM4L",
2974 "BFD_RELOC_LM32_CALL",
2975 "BFD_RELOC_LM32_BRANCH",
2976 "BFD_RELOC_LM32_16_GOT",
2977 "BFD_RELOC_LM32_GOTOFF_HI16",
2978 "BFD_RELOC_LM32_GOTOFF_LO16",
2979 "BFD_RELOC_LM32_COPY",
2980 "BFD_RELOC_LM32_GLOB_DAT",
2981 "BFD_RELOC_LM32_JMP_SLOT",
2982 "BFD_RELOC_LM32_RELATIVE",
2983 "BFD_RELOC_MACH_O_SECTDIFF",
2984 "BFD_RELOC_MACH_O_LOCAL_SECTDIFF",
2985 "BFD_RELOC_MACH_O_PAIR",
2986 "BFD_RELOC_MACH_O_SUBTRACTOR32",
2987 "BFD_RELOC_MACH_O_SUBTRACTOR64",
2988 "BFD_RELOC_MACH_O_X86_64_BRANCH32",
2989 "BFD_RELOC_MACH_O_X86_64_BRANCH8",
2990 "BFD_RELOC_MACH_O_X86_64_GOT",
2991 "BFD_RELOC_MACH_O_X86_64_GOT_LOAD",
2992 "BFD_RELOC_MACH_O_X86_64_PCREL32_1",
2993 "BFD_RELOC_MACH_O_X86_64_PCREL32_2",
2994 "BFD_RELOC_MACH_O_X86_64_PCREL32_4",
2995 "BFD_RELOC_MACH_O_X86_64_TLV",
2996 "BFD_RELOC_MACH_O_ARM64_ADDEND",
2997 "BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGE21",
2998 "BFD_RELOC_MACH_O_ARM64_GOT_LOAD_PAGEOFF12",
2999 "BFD_RELOC_MACH_O_ARM64_POINTER_TO_GOT",
3000 "BFD_RELOC_MICROBLAZE_32_LO",
3001 "BFD_RELOC_MICROBLAZE_32_LO_PCREL",
3002 "BFD_RELOC_MICROBLAZE_32_ROSDA",
3003 "BFD_RELOC_MICROBLAZE_32_RWSDA",
3004 "BFD_RELOC_MICROBLAZE_32_SYM_OP_SYM",
3005 "BFD_RELOC_MICROBLAZE_32_NONE",
3006 "BFD_RELOC_MICROBLAZE_64_NONE",
3007 "BFD_RELOC_MICROBLAZE_64_GOTPC",
3008 "BFD_RELOC_MICROBLAZE_64_GOT",
3009 "BFD_RELOC_MICROBLAZE_64_PLT",
3010 "BFD_RELOC_MICROBLAZE_64_GOTOFF",
3011 "BFD_RELOC_MICROBLAZE_32_GOTOFF",
3012 "BFD_RELOC_MICROBLAZE_COPY",
3013 "BFD_RELOC_MICROBLAZE_64_TLS",
3014 "BFD_RELOC_MICROBLAZE_64_TLSGD",
3015 "BFD_RELOC_MICROBLAZE_64_TLSLD",
3016 "BFD_RELOC_MICROBLAZE_32_TLSDTPMOD",
3017 "BFD_RELOC_MICROBLAZE_32_TLSDTPREL",
3018 "BFD_RELOC_MICROBLAZE_64_TLSDTPREL",
3019 "BFD_RELOC_MICROBLAZE_64_TLSGOTTPREL",
3020 "BFD_RELOC_MICROBLAZE_64_TLSTPREL",
3021 "BFD_RELOC_MICROBLAZE_64_TEXTPCREL",
3022 "BFD_RELOC_MICROBLAZE_64_TEXTREL",
3023 "BFD_RELOC_KVX_RELOC_START",
3024 "BFD_RELOC_KVX_NONE",
3025 "BFD_RELOC_KVX_16",
3026 "BFD_RELOC_KVX_32",
3027 "BFD_RELOC_KVX_64",
3028 "BFD_RELOC_KVX_S16_PCREL",
3029 "BFD_RELOC_KVX_PCREL17",
3030 "BFD_RELOC_KVX_PCREL27",
3031 "BFD_RELOC_KVX_32_PCREL",
3032 "BFD_RELOC_KVX_S37_PCREL_LO10",
3033 "BFD_RELOC_KVX_S37_PCREL_UP27",
3034 "BFD_RELOC_KVX_S43_PCREL_LO10",
3035 "BFD_RELOC_KVX_S43_PCREL_UP27",
3036 "BFD_RELOC_KVX_S43_PCREL_EX6",
3037 "BFD_RELOC_KVX_S64_PCREL_LO10",
3038 "BFD_RELOC_KVX_S64_PCREL_UP27",
3039 "BFD_RELOC_KVX_S64_PCREL_EX27",
3040 "BFD_RELOC_KVX_64_PCREL",
3041 "BFD_RELOC_KVX_S16",
3042 "BFD_RELOC_KVX_S32_LO5",
3043 "BFD_RELOC_KVX_S32_UP27",
3044 "BFD_RELOC_KVX_S37_LO10",
3045 "BFD_RELOC_KVX_S37_UP27",
3046 "BFD_RELOC_KVX_S37_GOTOFF_LO10",
3047 "BFD_RELOC_KVX_S37_GOTOFF_UP27",
3048 "BFD_RELOC_KVX_S43_GOTOFF_LO10",
3049 "BFD_RELOC_KVX_S43_GOTOFF_UP27",
3050 "BFD_RELOC_KVX_S43_GOTOFF_EX6",
3051 "BFD_RELOC_KVX_32_GOTOFF",
3052 "BFD_RELOC_KVX_64_GOTOFF",
3053 "BFD_RELOC_KVX_32_GOT",
3054 "BFD_RELOC_KVX_S37_GOT_LO10",
3055 "BFD_RELOC_KVX_S37_GOT_UP27",
3056 "BFD_RELOC_KVX_S43_GOT_LO10",
3057 "BFD_RELOC_KVX_S43_GOT_UP27",
3058 "BFD_RELOC_KVX_S43_GOT_EX6",
3059 "BFD_RELOC_KVX_64_GOT",
3060 "BFD_RELOC_KVX_GLOB_DAT",
3061 "BFD_RELOC_KVX_COPY",
3062 "BFD_RELOC_KVX_JMP_SLOT",
3063 "BFD_RELOC_KVX_RELATIVE",
3064 "BFD_RELOC_KVX_S43_LO10",
3065 "BFD_RELOC_KVX_S43_UP27",
3066 "BFD_RELOC_KVX_S43_EX6",
3067 "BFD_RELOC_KVX_S64_LO10",
3068 "BFD_RELOC_KVX_S64_UP27",
3069 "BFD_RELOC_KVX_S64_EX27",
3070 "BFD_RELOC_KVX_S37_GOTADDR_LO10",
3071 "BFD_RELOC_KVX_S37_GOTADDR_UP27",
3072 "BFD_RELOC_KVX_S43_GOTADDR_LO10",
3073 "BFD_RELOC_KVX_S43_GOTADDR_UP27",
3074 "BFD_RELOC_KVX_S43_GOTADDR_EX6",
3075 "BFD_RELOC_KVX_S64_GOTADDR_LO10",
3076 "BFD_RELOC_KVX_S64_GOTADDR_UP27",
3077 "BFD_RELOC_KVX_S64_GOTADDR_EX27",
3078 "BFD_RELOC_KVX_64_DTPMOD",
3079 "BFD_RELOC_KVX_64_DTPOFF",
3080 "BFD_RELOC_KVX_S37_TLS_DTPOFF_LO10",
3081 "BFD_RELOC_KVX_S37_TLS_DTPOFF_UP27",
3082 "BFD_RELOC_KVX_S43_TLS_DTPOFF_LO10",
3083 "BFD_RELOC_KVX_S43_TLS_DTPOFF_UP27",
3084 "BFD_RELOC_KVX_S43_TLS_DTPOFF_EX6",
3085 "BFD_RELOC_KVX_S37_TLS_GD_LO10",
3086 "BFD_RELOC_KVX_S37_TLS_GD_UP27",
3087 "BFD_RELOC_KVX_S43_TLS_GD_LO10",
3088 "BFD_RELOC_KVX_S43_TLS_GD_UP27",
3089 "BFD_RELOC_KVX_S43_TLS_GD_EX6",
3090 "BFD_RELOC_KVX_S37_TLS_LD_LO10",
3091 "BFD_RELOC_KVX_S37_TLS_LD_UP27",
3092 "BFD_RELOC_KVX_S43_TLS_LD_LO10",
3093 "BFD_RELOC_KVX_S43_TLS_LD_UP27",
3094 "BFD_RELOC_KVX_S43_TLS_LD_EX6",
3095 "BFD_RELOC_KVX_64_TPOFF",
3096 "BFD_RELOC_KVX_S37_TLS_IE_LO10",
3097 "BFD_RELOC_KVX_S37_TLS_IE_UP27",
3098 "BFD_RELOC_KVX_S43_TLS_IE_LO10",
3099 "BFD_RELOC_KVX_S43_TLS_IE_UP27",
3100 "BFD_RELOC_KVX_S43_TLS_IE_EX6",
3101 "BFD_RELOC_KVX_S37_TLS_LE_LO10",
3102 "BFD_RELOC_KVX_S37_TLS_LE_UP27",
3103 "BFD_RELOC_KVX_S43_TLS_LE_LO10",
3104 "BFD_RELOC_KVX_S43_TLS_LE_UP27",
3105 "BFD_RELOC_KVX_S43_TLS_LE_EX6",
3106 "BFD_RELOC_KVX_8",
3107 "BFD_RELOC_KVX_RELOC_END",
3108 "BFD_RELOC_AARCH64_RELOC_START",
3109 "BFD_RELOC_AARCH64_NULL",
3110 "BFD_RELOC_AARCH64_NONE",
3111 "BFD_RELOC_AARCH64_64",
3112 "BFD_RELOC_AARCH64_32",
3113 "BFD_RELOC_AARCH64_16",
3114 "BFD_RELOC_AARCH64_64_PCREL",
3115 "BFD_RELOC_AARCH64_32_PCREL",
3116 "BFD_RELOC_AARCH64_16_PCREL",
3117 "BFD_RELOC_AARCH64_MOVW_G0",
3118 "BFD_RELOC_AARCH64_MOVW_G0_NC",
3119 "BFD_RELOC_AARCH64_MOVW_G1",
3120 "BFD_RELOC_AARCH64_MOVW_G1_NC",
3121 "BFD_RELOC_AARCH64_MOVW_G2",
3122 "BFD_RELOC_AARCH64_MOVW_G2_NC",
3123 "BFD_RELOC_AARCH64_MOVW_G3",
3124 "BFD_RELOC_AARCH64_MOVW_G0_S",
3125 "BFD_RELOC_AARCH64_MOVW_G1_S",
3126 "BFD_RELOC_AARCH64_MOVW_G2_S",
3127 "BFD_RELOC_AARCH64_MOVW_PREL_G0",
3128 "BFD_RELOC_AARCH64_MOVW_PREL_G0_NC",
3129 "BFD_RELOC_AARCH64_MOVW_PREL_G1",
3130 "BFD_RELOC_AARCH64_MOVW_PREL_G1_NC",
3131 "BFD_RELOC_AARCH64_MOVW_PREL_G2",
3132 "BFD_RELOC_AARCH64_MOVW_PREL_G2_NC",
3133 "BFD_RELOC_AARCH64_MOVW_PREL_G3",
3134 "BFD_RELOC_AARCH64_LD_LO19_PCREL",
3135 "BFD_RELOC_AARCH64_ADR_LO21_PCREL",
3136 "BFD_RELOC_AARCH64_ADR_HI21_PCREL",
3137 "BFD_RELOC_AARCH64_ADR_HI21_NC_PCREL",
3138 "BFD_RELOC_AARCH64_ADD_LO12",
3139 "BFD_RELOC_AARCH64_LDST8_LO12",
3140 "BFD_RELOC_AARCH64_TSTBR14",
3141 "BFD_RELOC_AARCH64_BRANCH19",
3142 "BFD_RELOC_AARCH64_JUMP26",
3143 "BFD_RELOC_AARCH64_CALL26",
3144 "BFD_RELOC_AARCH64_LDST16_LO12",
3145 "BFD_RELOC_AARCH64_LDST32_LO12",
3146 "BFD_RELOC_AARCH64_LDST64_LO12",
3147 "BFD_RELOC_AARCH64_LDST128_LO12",
3148 "BFD_RELOC_AARCH64_GOT_LD_PREL19",
3149 "BFD_RELOC_AARCH64_ADR_GOT_PAGE",
3150 "BFD_RELOC_AARCH64_LD64_GOT_LO12_NC",
3151 "BFD_RELOC_AARCH64_LD32_GOT_LO12_NC",
3152 "BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC",
3153 "BFD_RELOC_AARCH64_MOVW_GOTOFF_G1",
3154 "BFD_RELOC_AARCH64_LD64_GOTOFF_LO15",
3155 "BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14",
3156 "BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15",
3157 "BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21",
3158 "BFD_RELOC_AARCH64_TLSGD_ADR_PREL21",
3159 "BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC",
3160 "BFD_RELOC_AARCH64_TLSGD_MOVW_G0_NC",
3161 "BFD_RELOC_AARCH64_TLSGD_MOVW_G1",
3162 "BFD_RELOC_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21",
3163 "BFD_RELOC_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC",
3164 "BFD_RELOC_AARCH64_TLSIE_LD32_GOTTPREL_LO12_NC",
3165 "BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19",
3166 "BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC",
3167 "BFD_RELOC_AARCH64_TLSIE_MOVW_GOTTPREL_G1",
3168 "BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_HI12",
3169 "BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12",
3170 "BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC",
3171 "BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC",
3172 "BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21",
3173 "BFD_RELOC_AARCH64_TLSLD_ADR_PREL21",
3174 "BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12",
3175 "BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC",
3176 "BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12",
3177 "BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC",
3178 "BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12",
3179 "BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC",
3180 "BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12",
3181 "BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC",
3182 "BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0",
3183 "BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G0_NC",
3184 "BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1",
3185 "BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G1_NC",
3186 "BFD_RELOC_AARCH64_TLSLD_MOVW_DTPREL_G2",
3187 "BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G2",
3188 "BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1",
3189 "BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1_NC",
3190 "BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0",
3191 "BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0_NC",
3192 "BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_HI12",
3193 "BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12",
3194 "BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12_NC",
3195 "BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12",
3196 "BFD_RELOC_AARCH64_TLSLE_LDST16_TPREL_LO12_NC",
3197 "BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12",
3198 "BFD_RELOC_AARCH64_TLSLE_LDST32_TPREL_LO12_NC",
3199 "BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12",
3200 "BFD_RELOC_AARCH64_TLSLE_LDST64_TPREL_LO12_NC",
3201 "BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12",
3202 "BFD_RELOC_AARCH64_TLSLE_LDST8_TPREL_LO12_NC",
3203 "BFD_RELOC_AARCH64_TLSDESC_LD_PREL19",
3204 "BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21",
3205 "BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21",
3206 "BFD_RELOC_AARCH64_TLSDESC_LD64_LO12",
3207 "BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC",
3208 "BFD_RELOC_AARCH64_TLSDESC_ADD_LO12",
3209 "BFD_RELOC_AARCH64_TLSDESC_OFF_G1",
3210 "BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC",
3211 "BFD_RELOC_AARCH64_TLSDESC_LDR",
3212 "BFD_RELOC_AARCH64_TLSDESC_ADD",
3213 "BFD_RELOC_AARCH64_TLSDESC_CALL",
3214 "BFD_RELOC_AARCH64_COPY",
3215 "BFD_RELOC_AARCH64_GLOB_DAT",
3216 "BFD_RELOC_AARCH64_JUMP_SLOT",
3217 "BFD_RELOC_AARCH64_RELATIVE",
3218 "BFD_RELOC_AARCH64_TLS_DTPMOD",
3219 "BFD_RELOC_AARCH64_TLS_DTPREL",
3220 "BFD_RELOC_AARCH64_TLS_TPREL",
3221 "BFD_RELOC_AARCH64_TLSDESC",
3222 "BFD_RELOC_AARCH64_IRELATIVE",
3223 "BFD_RELOC_AARCH64_RELOC_END",
3224 "BFD_RELOC_AARCH64_GAS_INTERNAL_FIXUP",
3225 "BFD_RELOC_AARCH64_LDST_LO12",
3226 "BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12",
3227 "BFD_RELOC_AARCH64_TLSLD_LDST_DTPREL_LO12_NC",
3228 "BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12",
3229 "BFD_RELOC_AARCH64_TLSLE_LDST_TPREL_LO12_NC",
3230 "BFD_RELOC_AARCH64_LD_GOT_LO12_NC",
3231 "BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_LO12_NC",
3232 "BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC",
3233 "BFD_RELOC_AARCH64_BRANCH9",
3234 "BFD_RELOC_TILEPRO_COPY",
3235 "BFD_RELOC_TILEPRO_GLOB_DAT",
3236 "BFD_RELOC_TILEPRO_JMP_SLOT",
3237 "BFD_RELOC_TILEPRO_RELATIVE",
3238 "BFD_RELOC_TILEPRO_BROFF_X1",
3239 "BFD_RELOC_TILEPRO_JOFFLONG_X1",
3240 "BFD_RELOC_TILEPRO_JOFFLONG_X1_PLT",
3241 "BFD_RELOC_TILEPRO_IMM8_X0",
3242 "BFD_RELOC_TILEPRO_IMM8_Y0",
3243 "BFD_RELOC_TILEPRO_IMM8_X1",
3244 "BFD_RELOC_TILEPRO_IMM8_Y1",
3245 "BFD_RELOC_TILEPRO_DEST_IMM8_X1",
3246 "BFD_RELOC_TILEPRO_MT_IMM15_X1",
3247 "BFD_RELOC_TILEPRO_MF_IMM15_X1",
3248 "BFD_RELOC_TILEPRO_IMM16_X0",
3249 "BFD_RELOC_TILEPRO_IMM16_X1",
3250 "BFD_RELOC_TILEPRO_IMM16_X0_LO",
3251 "BFD_RELOC_TILEPRO_IMM16_X1_LO",
3252 "BFD_RELOC_TILEPRO_IMM16_X0_HI",
3253 "BFD_RELOC_TILEPRO_IMM16_X1_HI",
3254 "BFD_RELOC_TILEPRO_IMM16_X0_HA",
3255 "BFD_RELOC_TILEPRO_IMM16_X1_HA",
3256 "BFD_RELOC_TILEPRO_IMM16_X0_PCREL",
3257 "BFD_RELOC_TILEPRO_IMM16_X1_PCREL",
3258 "BFD_RELOC_TILEPRO_IMM16_X0_LO_PCREL",
3259 "BFD_RELOC_TILEPRO_IMM16_X1_LO_PCREL",
3260 "BFD_RELOC_TILEPRO_IMM16_X0_HI_PCREL",
3261 "BFD_RELOC_TILEPRO_IMM16_X1_HI_PCREL",
3262 "BFD_RELOC_TILEPRO_IMM16_X0_HA_PCREL",
3263 "BFD_RELOC_TILEPRO_IMM16_X1_HA_PCREL",
3264 "BFD_RELOC_TILEPRO_IMM16_X0_GOT",
3265 "BFD_RELOC_TILEPRO_IMM16_X1_GOT",
3266 "BFD_RELOC_TILEPRO_IMM16_X0_GOT_LO",
3267 "BFD_RELOC_TILEPRO_IMM16_X1_GOT_LO",
3268 "BFD_RELOC_TILEPRO_IMM16_X0_GOT_HI",
3269 "BFD_RELOC_TILEPRO_IMM16_X1_GOT_HI",
3270 "BFD_RELOC_TILEPRO_IMM16_X0_GOT_HA",
3271 "BFD_RELOC_TILEPRO_IMM16_X1_GOT_HA",
3272 "BFD_RELOC_TILEPRO_MMSTART_X0",
3273 "BFD_RELOC_TILEPRO_MMEND_X0",
3274 "BFD_RELOC_TILEPRO_MMSTART_X1",
3275 "BFD_RELOC_TILEPRO_MMEND_X1",
3276 "BFD_RELOC_TILEPRO_SHAMT_X0",
3277 "BFD_RELOC_TILEPRO_SHAMT_X1",
3278 "BFD_RELOC_TILEPRO_SHAMT_Y0",
3279 "BFD_RELOC_TILEPRO_SHAMT_Y1",
3280 "BFD_RELOC_TILEPRO_TLS_GD_CALL",
3281 "BFD_RELOC_TILEPRO_IMM8_X0_TLS_GD_ADD",
3282 "BFD_RELOC_TILEPRO_IMM8_X1_TLS_GD_ADD",
3283 "BFD_RELOC_TILEPRO_IMM8_Y0_TLS_GD_ADD",
3284 "BFD_RELOC_TILEPRO_IMM8_Y1_TLS_GD_ADD",
3285 "BFD_RELOC_TILEPRO_TLS_IE_LOAD",
3286 "BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD",
3287 "BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD",
3288 "BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_LO",
3289 "BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_LO",
3290 "BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_HI",
3291 "BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_HI",
3292 "BFD_RELOC_TILEPRO_IMM16_X0_TLS_GD_HA",
3293 "BFD_RELOC_TILEPRO_IMM16_X1_TLS_GD_HA",
3294 "BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE",
3295 "BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE",
3296 "BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_LO",
3297 "BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_LO",
3298 "BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_HI",
3299 "BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_HI",
3300 "BFD_RELOC_TILEPRO_IMM16_X0_TLS_IE_HA",
3301 "BFD_RELOC_TILEPRO_IMM16_X1_TLS_IE_HA",
3302 "BFD_RELOC_TILEPRO_TLS_DTPMOD32",
3303 "BFD_RELOC_TILEPRO_TLS_DTPOFF32",
3304 "BFD_RELOC_TILEPRO_TLS_TPOFF32",
3305 "BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE",
3306 "BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE",
3307 "BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_LO",
3308 "BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_LO",
3309 "BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HI",
3310 "BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HI",
3311 "BFD_RELOC_TILEPRO_IMM16_X0_TLS_LE_HA",
3312 "BFD_RELOC_TILEPRO_IMM16_X1_TLS_LE_HA",
3313 "BFD_RELOC_TILEGX_HW0",
3314 "BFD_RELOC_TILEGX_HW1",
3315 "BFD_RELOC_TILEGX_HW2",
3316 "BFD_RELOC_TILEGX_HW3",
3317 "BFD_RELOC_TILEGX_HW0_LAST",
3318 "BFD_RELOC_TILEGX_HW1_LAST",
3319 "BFD_RELOC_TILEGX_HW2_LAST",
3320 "BFD_RELOC_TILEGX_COPY",
3321 "BFD_RELOC_TILEGX_GLOB_DAT",
3322 "BFD_RELOC_TILEGX_JMP_SLOT",
3323 "BFD_RELOC_TILEGX_RELATIVE",
3324 "BFD_RELOC_TILEGX_BROFF_X1",
3325 "BFD_RELOC_TILEGX_JUMPOFF_X1",
3326 "BFD_RELOC_TILEGX_JUMPOFF_X1_PLT",
3327 "BFD_RELOC_TILEGX_IMM8_X0",
3328 "BFD_RELOC_TILEGX_IMM8_Y0",
3329 "BFD_RELOC_TILEGX_IMM8_X1",
3330 "BFD_RELOC_TILEGX_IMM8_Y1",
3331 "BFD_RELOC_TILEGX_DEST_IMM8_X1",
3332 "BFD_RELOC_TILEGX_MT_IMM14_X1",
3333 "BFD_RELOC_TILEGX_MF_IMM14_X1",
3334 "BFD_RELOC_TILEGX_MMSTART_X0",
3335 "BFD_RELOC_TILEGX_MMEND_X0",
3336 "BFD_RELOC_TILEGX_SHAMT_X0",
3337 "BFD_RELOC_TILEGX_SHAMT_X1",
3338 "BFD_RELOC_TILEGX_SHAMT_Y0",
3339 "BFD_RELOC_TILEGX_SHAMT_Y1",
3340 "BFD_RELOC_TILEGX_IMM16_X0_HW0",
3341 "BFD_RELOC_TILEGX_IMM16_X1_HW0",
3342 "BFD_RELOC_TILEGX_IMM16_X0_HW1",
3343 "BFD_RELOC_TILEGX_IMM16_X1_HW1",
3344 "BFD_RELOC_TILEGX_IMM16_X0_HW2",
3345 "BFD_RELOC_TILEGX_IMM16_X1_HW2",
3346 "BFD_RELOC_TILEGX_IMM16_X0_HW3",
3347 "BFD_RELOC_TILEGX_IMM16_X1_HW3",
3348 "BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST",
3349 "BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST",
3350 "BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST",
3351 "BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST",
3352 "BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST",
3353 "BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST",
3354 "BFD_RELOC_TILEGX_IMM16_X0_HW0_PCREL",
3355 "BFD_RELOC_TILEGX_IMM16_X1_HW0_PCREL",
3356 "BFD_RELOC_TILEGX_IMM16_X0_HW1_PCREL",
3357 "BFD_RELOC_TILEGX_IMM16_X1_HW1_PCREL",
3358 "BFD_RELOC_TILEGX_IMM16_X0_HW2_PCREL",
3359 "BFD_RELOC_TILEGX_IMM16_X1_HW2_PCREL",
3360 "BFD_RELOC_TILEGX_IMM16_X0_HW3_PCREL",
3361 "BFD_RELOC_TILEGX_IMM16_X1_HW3_PCREL",
3362 "BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_PCREL",
3363 "BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_PCREL",
3364 "BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_PCREL",
3365 "BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PCREL",
3366 "BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PCREL",
3367 "BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PCREL",
3368 "BFD_RELOC_TILEGX_IMM16_X0_HW0_GOT",
3369 "BFD_RELOC_TILEGX_IMM16_X1_HW0_GOT",
3370 "BFD_RELOC_TILEGX_IMM16_X0_HW0_PLT_PCREL",
3371 "BFD_RELOC_TILEGX_IMM16_X1_HW0_PLT_PCREL",
3372 "BFD_RELOC_TILEGX_IMM16_X0_HW1_PLT_PCREL",
3373 "BFD_RELOC_TILEGX_IMM16_X1_HW1_PLT_PCREL",
3374 "BFD_RELOC_TILEGX_IMM16_X0_HW2_PLT_PCREL",
3375 "BFD_RELOC_TILEGX_IMM16_X1_HW2_PLT_PCREL",
3376 "BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_GOT",
3377 "BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_GOT",
3378 "BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_GOT",
3379 "BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_GOT",
3380 "BFD_RELOC_TILEGX_IMM16_X0_HW3_PLT_PCREL",
3381 "BFD_RELOC_TILEGX_IMM16_X1_HW3_PLT_PCREL",
3382 "BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_GD",
3383 "BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_GD",
3384 "BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_LE",
3385 "BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_LE",
3386 "BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_LE",
3387 "BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_LE",
3388 "BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_LE",
3389 "BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_LE",
3390 "BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_GD",
3391 "BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_GD",
3392 "BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_GD",
3393 "BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_GD",
3394 "BFD_RELOC_TILEGX_IMM16_X0_HW0_TLS_IE",
3395 "BFD_RELOC_TILEGX_IMM16_X1_HW0_TLS_IE",
3396 "BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL",
3397 "BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL",
3398 "BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL",
3399 "BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL",
3400 "BFD_RELOC_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL",
3401 "BFD_RELOC_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL",
3402 "BFD_RELOC_TILEGX_IMM16_X0_HW0_LAST_TLS_IE",
3403 "BFD_RELOC_TILEGX_IMM16_X1_HW0_LAST_TLS_IE",
3404 "BFD_RELOC_TILEGX_IMM16_X0_HW1_LAST_TLS_IE",
3405 "BFD_RELOC_TILEGX_IMM16_X1_HW1_LAST_TLS_IE",
3406 "BFD_RELOC_TILEGX_TLS_DTPMOD64",
3407 "BFD_RELOC_TILEGX_TLS_DTPOFF64",
3408 "BFD_RELOC_TILEGX_TLS_TPOFF64",
3409 "BFD_RELOC_TILEGX_TLS_DTPMOD32",
3410 "BFD_RELOC_TILEGX_TLS_DTPOFF32",
3411 "BFD_RELOC_TILEGX_TLS_TPOFF32",
3412 "BFD_RELOC_TILEGX_TLS_GD_CALL",
3413 "BFD_RELOC_TILEGX_IMM8_X0_TLS_GD_ADD",
3414 "BFD_RELOC_TILEGX_IMM8_X1_TLS_GD_ADD",
3415 "BFD_RELOC_TILEGX_IMM8_Y0_TLS_GD_ADD",
3416 "BFD_RELOC_TILEGX_IMM8_Y1_TLS_GD_ADD",
3417 "BFD_RELOC_TILEGX_TLS_IE_LOAD",
3418 "BFD_RELOC_TILEGX_IMM8_X0_TLS_ADD",
3419 "BFD_RELOC_TILEGX_IMM8_X1_TLS_ADD",
3420 "BFD_RELOC_TILEGX_IMM8_Y0_TLS_ADD",
3421 "BFD_RELOC_TILEGX_IMM8_Y1_TLS_ADD",
3422 "BFD_RELOC_BPF_64",
3423 "BFD_RELOC_BPF_DISP32",
3424 "BFD_RELOC_BPF_DISPCALL32",
3425 "BFD_RELOC_BPF_DISP16",
3426 "BFD_RELOC_EPIPHANY_SIMM8",
3427 "BFD_RELOC_EPIPHANY_SIMM24",
3428 "BFD_RELOC_EPIPHANY_HIGH",
3429 "BFD_RELOC_EPIPHANY_LOW",
3430 "BFD_RELOC_EPIPHANY_SIMM11",
3431 "BFD_RELOC_EPIPHANY_IMM11",
3432 "BFD_RELOC_EPIPHANY_IMM8",
3433 "BFD_RELOC_VISIUM_HI16",
3434 "BFD_RELOC_VISIUM_LO16",
3435 "BFD_RELOC_VISIUM_IM16",
3436 "BFD_RELOC_VISIUM_REL16",
3437 "BFD_RELOC_VISIUM_HI16_PCREL",
3438 "BFD_RELOC_VISIUM_LO16_PCREL",
3439 "BFD_RELOC_VISIUM_IM16_PCREL",
3440 "BFD_RELOC_WASM32_LEB128",
3441 "BFD_RELOC_WASM32_LEB128_GOT",
3442 "BFD_RELOC_WASM32_LEB128_GOT_CODE",
3443 "BFD_RELOC_WASM32_LEB128_PLT",
3444 "BFD_RELOC_WASM32_PLT_INDEX",
3445 "BFD_RELOC_WASM32_ABS32_CODE",
3446 "BFD_RELOC_WASM32_COPY",
3447 "BFD_RELOC_WASM32_CODE_POINTER",
3448 "BFD_RELOC_WASM32_INDEX",
3449 "BFD_RELOC_WASM32_PLT_SIG",
3450 "BFD_RELOC_CKCORE_NONE",
3451 "BFD_RELOC_CKCORE_ADDR32",
3452 "BFD_RELOC_CKCORE_PCREL_IMM8BY4",
3453 "BFD_RELOC_CKCORE_PCREL_IMM11BY2",
3454 "BFD_RELOC_CKCORE_PCREL_IMM4BY2",
3455 "BFD_RELOC_CKCORE_PCREL32",
3456 "BFD_RELOC_CKCORE_PCREL_JSR_IMM11BY2",
3457 "BFD_RELOC_CKCORE_GNU_VTINHERIT",
3458 "BFD_RELOC_CKCORE_GNU_VTENTRY",
3459 "BFD_RELOC_CKCORE_RELATIVE",
3460 "BFD_RELOC_CKCORE_COPY",
3461 "BFD_RELOC_CKCORE_GLOB_DAT",
3462 "BFD_RELOC_CKCORE_JUMP_SLOT",
3463 "BFD_RELOC_CKCORE_GOTOFF",
3464 "BFD_RELOC_CKCORE_GOTPC",
3465 "BFD_RELOC_CKCORE_GOT32",
3466 "BFD_RELOC_CKCORE_PLT32",
3467 "BFD_RELOC_CKCORE_ADDRGOT",
3468 "BFD_RELOC_CKCORE_ADDRPLT",
3469 "BFD_RELOC_CKCORE_PCREL_IMM26BY2",
3470 "BFD_RELOC_CKCORE_PCREL_IMM16BY2",
3471 "BFD_RELOC_CKCORE_PCREL_IMM16BY4",
3472 "BFD_RELOC_CKCORE_PCREL_IMM10BY2",
3473 "BFD_RELOC_CKCORE_PCREL_IMM10BY4",
3474 "BFD_RELOC_CKCORE_ADDR_HI16",
3475 "BFD_RELOC_CKCORE_ADDR_LO16",
3476 "BFD_RELOC_CKCORE_GOTPC_HI16",
3477 "BFD_RELOC_CKCORE_GOTPC_LO16",
3478 "BFD_RELOC_CKCORE_GOTOFF_HI16",
3479 "BFD_RELOC_CKCORE_GOTOFF_LO16",
3480 "BFD_RELOC_CKCORE_GOT12",
3481 "BFD_RELOC_CKCORE_GOT_HI16",
3482 "BFD_RELOC_CKCORE_GOT_LO16",
3483 "BFD_RELOC_CKCORE_PLT12",
3484 "BFD_RELOC_CKCORE_PLT_HI16",
3485 "BFD_RELOC_CKCORE_PLT_LO16",
3486 "BFD_RELOC_CKCORE_ADDRGOT_HI16",
3487 "BFD_RELOC_CKCORE_ADDRGOT_LO16",
3488 "BFD_RELOC_CKCORE_ADDRPLT_HI16",
3489 "BFD_RELOC_CKCORE_ADDRPLT_LO16",
3490 "BFD_RELOC_CKCORE_PCREL_JSR_IMM26BY2",
3491 "BFD_RELOC_CKCORE_TOFFSET_LO16",
3492 "BFD_RELOC_CKCORE_DOFFSET_LO16",
3493 "BFD_RELOC_CKCORE_PCREL_IMM18BY2",
3494 "BFD_RELOC_CKCORE_DOFFSET_IMM18",
3495 "BFD_RELOC_CKCORE_DOFFSET_IMM18BY2",
3496 "BFD_RELOC_CKCORE_DOFFSET_IMM18BY4",
3497 "BFD_RELOC_CKCORE_GOTOFF_IMM18",
3498 "BFD_RELOC_CKCORE_GOT_IMM18BY4",
3499 "BFD_RELOC_CKCORE_PLT_IMM18BY4",
3500 "BFD_RELOC_CKCORE_PCREL_IMM7BY4",
3501 "BFD_RELOC_CKCORE_TLS_LE32",
3502 "BFD_RELOC_CKCORE_TLS_IE32",
3503 "BFD_RELOC_CKCORE_TLS_GD32",
3504 "BFD_RELOC_CKCORE_TLS_LDM32",
3505 "BFD_RELOC_CKCORE_TLS_LDO32",
3506 "BFD_RELOC_CKCORE_TLS_DTPMOD32",
3507 "BFD_RELOC_CKCORE_TLS_DTPOFF32",
3508 "BFD_RELOC_CKCORE_TLS_TPOFF32",
3509 "BFD_RELOC_CKCORE_PCREL_FLRW_IMM8BY4",
3510 "BFD_RELOC_CKCORE_NOJSRI",
3511 "BFD_RELOC_CKCORE_CALLGRAPH",
3512 "BFD_RELOC_CKCORE_IRELATIVE",
3513 "BFD_RELOC_CKCORE_PCREL_BLOOP_IMM4BY4",
3514 "BFD_RELOC_CKCORE_PCREL_BLOOP_IMM12BY4",
3515 "BFD_RELOC_S12Z_OPR",
3516 "BFD_RELOC_LARCH_TLS_DTPMOD32",
3517 "BFD_RELOC_LARCH_TLS_DTPREL32",
3518 "BFD_RELOC_LARCH_TLS_DTPMOD64",
3519 "BFD_RELOC_LARCH_TLS_DTPREL64",
3520 "BFD_RELOC_LARCH_TLS_TPREL32",
3521 "BFD_RELOC_LARCH_TLS_TPREL64",
3522 "BFD_RELOC_LARCH_TLS_DESC32",
3523 "BFD_RELOC_LARCH_TLS_DESC64",
3524 "BFD_RELOC_LARCH_MARK_LA",
3525 "BFD_RELOC_LARCH_MARK_PCREL",
3526 "BFD_RELOC_LARCH_SOP_PUSH_PCREL",
3527 "BFD_RELOC_LARCH_SOP_PUSH_ABSOLUTE",
3528 "BFD_RELOC_LARCH_SOP_PUSH_DUP",
3529 "BFD_RELOC_LARCH_SOP_PUSH_GPREL",
3530 "BFD_RELOC_LARCH_SOP_PUSH_TLS_TPREL",
3531 "BFD_RELOC_LARCH_SOP_PUSH_TLS_GOT",
3532 "BFD_RELOC_LARCH_SOP_PUSH_TLS_GD",
3533 "BFD_RELOC_LARCH_SOP_PUSH_PLT_PCREL",
3534 "BFD_RELOC_LARCH_SOP_ASSERT",
3535 "BFD_RELOC_LARCH_SOP_NOT",
3536 "BFD_RELOC_LARCH_SOP_SUB",
3537 "BFD_RELOC_LARCH_SOP_SL",
3538 "BFD_RELOC_LARCH_SOP_SR",
3539 "BFD_RELOC_LARCH_SOP_ADD",
3540 "BFD_RELOC_LARCH_SOP_AND",
3541 "BFD_RELOC_LARCH_SOP_IF_ELSE",
3542 "BFD_RELOC_LARCH_SOP_POP_32_S_10_5",
3543 "BFD_RELOC_LARCH_SOP_POP_32_U_10_12",
3544 "BFD_RELOC_LARCH_SOP_POP_32_S_10_12",
3545 "BFD_RELOC_LARCH_SOP_POP_32_S_10_16",
3546 "BFD_RELOC_LARCH_SOP_POP_32_S_10_16_S2",
3547 "BFD_RELOC_LARCH_SOP_POP_32_S_5_20",
3548 "BFD_RELOC_LARCH_SOP_POP_32_S_0_5_10_16_S2",
3549 "BFD_RELOC_LARCH_SOP_POP_32_S_0_10_10_16_S2",
3550 "BFD_RELOC_LARCH_SOP_POP_32_U",
3551 "BFD_RELOC_LARCH_ADD8",
3552 "BFD_RELOC_LARCH_ADD16",
3553 "BFD_RELOC_LARCH_ADD24",
3554 "BFD_RELOC_LARCH_ADD32",
3555 "BFD_RELOC_LARCH_ADD64",
3556 "BFD_RELOC_LARCH_SUB8",
3557 "BFD_RELOC_LARCH_SUB16",
3558 "BFD_RELOC_LARCH_SUB24",
3559 "BFD_RELOC_LARCH_SUB32",
3560 "BFD_RELOC_LARCH_SUB64",
3561 "BFD_RELOC_LARCH_B16",
3562 "BFD_RELOC_LARCH_B21",
3563 "BFD_RELOC_LARCH_B26",
3564 "BFD_RELOC_LARCH_ABS_HI20",
3565 "BFD_RELOC_LARCH_ABS_LO12",
3566 "BFD_RELOC_LARCH_ABS64_LO20",
3567 "BFD_RELOC_LARCH_ABS64_HI12",
3568 "BFD_RELOC_LARCH_PCALA_HI20",
3569 "BFD_RELOC_LARCH_PCALA_LO12",
3570 "BFD_RELOC_LARCH_PCALA64_LO20",
3571 "BFD_RELOC_LARCH_PCALA64_HI12",
3572 "BFD_RELOC_LARCH_GOT_PC_HI20",
3573 "BFD_RELOC_LARCH_GOT_PC_LO12",
3574 "BFD_RELOC_LARCH_GOT64_PC_LO20",
3575 "BFD_RELOC_LARCH_GOT64_PC_HI12",
3576 "BFD_RELOC_LARCH_GOT_HI20",
3577 "BFD_RELOC_LARCH_GOT_LO12",
3578 "BFD_RELOC_LARCH_GOT64_LO20",
3579 "BFD_RELOC_LARCH_GOT64_HI12",
3580 "BFD_RELOC_LARCH_TLS_LE_HI20",
3581 "BFD_RELOC_LARCH_TLS_LE_LO12",
3582 "BFD_RELOC_LARCH_TLS_LE64_LO20",
3583 "BFD_RELOC_LARCH_TLS_LE64_HI12",
3584 "BFD_RELOC_LARCH_TLS_IE_PC_HI20",
3585 "BFD_RELOC_LARCH_TLS_IE_PC_LO12",
3586 "BFD_RELOC_LARCH_TLS_IE64_PC_LO20",
3587 "BFD_RELOC_LARCH_TLS_IE64_PC_HI12",
3588 "BFD_RELOC_LARCH_TLS_IE_HI20",
3589 "BFD_RELOC_LARCH_TLS_IE_LO12",
3590 "BFD_RELOC_LARCH_TLS_IE64_LO20",
3591 "BFD_RELOC_LARCH_TLS_IE64_HI12",
3592 "BFD_RELOC_LARCH_TLS_LD_PC_HI20",
3593 "BFD_RELOC_LARCH_TLS_LD_HI20",
3594 "BFD_RELOC_LARCH_TLS_GD_PC_HI20",
3595 "BFD_RELOC_LARCH_TLS_GD_HI20",
3596 "BFD_RELOC_LARCH_32_PCREL",
3597 "BFD_RELOC_LARCH_RELAX",
3598 "BFD_RELOC_LARCH_DELETE",
3599 "BFD_RELOC_LARCH_ALIGN",
3600 "BFD_RELOC_LARCH_PCREL20_S2",
3601 "BFD_RELOC_LARCH_CFA",
3602 "BFD_RELOC_LARCH_ADD6",
3603 "BFD_RELOC_LARCH_SUB6",
3604 "BFD_RELOC_LARCH_ADD_ULEB128",
3605 "BFD_RELOC_LARCH_SUB_ULEB128",
3606 "BFD_RELOC_LARCH_64_PCREL",
3607 "BFD_RELOC_LARCH_CALL36",
3608 "BFD_RELOC_LARCH_TLS_DESC_PC_HI20",
3609 "BFD_RELOC_LARCH_TLS_DESC_PC_LO12",
3610 "BFD_RELOC_LARCH_TLS_DESC64_PC_LO20",
3611 "BFD_RELOC_LARCH_TLS_DESC64_PC_HI12",
3612 "BFD_RELOC_LARCH_TLS_DESC_HI20",
3613 "BFD_RELOC_LARCH_TLS_DESC_LO12",
3614 "BFD_RELOC_LARCH_TLS_DESC64_LO20",
3615 "BFD_RELOC_LARCH_TLS_DESC64_HI12",
3616 "BFD_RELOC_LARCH_TLS_DESC_LD",
3617 "BFD_RELOC_LARCH_TLS_DESC_CALL",
3618 "BFD_RELOC_LARCH_TLS_LE_HI20_R",
3619 "BFD_RELOC_LARCH_TLS_LE_ADD_R",
3620 "BFD_RELOC_LARCH_TLS_LE_LO12_R",
3621 "BFD_RELOC_LARCH_TLS_LD_PCREL20_S2",
3622 "BFD_RELOC_LARCH_TLS_GD_PCREL20_S2",
3623 "BFD_RELOC_LARCH_TLS_DESC_PCREL20_S2",
3624 "@@overflow: BFD_RELOC_UNUSED@@",
3625 };
3626 #endif
3627
3628 reloc_howto_type *bfd_default_reloc_type_lookup
3629 (bfd *abfd, bfd_reloc_code_real_type code) ATTRIBUTE_HIDDEN;
3630
3631 bool bfd_generic_relax_section
3632 (bfd *abfd,
3633 asection *section,
3634 struct bfd_link_info *,
3635 bool *) ATTRIBUTE_HIDDEN;
3636
3637 bool bfd_generic_gc_sections
3638 (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
3639
3640 bool bfd_generic_lookup_section_flags
3641 (struct bfd_link_info *, struct flag_info *, asection *) ATTRIBUTE_HIDDEN;
3642
3643 bool bfd_generic_merge_sections
3644 (bfd *, struct bfd_link_info *) ATTRIBUTE_HIDDEN;
3645
3646 bfd_byte *bfd_generic_get_relocated_section_contents
3647 (bfd *abfd,
3648 struct bfd_link_info *link_info,
3649 struct bfd_link_order *link_order,
3650 bfd_byte *data,
3651 bool relocatable,
3652 asymbol **symbols) ATTRIBUTE_HIDDEN;
3653
3654 void _bfd_generic_set_reloc
3655 (bfd *abfd,
3656 sec_ptr section,
3657 arelent **relptr,
3658 unsigned int count) ATTRIBUTE_HIDDEN;
3659
3660 bool _bfd_unrecognized_reloc
3661 (bfd * abfd,
3662 sec_ptr section,
3663 unsigned int r_type) ATTRIBUTE_HIDDEN;
3664
3665 /* Extracted from section.c. */
3666 #define BFD_FAKE_SECTION(SEC, SYM, NAME, IDX, FLAGS) \
3667 /* name, next, prev, id, section_id, index, flags, user_set_vma, */ \
3668 { NAME, NULL, NULL, IDX, 0, 0, FLAGS, 0, \
3669 \
3670 /* linker_mark, linker_has_input, gc_mark, decompress_status, */ \
3671 0, 0, 1, 0, \
3672 \
3673 /* segment_mark, sec_info_type, use_rela_p, mmapped_p, alloced, */ \
3674 0, 0, 0, 0, 0, \
3675 \
3676 /* sec_flg0, sec_flg1, sec_flg2, sec_flg3, sec_flg4, sec_flg5, */ \
3677 0, 0, 0, 0, 0, 0, \
3678 \
3679 /* vma, lma, size, rawsize, compressed_size, */ \
3680 0, 0, 0, 0, 0, \
3681 \
3682 /* output_offset, output_section, relocation, orelocation, */ \
3683 0, &SEC, NULL, NULL, \
3684 \
3685 /* reloc_count, alignment_power, filepos, rel_filepos, */ \
3686 0, 0, 0, 0, \
3687 \
3688 /* line_filepos, userdata, contents, lineno, lineno_count, */ \
3689 0, NULL, NULL, NULL, 0, \
3690 \
3691 /* entsize, kept_section, moving_line_filepos, */ \
3692 0, NULL, 0, \
3693 \
3694 /* target_index, used_by_bfd, constructor_chain, owner, */ \
3695 0, NULL, NULL, NULL, \
3696 \
3697 /* symbol, */ \
3698 (struct bfd_symbol *) SYM, \
3699 \
3700 /* map_head, map_tail, already_assigned, type */ \
3701 { NULL }, { NULL }, NULL, 0 \
3702 \
3703 }
3704
3705 #define GLOBAL_SYM_INIT(NAME, SECTION) \
3706 /* the_bfd, name, value, attr, section, udata */ \
3707 { 0, NAME, 0, BSF_SECTION_SYM, SECTION, { 0 } }
3708
3709 /* Extracted from stabs.c. */
3710 bool _bfd_link_section_stabs
3711 (bfd *, struct stab_info *, asection *, asection *, void **,
3712 bfd_size_type *) ATTRIBUTE_HIDDEN;
3713
3714 bool _bfd_discard_section_stabs
3715 (bfd *, asection *, void *, bool (*) (bfd_vma, void *), void *) ATTRIBUTE_HIDDEN;
3716
3717 bool _bfd_write_section_stabs
3718 (bfd *, struct stab_info *, asection *, void **, bfd_byte *) ATTRIBUTE_HIDDEN;
3719
3720 bool _bfd_write_stab_strings (bfd *, struct stab_info *) ATTRIBUTE_HIDDEN;
3721
3722 bfd_vma _bfd_stab_section_offset (asection *, void *, bfd_vma) ATTRIBUTE_HIDDEN;
3723
3724 /* Extracted from targets.c. */
3725 #ifdef __cplusplus
3726 }
3727 #endif
3728 #endif
3729