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