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