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