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