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