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