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