189857Sobrien/* DO NOT EDIT!  -*- buffer-read-only: t -*-  This file is automatically
2130561Sobrien   generated from "libbfd-in.h", "init.c", "libbfd.c", "bfdio.c",
3130561Sobrien   "bfdwin.c", "cache.c", "reloc.c", "archures.c" and "elf.c".
489857Sobrien   Run "make headers" in your build bfd/ to regenerate.  */
589857Sobrien
633965Sjdp/* libbfd.h -- Declarations used by bfd library *implementation*.
733965Sjdp   (This include file is not for users of the library.)
8130561Sobrien
9130561Sobrien   Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
10218822Sdim   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
11218822Sdim   Free Software Foundation, Inc.
12130561Sobrien
1333965Sjdp   Written by Cygnus Support.
1433965Sjdp
1533965SjdpThis file is part of BFD, the Binary File Descriptor library.
1633965Sjdp
1733965SjdpThis program is free software; you can redistribute it and/or modify
1833965Sjdpit under the terms of the GNU General Public License as published by
1933965Sjdpthe Free Software Foundation; either version 2 of the License, or
2033965Sjdp(at your option) any later version.
2133965Sjdp
2233965SjdpThis program is distributed in the hope that it will be useful,
2333965Sjdpbut WITHOUT ANY WARRANTY; without even the implied warranty of
2433965SjdpMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2533965SjdpGNU General Public License for more details.
2633965Sjdp
2733965SjdpYou should have received a copy of the GNU General Public License
2833965Sjdpalong with this program; if not, write to the Free Software
29218822SdimFoundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
3033965Sjdp
31218822Sdim#include "hashtab.h"
32218822Sdim
3333965Sjdp/* Align an address upward to a boundary, expressed as a number of bytes.
3438889Sjdp   E.g. align to an 8-byte boundary with argument of 8.  Take care never
3538889Sjdp   to wrap around if the address is within boundary-1 of the end of the
3638889Sjdp   address space.  */
3789857Sobrien#define BFD_ALIGN(this, boundary)					  \
3889857Sobrien  ((((bfd_vma) (this) + (boundary) - 1) >= (bfd_vma) (this))		  \
3989857Sobrien   ? (((bfd_vma) (this) + ((boundary) - 1)) & ~ (bfd_vma) ((boundary)-1)) \
4038889Sjdp   : ~ (bfd_vma) 0)
4133965Sjdp
4233965Sjdp/* If you want to read and write large blocks, you might want to do it
4333965Sjdp   in quanta of this amount */
4433965Sjdp#define DEFAULT_BUFFERSIZE 8192
4533965Sjdp
4633965Sjdp/* Set a tdata field.  Can't use the other macros for this, since they
4733965Sjdp   do casts, and casting to the left of assignment isn't portable.  */
48130561Sobrien#define set_tdata(bfd, v) ((bfd)->tdata.any = (v))
4933965Sjdp
5033965Sjdp/* If BFD_IN_MEMORY is set for a BFD, then the iostream fields points
5133965Sjdp   to an instance of this structure.  */
5233965Sjdp
5333965Sjdpstruct bfd_in_memory
5433965Sjdp{
5533965Sjdp  /* Size of buffer.  */
5633965Sjdp  bfd_size_type size;
5733965Sjdp  /* Buffer holding contents of BFD.  */
5833965Sjdp  bfd_byte *buffer;
5933965Sjdp};
6033965Sjdp
61218822Sdimstruct section_hash_entry
62218822Sdim{
63218822Sdim  struct bfd_hash_entry root;
64218822Sdim  asection section;
65218822Sdim};
66218822Sdim
6733965Sjdp/* tdata for an archive.  For an input archive, cache
6833965Sjdp   needs to be free()'d.  For an output archive, symdefs do.  */
6933965Sjdp
7033965Sjdpstruct artdata {
7133965Sjdp  file_ptr first_file_filepos;
7233965Sjdp  /* Speed up searching the armap */
73218822Sdim  htab_t cache;
7477298Sobrien  bfd *archive_head;		/* Only interesting in output routines */
7533965Sjdp  carsym *symdefs;		/* the symdef entries */
7677298Sobrien  symindex symdef_count;	/* how many there are */
7733965Sjdp  char *extended_names;		/* clever intel extension */
78218822Sdim  bfd_size_type extended_names_size; /* Size of extended names */
79251227Spfg  /* when more compilers are standard C, this can be a time_t */
80251227Spfg  long  armap_timestamp;	/* Timestamp value written into armap.
8133965Sjdp				   This is used for BSD archives to check
8233965Sjdp				   that the timestamp is recent enough
8333965Sjdp				   for the BSD linker to not complain,
8433965Sjdp				   just before we finish writing an
8533965Sjdp				   archive.  */
8633965Sjdp  file_ptr armap_datepos;	/* Position within archive to seek to
8733965Sjdp				   rewrite the date field.  */
88130561Sobrien  void *tdata;			/* Backend specific information.  */
8933965Sjdp};
9033965Sjdp
9133965Sjdp#define bfd_ardata(bfd) ((bfd)->tdata.aout_ar_data)
9233965Sjdp
9333965Sjdp/* Goes in bfd's arelt_data slot */
9433965Sjdpstruct areltdata {
9577298Sobrien  char * arch_header;		/* it's actually a string */
9677298Sobrien  unsigned int parsed_size;	/* octets of filesize not including ar_hdr */
9777298Sobrien  char *filename;		/* null-terminated */
9833965Sjdp};
9933965Sjdp
10033965Sjdp#define arelt_size(bfd) (((struct areltdata *)((bfd)->arelt_data))->parsed_size)
10133965Sjdp
102130561Sobrienextern void *bfd_malloc
103130561Sobrien  (bfd_size_type);
104130561Sobrienextern void *bfd_realloc
105130561Sobrien  (void *, bfd_size_type);
106130561Sobrienextern void *bfd_zmalloc
107130561Sobrien  (bfd_size_type);
108218822Sdimextern void *bfd_malloc2
109218822Sdim  (bfd_size_type, bfd_size_type);
110218822Sdimextern void *bfd_realloc2
111218822Sdim  (void *, bfd_size_type, bfd_size_type);
112218822Sdimextern void *bfd_zmalloc2
113218822Sdim  (bfd_size_type, bfd_size_type);
11433965Sjdp
115218822Sdimextern void _bfd_default_error_handler (const char *s, ...);
11633965Sjdpextern bfd_error_handler_type _bfd_error_handler;
11733965Sjdp
11833965Sjdp/* These routines allocate and free things on the BFD's objalloc.  */
11933965Sjdp
120130561Sobrienextern void *bfd_alloc
121130561Sobrien  (bfd *, bfd_size_type);
122130561Sobrienextern void *bfd_zalloc
123130561Sobrien  (bfd *, bfd_size_type);
124218822Sdimextern void *bfd_alloc2
125218822Sdim  (bfd *, bfd_size_type, bfd_size_type);
126218822Sdimextern void *bfd_zalloc2
127218822Sdim  (bfd *, bfd_size_type, bfd_size_type);
128130561Sobrienextern void bfd_release
129130561Sobrien  (bfd *, void *);
13033965Sjdp
131130561Sobrienbfd * _bfd_create_empty_archive_element_shell
132130561Sobrien  (bfd *obfd);
133130561Sobrienbfd * _bfd_look_for_bfd_in_cache
134130561Sobrien  (bfd *, file_ptr);
135130561Sobrienbfd_boolean _bfd_add_bfd_to_archive_cache
136130561Sobrien  (bfd *, file_ptr, bfd *);
137130561Sobrienbfd_boolean _bfd_generic_mkarchive
138130561Sobrien  (bfd *abfd);
139130561Sobrienconst bfd_target *bfd_generic_archive_p
140130561Sobrien  (bfd *abfd);
141130561Sobrienbfd_boolean bfd_slurp_armap
142130561Sobrien  (bfd *abfd);
143130561Sobrienbfd_boolean bfd_slurp_bsd_armap_f2
144130561Sobrien  (bfd *abfd);
14533965Sjdp#define bfd_slurp_bsd_armap bfd_slurp_armap
14633965Sjdp#define bfd_slurp_coff_armap bfd_slurp_armap
147130561Sobrienbfd_boolean _bfd_slurp_extended_name_table
148130561Sobrien  (bfd *abfd);
149130561Sobrienextern bfd_boolean _bfd_construct_extended_name_table
150130561Sobrien  (bfd *, bfd_boolean, char **, bfd_size_type *);
151130561Sobrienbfd_boolean _bfd_write_archive_contents
152130561Sobrien  (bfd *abfd);
153130561Sobrienbfd_boolean _bfd_compute_and_write_armap
154130561Sobrien  (bfd *, unsigned int elength);
155130561Sobrienbfd *_bfd_get_elt_at_filepos
156130561Sobrien  (bfd *archive, file_ptr filepos);
157130561Sobrienextern bfd *_bfd_generic_get_elt_at_index
158130561Sobrien  (bfd *, symindex);
159130561Sobrienbfd * _bfd_new_bfd
160130561Sobrien  (void);
161130561Sobrienvoid _bfd_delete_bfd
162130561Sobrien  (bfd *);
163218822Sdimbfd_boolean _bfd_free_cached_info
164218822Sdim  (bfd *);
16533965Sjdp
166130561Sobrienbfd_boolean bfd_false
167130561Sobrien  (bfd *ignore);
168130561Sobrienbfd_boolean bfd_true
169130561Sobrien  (bfd *ignore);
170130561Sobrienvoid *bfd_nullvoidptr
171130561Sobrien  (bfd *ignore);
172130561Sobrienint bfd_0
173130561Sobrien  (bfd *ignore);
174130561Sobrienunsigned int bfd_0u
175130561Sobrien  (bfd *ignore);
176130561Sobrienlong bfd_0l
177130561Sobrien  (bfd *ignore);
178130561Sobrienlong _bfd_n1
179130561Sobrien  (bfd *ignore);
180130561Sobrienvoid bfd_void
181130561Sobrien  (bfd *ignore);
18233965Sjdp
183130561Sobrienbfd *_bfd_new_bfd_contained_in
184130561Sobrien  (bfd *);
185130561Sobrienconst bfd_target *_bfd_dummy_target
186130561Sobrien  (bfd *abfd);
18733965Sjdp
188130561Sobrienvoid bfd_dont_truncate_arname
189130561Sobrien  (bfd *abfd, const char *filename, char *hdr);
190130561Sobrienvoid bfd_bsd_truncate_arname
191130561Sobrien  (bfd *abfd, const char *filename, char *hdr);
192130561Sobrienvoid bfd_gnu_truncate_arname
193130561Sobrien  (bfd *abfd, const char *filename, char *hdr);
19433965Sjdp
195130561Sobrienbfd_boolean bsd_write_armap
196130561Sobrien  (bfd *arch, unsigned int elength, struct orl *map, unsigned int orl_count,
197130561Sobrien   int stridx);
19833965Sjdp
199130561Sobrienbfd_boolean coff_write_armap
200130561Sobrien  (bfd *arch, unsigned int elength, struct orl *map, unsigned int orl_count,
201130561Sobrien   int stridx);
20233965Sjdp
203130561Sobrienextern void *_bfd_generic_read_ar_hdr
204130561Sobrien  (bfd *);
205218822Sdimextern void _bfd_ar_spacepad
206218822Sdim  (char *, size_t, const char *, long);
20733965Sjdp
208130561Sobrienextern void *_bfd_generic_read_ar_hdr_mag
209130561Sobrien  (bfd *, const char *);
21033965Sjdp
211130561Sobrienbfd * bfd_generic_openr_next_archived_file
212130561Sobrien  (bfd *archive, bfd *last_file);
21333965Sjdp
214130561Sobrienint bfd_generic_stat_arch_elt
215130561Sobrien  (bfd *, struct stat *);
21633965Sjdp
21733965Sjdp#define _bfd_read_ar_hdr(abfd) \
21833965Sjdp  BFD_SEND (abfd, _bfd_read_ar_hdr_fn, (abfd))
21933965Sjdp
22033965Sjdp/* Generic routines to use for BFD_JUMP_TABLE_GENERIC.  Use
22133965Sjdp   BFD_JUMP_TABLE_GENERIC (_bfd_generic).  */
22233965Sjdp
22333965Sjdp#define _bfd_generic_close_and_cleanup bfd_true
22433965Sjdp#define _bfd_generic_bfd_free_cached_info bfd_true
225218822Sdimextern bfd_boolean _bfd_generic_new_section_hook
226218822Sdim  (bfd *, asection *);
227130561Sobrienextern bfd_boolean _bfd_generic_get_section_contents
228130561Sobrien  (bfd *, asection *, void *, file_ptr, bfd_size_type);
229130561Sobrienextern bfd_boolean _bfd_generic_get_section_contents_in_window
230130561Sobrien  (bfd *, asection *, bfd_window *, file_ptr, bfd_size_type);
23133965Sjdp
23233965Sjdp/* Generic routines to use for BFD_JUMP_TABLE_COPY.  Use
23333965Sjdp   BFD_JUMP_TABLE_COPY (_bfd_generic).  */
23433965Sjdp
23533965Sjdp#define _bfd_generic_bfd_copy_private_bfd_data \
236130561Sobrien  ((bfd_boolean (*) (bfd *, bfd *)) bfd_true)
23733965Sjdp#define _bfd_generic_bfd_merge_private_bfd_data \
238130561Sobrien  ((bfd_boolean (*) (bfd *, bfd *)) bfd_true)
23933965Sjdp#define _bfd_generic_bfd_set_private_flags \
240130561Sobrien  ((bfd_boolean (*) (bfd *, flagword)) bfd_true)
24133965Sjdp#define _bfd_generic_bfd_copy_private_section_data \
242130561Sobrien  ((bfd_boolean (*) (bfd *, asection *, bfd *, asection *)) bfd_true)
24333965Sjdp#define _bfd_generic_bfd_copy_private_symbol_data \
244130561Sobrien  ((bfd_boolean (*) (bfd *, asymbol *, bfd *, asymbol *)) bfd_true)
245218822Sdim#define _bfd_generic_bfd_copy_private_header_data \
246218822Sdim  ((bfd_boolean (*) (bfd *, bfd *)) bfd_true)
24733965Sjdp#define _bfd_generic_bfd_print_private_bfd_data \
248130561Sobrien  ((bfd_boolean (*) (bfd *, void *)) bfd_true)
24933965Sjdp
250218822Sdimextern bfd_boolean _bfd_generic_init_private_section_data
251218822Sdim  (bfd *, asection *, bfd *, asection *, struct bfd_link_info *);
252218822Sdim
25333965Sjdp/* Routines to use for BFD_JUMP_TABLE_CORE when there is no core file
25433965Sjdp   support.  Use BFD_JUMP_TABLE_CORE (_bfd_nocore).  */
25533965Sjdp
256130561Sobrienextern char *_bfd_nocore_core_file_failing_command
257130561Sobrien  (bfd *);
258130561Sobrienextern int _bfd_nocore_core_file_failing_signal
259130561Sobrien  (bfd *);
260130561Sobrienextern bfd_boolean _bfd_nocore_core_file_matches_executable_p
261130561Sobrien  (bfd *, bfd *);
26233965Sjdp
26333965Sjdp/* Routines to use for BFD_JUMP_TABLE_ARCHIVE when there is no archive
26433965Sjdp   file support.  Use BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive).  */
26533965Sjdp
26633965Sjdp#define _bfd_noarchive_slurp_armap bfd_false
26733965Sjdp#define _bfd_noarchive_slurp_extended_name_table bfd_false
26833965Sjdp#define _bfd_noarchive_construct_extended_name_table \
269130561Sobrien  ((bfd_boolean (*) (bfd *, char **, bfd_size_type *, const char **)) \
27033965Sjdp   bfd_false)
27133965Sjdp#define _bfd_noarchive_truncate_arname \
272130561Sobrien  ((void (*) (bfd *, const char *, char *)) bfd_void)
27333965Sjdp#define _bfd_noarchive_write_armap \
274130561Sobrien  ((bfd_boolean (*) (bfd *, unsigned int, struct orl *, unsigned int, int)) \
27533965Sjdp   bfd_false)
27633965Sjdp#define _bfd_noarchive_read_ar_hdr bfd_nullvoidptr
27733965Sjdp#define _bfd_noarchive_openr_next_archived_file \
278130561Sobrien  ((bfd *(*) (bfd *, bfd *)) bfd_nullvoidptr)
27933965Sjdp#define _bfd_noarchive_get_elt_at_index \
280130561Sobrien  ((bfd *(*) (bfd *, symindex)) bfd_nullvoidptr)
28133965Sjdp#define _bfd_noarchive_generic_stat_arch_elt bfd_generic_stat_arch_elt
28233965Sjdp#define _bfd_noarchive_update_armap_timestamp bfd_false
28333965Sjdp
28433965Sjdp/* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get BSD style
28533965Sjdp   archives.  Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_bsd).  */
28633965Sjdp
28733965Sjdp#define _bfd_archive_bsd_slurp_armap bfd_slurp_bsd_armap
28833965Sjdp#define _bfd_archive_bsd_slurp_extended_name_table \
28933965Sjdp  _bfd_slurp_extended_name_table
290130561Sobrienextern bfd_boolean _bfd_archive_bsd_construct_extended_name_table
291130561Sobrien  (bfd *, char **, bfd_size_type *, const char **);
29233965Sjdp#define _bfd_archive_bsd_truncate_arname bfd_bsd_truncate_arname
29333965Sjdp#define _bfd_archive_bsd_write_armap bsd_write_armap
29433965Sjdp#define _bfd_archive_bsd_read_ar_hdr _bfd_generic_read_ar_hdr
29533965Sjdp#define _bfd_archive_bsd_openr_next_archived_file \
29633965Sjdp  bfd_generic_openr_next_archived_file
29733965Sjdp#define _bfd_archive_bsd_get_elt_at_index _bfd_generic_get_elt_at_index
29833965Sjdp#define _bfd_archive_bsd_generic_stat_arch_elt \
29933965Sjdp  bfd_generic_stat_arch_elt
300130561Sobrienextern bfd_boolean _bfd_archive_bsd_update_armap_timestamp
301130561Sobrien  (bfd *);
30233965Sjdp
30333965Sjdp/* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get COFF style
30433965Sjdp   archives.  Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff).  */
30533965Sjdp
30633965Sjdp#define _bfd_archive_coff_slurp_armap bfd_slurp_coff_armap
30733965Sjdp#define _bfd_archive_coff_slurp_extended_name_table \
30833965Sjdp  _bfd_slurp_extended_name_table
309130561Sobrienextern bfd_boolean _bfd_archive_coff_construct_extended_name_table
310130561Sobrien  (bfd *, char **, bfd_size_type *, const char **);
31133965Sjdp#define _bfd_archive_coff_truncate_arname bfd_dont_truncate_arname
31233965Sjdp#define _bfd_archive_coff_write_armap coff_write_armap
31333965Sjdp#define _bfd_archive_coff_read_ar_hdr _bfd_generic_read_ar_hdr
31433965Sjdp#define _bfd_archive_coff_openr_next_archived_file \
31533965Sjdp  bfd_generic_openr_next_archived_file
31633965Sjdp#define _bfd_archive_coff_get_elt_at_index _bfd_generic_get_elt_at_index
31733965Sjdp#define _bfd_archive_coff_generic_stat_arch_elt \
31833965Sjdp  bfd_generic_stat_arch_elt
31933965Sjdp#define _bfd_archive_coff_update_armap_timestamp bfd_true
32033965Sjdp
32133965Sjdp/* Routines to use for BFD_JUMP_TABLE_SYMBOLS where there is no symbol
32233965Sjdp   support.  Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols).  */
32333965Sjdp
32433965Sjdp#define _bfd_nosymbols_get_symtab_upper_bound _bfd_n1
325130561Sobrien#define _bfd_nosymbols_canonicalize_symtab \
326130561Sobrien  ((long (*) (bfd *, asymbol **)) _bfd_n1)
32789857Sobrien#define _bfd_nosymbols_make_empty_symbol _bfd_generic_make_empty_symbol
32833965Sjdp#define _bfd_nosymbols_print_symbol \
329130561Sobrien  ((void (*) (bfd *, void *, asymbol *, bfd_print_symbol_type)) bfd_void)
33033965Sjdp#define _bfd_nosymbols_get_symbol_info \
331130561Sobrien  ((void (*) (bfd *, asymbol *, symbol_info *)) bfd_void)
33233965Sjdp#define _bfd_nosymbols_bfd_is_local_label_name \
333130561Sobrien  ((bfd_boolean (*) (bfd *, const char *)) bfd_false)
334218822Sdim#define _bfd_nosymbols_bfd_is_target_special_symbol \
335218822Sdim  ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
33633965Sjdp#define _bfd_nosymbols_get_lineno \
337130561Sobrien  ((alent *(*) (bfd *, asymbol *)) bfd_nullvoidptr)
33833965Sjdp#define _bfd_nosymbols_find_nearest_line \
339130561Sobrien  ((bfd_boolean (*) (bfd *, asection *, asymbol **, bfd_vma, const char **, \
340130561Sobrien		     const char **, unsigned int *)) \
34133965Sjdp   bfd_false)
342218822Sdim#define _bfd_nosymbols_find_inliner_info \
343218822Sdim  ((bfd_boolean (*) (bfd *, const char **, const char **, unsigned int *)) \
344218822Sdim   bfd_false)
34533965Sjdp#define _bfd_nosymbols_bfd_make_debug_symbol \
346130561Sobrien  ((asymbol *(*) (bfd *, void *, unsigned long)) bfd_nullvoidptr)
34733965Sjdp#define _bfd_nosymbols_read_minisymbols \
348130561Sobrien  ((long (*) (bfd *, bfd_boolean, void **, unsigned int *)) _bfd_n1)
34933965Sjdp#define _bfd_nosymbols_minisymbol_to_symbol \
350130561Sobrien  ((asymbol *(*) (bfd *, bfd_boolean, const void *, asymbol *)) \
35133965Sjdp   bfd_nullvoidptr)
35233965Sjdp
35333965Sjdp/* Routines to use for BFD_JUMP_TABLE_RELOCS when there is no reloc
35433965Sjdp   support.  Use BFD_JUMP_TABLE_RELOCS (_bfd_norelocs).  */
35533965Sjdp
356218822Sdimextern long _bfd_norelocs_get_reloc_upper_bound (bfd *, asection *);
357218822Sdimextern long _bfd_norelocs_canonicalize_reloc (bfd *, asection *,
358218822Sdim					      arelent **, asymbol **);
35933965Sjdp#define _bfd_norelocs_bfd_reloc_type_lookup \
360130561Sobrien  ((reloc_howto_type *(*) (bfd *, bfd_reloc_code_real_type)) bfd_nullvoidptr)
361218822Sdim#define _bfd_norelocs_bfd_reloc_name_lookup \
362218822Sdim  ((reloc_howto_type *(*) (bfd *, const char *)) bfd_nullvoidptr)
36333965Sjdp
36433965Sjdp/* Routines to use for BFD_JUMP_TABLE_WRITE for targets which may not
36533965Sjdp   be written.  Use BFD_JUMP_TABLE_WRITE (_bfd_nowrite).  */
36633965Sjdp
36733965Sjdp#define _bfd_nowrite_set_arch_mach \
368130561Sobrien  ((bfd_boolean (*) (bfd *, enum bfd_architecture, unsigned long)) \
36933965Sjdp   bfd_false)
37033965Sjdp#define _bfd_nowrite_set_section_contents \
371130561Sobrien  ((bfd_boolean (*) (bfd *, asection *, const void *, file_ptr, bfd_size_type)) \
37233965Sjdp   bfd_false)
37333965Sjdp
37433965Sjdp/* Generic routines to use for BFD_JUMP_TABLE_WRITE.  Use
37533965Sjdp   BFD_JUMP_TABLE_WRITE (_bfd_generic).  */
37633965Sjdp
37733965Sjdp#define _bfd_generic_set_arch_mach bfd_default_set_arch_mach
378130561Sobrienextern bfd_boolean _bfd_generic_set_section_contents
379130561Sobrien  (bfd *, asection *, const void *, file_ptr, bfd_size_type);
38033965Sjdp
38133965Sjdp/* Routines to use for BFD_JUMP_TABLE_LINK for targets which do not
38233965Sjdp   support linking.  Use BFD_JUMP_TABLE_LINK (_bfd_nolink).  */
38333965Sjdp
384218822Sdim#define _bfd_nolink_sizeof_headers \
385218822Sdim  ((int (*) (bfd *, struct bfd_link_info *)) bfd_0)
38633965Sjdp#define _bfd_nolink_bfd_get_relocated_section_contents \
387130561Sobrien  ((bfd_byte *(*) (bfd *, struct bfd_link_info *, struct bfd_link_order *, \
388130561Sobrien		   bfd_byte *, bfd_boolean, asymbol **)) \
38933965Sjdp   bfd_nullvoidptr)
39033965Sjdp#define _bfd_nolink_bfd_relax_section \
391130561Sobrien  ((bfd_boolean (*) \
392130561Sobrien    (bfd *, asection *, struct bfd_link_info *, bfd_boolean *)) \
39333965Sjdp   bfd_false)
39460484Sobrien#define _bfd_nolink_bfd_gc_sections \
395130561Sobrien  ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \
39660484Sobrien   bfd_false)
39789857Sobrien#define _bfd_nolink_bfd_merge_sections \
398130561Sobrien  ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \
39989857Sobrien   bfd_false)
400218822Sdim#define _bfd_nolink_bfd_is_group_section \
401218822Sdim  ((bfd_boolean (*) (bfd *, const struct bfd_section *)) \
402218822Sdim   bfd_false)
403104834Sobrien#define _bfd_nolink_bfd_discard_group \
404130561Sobrien  ((bfd_boolean (*) (bfd *, struct bfd_section *)) \
405104834Sobrien   bfd_false)
40633965Sjdp#define _bfd_nolink_bfd_link_hash_table_create \
407130561Sobrien  ((struct bfd_link_hash_table *(*) (bfd *)) bfd_nullvoidptr)
408104834Sobrien#define _bfd_nolink_bfd_link_hash_table_free \
409130561Sobrien  ((void (*) (struct bfd_link_hash_table *)) bfd_void)
41033965Sjdp#define _bfd_nolink_bfd_link_add_symbols \
411130561Sobrien  ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false)
412104834Sobrien#define _bfd_nolink_bfd_link_just_syms \
413130561Sobrien  ((void (*) (asection *, struct bfd_link_info *)) bfd_void)
41433965Sjdp#define _bfd_nolink_bfd_final_link \
415130561Sobrien  ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false)
41633965Sjdp#define _bfd_nolink_bfd_link_split_section \
417130561Sobrien  ((bfd_boolean (*) (bfd *, struct bfd_section *)) bfd_false)
418218822Sdim#define _bfd_nolink_section_already_linked \
419218822Sdim  ((void (*) (bfd *, struct bfd_section *, struct bfd_link_info *)) bfd_void)
42033965Sjdp
42133965Sjdp/* Routines to use for BFD_JUMP_TABLE_DYNAMIC for targets which do not
42233965Sjdp   have dynamic symbols or relocs.  Use BFD_JUMP_TABLE_DYNAMIC
42333965Sjdp   (_bfd_nodynamic).  */
42433965Sjdp
42533965Sjdp#define _bfd_nodynamic_get_dynamic_symtab_upper_bound _bfd_n1
42633965Sjdp#define _bfd_nodynamic_canonicalize_dynamic_symtab \
427130561Sobrien  ((long (*) (bfd *, asymbol **)) _bfd_n1)
428218822Sdim#define _bfd_nodynamic_get_synthetic_symtab \
429218822Sdim  ((long (*) (bfd *, long, asymbol **, long, asymbol **, asymbol **)) _bfd_n1)
43033965Sjdp#define _bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_n1
43133965Sjdp#define _bfd_nodynamic_canonicalize_dynamic_reloc \
432130561Sobrien  ((long (*) (bfd *, arelent **, asymbol **)) _bfd_n1)
43333965Sjdp
43433965Sjdp/* Generic routine to determine of the given symbol is a local
43533965Sjdp   label.  */
436130561Sobrienextern bfd_boolean bfd_generic_is_local_label_name
437130561Sobrien  (bfd *, const char *);
43833965Sjdp
43933965Sjdp/* Generic minisymbol routines.  */
44033965Sjdpextern long _bfd_generic_read_minisymbols
441130561Sobrien  (bfd *, bfd_boolean, void **, unsigned int *);
44233965Sjdpextern asymbol *_bfd_generic_minisymbol_to_symbol
443130561Sobrien  (bfd *, bfd_boolean, const void *, asymbol *);
44433965Sjdp
44533965Sjdp/* Find the nearest line using .stab/.stabstr sections.  */
446130561Sobrienextern bfd_boolean _bfd_stab_section_find_nearest_line
447130561Sobrien  (bfd *, asymbol **, asection *, bfd_vma, bfd_boolean *,
448130561Sobrien   const char **, const char **, unsigned int *, void **);
44933965Sjdp
450218822Sdim/* Find the nearest line using DWARF 1 debugging information.  */
451130561Sobrienextern bfd_boolean _bfd_dwarf1_find_nearest_line
452130561Sobrien  (bfd *, asection *, asymbol **, bfd_vma, const char **,
453130561Sobrien   const char **, unsigned int *);
45460484Sobrien
45538889Sjdp/* Find the nearest line using DWARF 2 debugging information.  */
456130561Sobrienextern bfd_boolean _bfd_dwarf2_find_nearest_line
457130561Sobrien  (bfd *, asection *, asymbol **, bfd_vma, const char **, const char **,
458130561Sobrien   unsigned int *, unsigned int, void **);
45938889Sjdp
460218822Sdim/* Find the line using DWARF 2 debugging information.  */
461218822Sdimextern bfd_boolean _bfd_dwarf2_find_line
462218822Sdim  (bfd *, asymbol **, asymbol *, const char **,
463218822Sdim   unsigned int *, unsigned int, void **);
464218822Sdim
465218822Sdimbfd_boolean _bfd_generic_find_line
466218822Sdim  (bfd *, asymbol **, asymbol *, const char **, unsigned int *);
467218822Sdim
468218822Sdim/* Find inliner info after calling bfd_find_nearest_line. */
469218822Sdimextern bfd_boolean _bfd_dwarf2_find_inliner_info
470218822Sdim  (bfd *, const char **, const char **, unsigned int *, void **);
471218822Sdim
47289857Sobrien/* Create a new section entry.  */
47389857Sobrienextern struct bfd_hash_entry *bfd_section_hash_newfunc
474130561Sobrien  (struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
47589857Sobrien
47633965Sjdp/* A routine to create entries for a bfd_link_hash_table.  */
47733965Sjdpextern struct bfd_hash_entry *_bfd_link_hash_newfunc
478130561Sobrien  (struct bfd_hash_entry *entry, struct bfd_hash_table *table,
479130561Sobrien   const char *string);
48033965Sjdp
48133965Sjdp/* Initialize a bfd_link_hash_table.  */
482130561Sobrienextern bfd_boolean _bfd_link_hash_table_init
483130561Sobrien  (struct bfd_link_hash_table *, bfd *,
484130561Sobrien   struct bfd_hash_entry *(*) (struct bfd_hash_entry *,
485130561Sobrien			       struct bfd_hash_table *,
486218822Sdim			       const char *),
487218822Sdim   unsigned int);
48833965Sjdp
48933965Sjdp/* Generic link hash table creation routine.  */
49033965Sjdpextern struct bfd_link_hash_table *_bfd_generic_link_hash_table_create
491130561Sobrien  (bfd *);
49233965Sjdp
493104834Sobrien/* Generic link hash table destruction routine.  */
494104834Sobrienextern void _bfd_generic_link_hash_table_free
495130561Sobrien  (struct bfd_link_hash_table *);
496104834Sobrien
49733965Sjdp/* Generic add symbol routine.  */
498130561Sobrienextern bfd_boolean _bfd_generic_link_add_symbols
499130561Sobrien  (bfd *, struct bfd_link_info *);
50033965Sjdp
50133965Sjdp/* Generic add symbol routine.  This version is used by targets for
50233965Sjdp   which the linker must collect constructors and destructors by name,
50333965Sjdp   as the collect2 program does.  */
504130561Sobrienextern bfd_boolean _bfd_generic_link_add_symbols_collect
505130561Sobrien  (bfd *, struct bfd_link_info *);
50633965Sjdp
50733965Sjdp/* Generic archive add symbol routine.  */
508130561Sobrienextern bfd_boolean _bfd_generic_link_add_archive_symbols
509130561Sobrien  (bfd *, struct bfd_link_info *,
510130561Sobrien   bfd_boolean (*) (bfd *, struct bfd_link_info *, bfd_boolean *));
51133965Sjdp
51233965Sjdp/* Forward declaration to avoid prototype errors.  */
51333965Sjdptypedef struct bfd_link_hash_entry _bfd_link_hash_entry;
51433965Sjdp
51533965Sjdp/* Generic routine to add a single symbol.  */
516130561Sobrienextern bfd_boolean _bfd_generic_link_add_one_symbol
517130561Sobrien  (struct bfd_link_info *, bfd *, const char *name, flagword,
518130561Sobrien   asection *, bfd_vma, const char *, bfd_boolean copy,
519130561Sobrien   bfd_boolean constructor, struct bfd_link_hash_entry **);
52033965Sjdp
521104834Sobrien/* Generic routine to mark section as supplying symbols only.  */
522104834Sobrienextern void _bfd_generic_link_just_syms
523130561Sobrien  (asection *, struct bfd_link_info *);
524104834Sobrien
52533965Sjdp/* Generic link routine.  */
526130561Sobrienextern bfd_boolean _bfd_generic_final_link
527130561Sobrien  (bfd *, struct bfd_link_info *);
52833965Sjdp
529130561Sobrienextern bfd_boolean _bfd_generic_link_split_section
530130561Sobrien  (bfd *, struct bfd_section *);
53133965Sjdp
532218822Sdimextern void _bfd_generic_section_already_linked
533218822Sdim  (bfd *, struct bfd_section *, struct bfd_link_info *);
534218822Sdim
53533965Sjdp/* Generic reloc_link_order processing routine.  */
536130561Sobrienextern bfd_boolean _bfd_generic_reloc_link_order
537130561Sobrien  (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *);
53833965Sjdp
53933965Sjdp/* Default link order processing routine.  */
540130561Sobrienextern bfd_boolean _bfd_default_link_order
541130561Sobrien  (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *);
54233965Sjdp
54333965Sjdp/* Count the number of reloc entries in a link order list.  */
54433965Sjdpextern unsigned int _bfd_count_link_order_relocs
545130561Sobrien  (struct bfd_link_order *);
54633965Sjdp
54733965Sjdp/* Final link relocation routine.  */
54833965Sjdpextern bfd_reloc_status_type _bfd_final_link_relocate
549130561Sobrien  (reloc_howto_type *, bfd *, asection *, bfd_byte *,
550130561Sobrien   bfd_vma, bfd_vma, bfd_vma);
55133965Sjdp
55233965Sjdp/* Relocate a particular location by a howto and a value.  */
55333965Sjdpextern bfd_reloc_status_type _bfd_relocate_contents
554130561Sobrien  (reloc_howto_type *, bfd *, bfd_vma, bfd_byte *);
55533965Sjdp
556218822Sdim/* Clear a given location using a given howto.  */
557218822Sdimextern void _bfd_clear_contents (reloc_howto_type *howto, bfd *input_bfd,
558218822Sdim				 bfd_byte *location);
559218822Sdim
56033965Sjdp/* Link stabs in sections in the first pass.  */
56133965Sjdp
562130561Sobrienextern bfd_boolean _bfd_link_section_stabs
563218822Sdim  (bfd *, struct stab_info *, asection *, asection *, void **,
564218822Sdim   bfd_size_type *);
56533965Sjdp
56689857Sobrien/* Eliminate stabs for discarded functions and symbols.  */
567130561Sobrienextern bfd_boolean _bfd_discard_section_stabs
568130561Sobrien  (bfd *, asection *, void *, bfd_boolean (*) (bfd_vma, void *), void *);
56989857Sobrien
57033965Sjdp/* Write out the .stab section when linking stabs in sections.  */
57133965Sjdp
572130561Sobrienextern bfd_boolean _bfd_write_section_stabs
573218822Sdim  (bfd *, struct stab_info *, asection *, void **, bfd_byte *);
57433965Sjdp
57533965Sjdp/* Write out the .stabstr string table when linking stabs in sections.  */
57633965Sjdp
577130561Sobrienextern bfd_boolean _bfd_write_stab_strings
578218822Sdim  (bfd *, struct stab_info *);
57933965Sjdp
58033965Sjdp/* Find an offset within a .stab section when linking stabs in
58133965Sjdp   sections.  */
58233965Sjdp
58333965Sjdpextern bfd_vma _bfd_stab_section_offset
584218822Sdim  (asection *, void *, bfd_vma);
58533965Sjdp
586218822Sdim/* Register a SEC_MERGE section as a candidate for merging.  */
58789857Sobrien
588218822Sdimextern bfd_boolean _bfd_add_merge_section
589130561Sobrien  (bfd *, void **, asection *, void **);
59089857Sobrien
59189857Sobrien/* Attempt to merge SEC_MERGE sections.  */
59289857Sobrien
593130561Sobrienextern bfd_boolean _bfd_merge_sections
594218822Sdim  (bfd *, struct bfd_link_info *, void *, void (*) (bfd *, asection *));
59589857Sobrien
59689857Sobrien/* Write out a merged section.  */
59789857Sobrien
598130561Sobrienextern bfd_boolean _bfd_write_merged_section
599130561Sobrien  (bfd *, asection *, void *);
60089857Sobrien
60189857Sobrien/* Find an offset within a modified SEC_MERGE section.  */
60289857Sobrien
60389857Sobrienextern bfd_vma _bfd_merged_section_offset
604218822Sdim  (bfd *, asection **, void *, bfd_vma);
60589857Sobrien
60633965Sjdp/* Create a string table.  */
607130561Sobrienextern struct bfd_strtab_hash *_bfd_stringtab_init
608130561Sobrien  (void);
60933965Sjdp
61033965Sjdp/* Create an XCOFF .debug section style string table.  */
611130561Sobrienextern struct bfd_strtab_hash *_bfd_xcoff_stringtab_init
612130561Sobrien  (void);
61333965Sjdp
61433965Sjdp/* Free a string table.  */
615130561Sobrienextern void _bfd_stringtab_free
616130561Sobrien  (struct bfd_strtab_hash *);
61733965Sjdp
61833965Sjdp/* Get the size of a string table.  */
619130561Sobrienextern bfd_size_type _bfd_stringtab_size
620130561Sobrien  (struct bfd_strtab_hash *);
62133965Sjdp
62233965Sjdp/* Add a string to a string table.  */
62333965Sjdpextern bfd_size_type _bfd_stringtab_add
624130561Sobrien  (struct bfd_strtab_hash *, const char *, bfd_boolean hash, bfd_boolean copy);
62533965Sjdp
62633965Sjdp/* Write out a string table.  */
627130561Sobrienextern bfd_boolean _bfd_stringtab_emit
628130561Sobrien  (bfd *, struct bfd_strtab_hash *);
62960484Sobrien
63060484Sobrien/* Check that endianness of input and output file match.  */
631130561Sobrienextern bfd_boolean _bfd_generic_verify_endian_match
632130561Sobrien  (bfd *, bfd *);
63333965Sjdp
63433965Sjdp/* Macros to tell if bfds are read or write enabled.
63533965Sjdp
63633965Sjdp   Note that bfds open for read may be scribbled into if the fd passed
63733965Sjdp   to bfd_fdopenr is actually open both for read and write
63833965Sjdp   simultaneously.  However an output bfd will never be open for
63933965Sjdp   read.  Therefore sometimes you want to check bfd_read_p or
64033965Sjdp   !bfd_read_p, and only sometimes bfd_write_p.
64133965Sjdp*/
64233965Sjdp
643130561Sobrien#define	bfd_read_p(abfd) \
644130561Sobrien  ((abfd)->direction == read_direction || (abfd)->direction == both_direction)
645130561Sobrien#define	bfd_write_p(abfd) \
646130561Sobrien  ((abfd)->direction == write_direction || (abfd)->direction == both_direction)
64733965Sjdp
648130561Sobrienvoid bfd_assert
649130561Sobrien  (const char*,int);
65033965Sjdp
65133965Sjdp#define BFD_ASSERT(x) \
652218822Sdim  do { if (!(x)) bfd_assert(__FILE__,__LINE__); } while (0)
65333965Sjdp
65433965Sjdp#define BFD_FAIL() \
655218822Sdim  do { bfd_assert(__FILE__,__LINE__); } while (0)
65633965Sjdp
657130561Sobrienextern void _bfd_abort
658130561Sobrien  (const char *, int, const char *) ATTRIBUTE_NORETURN;
65960484Sobrien
66060484Sobrien/* if gcc >= 2.6, we can give a function name, too */
66160484Sobrien#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6)
66260484Sobrien#define __PRETTY_FUNCTION__  ((char *) NULL)
66360484Sobrien#endif
66460484Sobrien
66560484Sobrien#undef abort
66660484Sobrien#define abort() _bfd_abort (__FILE__, __LINE__, __PRETTY_FUNCTION__)
66760484Sobrien
668130561Sobrien/* Manipulate a system FILE but using BFD's "file_ptr", rather than
669130561Sobrien   the system "off_t" or "off64_t", as the offset.  */
670130561Sobrienextern file_ptr real_ftell (FILE *file);
671130561Sobrienextern int real_fseek (FILE *file, file_ptr offset, int whence);
672218822Sdimextern FILE *real_fopen (const char *filename, const char *modes);
67333965Sjdp
67433965Sjdp/* List of supported target vectors, and the default vector (if
67533965Sjdp   bfd_default_vector[0] is NULL, there is no default).  */
67678828Sobrienextern const bfd_target * const *bfd_target_vector;
67733965Sjdpextern const bfd_target *bfd_default_vector[];
67833965Sjdp
679130561Sobrien/* List of associated target vectors.  */
680130561Sobrienextern const bfd_target * const *bfd_associated_vector;
681130561Sobrien
68233965Sjdp/* Functions shared by the ECOFF and MIPS ELF backends, which have no
68333965Sjdp   other common header files.  */
68433965Sjdp
68533965Sjdp#if defined(__STDC__) || defined(ALMOST_STDC)
68633965Sjdpstruct ecoff_find_line;
68733965Sjdp#endif
68833965Sjdp
689130561Sobrienextern bfd_boolean _bfd_ecoff_locate_line
690130561Sobrien  (bfd *, asection *, bfd_vma, struct ecoff_debug_info * const,
691130561Sobrien   const struct ecoff_debug_swap * const, struct ecoff_find_line *,
692130561Sobrien   const char **, const char **, unsigned int *);
693130561Sobrienextern bfd_boolean _bfd_ecoff_get_accumulated_pdr
694130561Sobrien  (void *, bfd_byte *);
695130561Sobrienextern bfd_boolean _bfd_ecoff_get_accumulated_sym
696130561Sobrien  (void *, bfd_byte *);
697130561Sobrienextern bfd_boolean _bfd_ecoff_get_accumulated_ss
698130561Sobrien  (void *, bfd_byte *);
69933965Sjdp
700130561Sobrienextern bfd_vma _bfd_get_gp_value
701130561Sobrien  (bfd *);
702130561Sobrienextern void _bfd_set_gp_value
703130561Sobrien  (bfd *, bfd_vma);
70433965Sjdp
70533965Sjdp/* Function shared by the COFF and ELF SH backends, which have no
70633965Sjdp   other common header files.  */
70733965Sjdp
708130561Sobrien#ifndef _bfd_sh_align_load_span
709130561Sobrienextern bfd_boolean _bfd_sh_align_load_span
710130561Sobrien  (bfd *, asection *, bfd_byte *,
711130561Sobrien   bfd_boolean (*) (bfd *, asection *, void *, bfd_byte *, bfd_vma),
712130561Sobrien   void *, bfd_vma **, bfd_vma *, bfd_vma, bfd_vma, bfd_boolean *);
713130561Sobrien#endif
714218822Sdim
715218822Sdim/* This is the shape of the elements inside the already_linked hash
716218822Sdim   table. It maps a name onto a list of already_linked elements with
717218822Sdim   the same name.  */
718218822Sdim
719218822Sdimstruct bfd_section_already_linked_hash_entry
720218822Sdim{
721218822Sdim  struct bfd_hash_entry root;
722218822Sdim  struct bfd_section_already_linked *entry;
723218822Sdim};
724218822Sdim
725218822Sdimstruct bfd_section_already_linked
726218822Sdim{
727218822Sdim  struct bfd_section_already_linked *next;
728218822Sdim  asection *sec;
729218822Sdim};
730218822Sdim
731218822Sdimextern struct bfd_section_already_linked_hash_entry *
732218822Sdim  bfd_section_already_linked_table_lookup (const char *);
733218822Sdimextern void bfd_section_already_linked_table_insert
734218822Sdim  (struct bfd_section_already_linked_hash_entry *, asection *);
735218822Sdimextern void bfd_section_already_linked_table_traverse
736218822Sdim  (bfd_boolean (*) (struct bfd_section_already_linked_hash_entry *,
737218822Sdim		    void *), void *);
738218822Sdim
739218822Sdimextern bfd_vma read_unsigned_leb128 (bfd *, bfd_byte *, unsigned int *);
740218822Sdimextern bfd_signed_vma read_signed_leb128 (bfd *, bfd_byte *, unsigned int *);
741218822Sdim
742104834Sobrien/* Extracted from init.c.  */
743104834Sobrien/* Extracted from libbfd.c.  */
744130561Sobrienbfd_boolean bfd_write_bigendian_4byte_int (bfd *, unsigned int);
74533965Sjdp
746130561Sobrienunsigned int bfd_log2 (bfd_vma x);
74733965Sjdp
748130561Sobrien/* Extracted from bfdio.c.  */
749218822Sdimstruct bfd_iovec
750218822Sdim{
751218822Sdim  /* To avoid problems with macros, a "b" rather than "f"
752218822Sdim     prefix is prepended to each method name.  */
753218822Sdim  /* Attempt to read/write NBYTES on ABFD's IOSTREAM storing/fetching
754218822Sdim     bytes starting at PTR.  Return the number of bytes actually
755218822Sdim     transfered (a read past end-of-file returns less than NBYTES),
756218822Sdim     or -1 (setting <<bfd_error>>) if an error occurs.  */
757218822Sdim  file_ptr (*bread) (struct bfd *abfd, void *ptr, file_ptr nbytes);
758218822Sdim  file_ptr (*bwrite) (struct bfd *abfd, const void *ptr,
759218822Sdim                      file_ptr nbytes);
760218822Sdim  /* Return the current IOSTREAM file offset, or -1 (setting <<bfd_error>>
761218822Sdim     if an error occurs.  */
762218822Sdim  file_ptr (*btell) (struct bfd *abfd);
763218822Sdim  /* For the following, on successful completion a value of 0 is returned.
764218822Sdim     Otherwise, a value of -1 is returned (and  <<bfd_error>> is set).  */
765218822Sdim  int (*bseek) (struct bfd *abfd, file_ptr offset, int whence);
766218822Sdim  int (*bclose) (struct bfd *abfd);
767218822Sdim  int (*bflush) (struct bfd *abfd);
768218822Sdim  int (*bstat) (struct bfd *abfd, struct stat *sb);
769218822Sdim};
770130561Sobrien/* Extracted from bfdwin.c.  */
771130561Sobrienstruct _bfd_window_internal {
772130561Sobrien  struct _bfd_window_internal *next;
773130561Sobrien  void *data;
774130561Sobrien  bfd_size_type size;
775130561Sobrien  int refcount : 31;           /* should be enough...  */
776130561Sobrien  unsigned mapped : 1;         /* 1 = mmap, 0 = malloc */
777130561Sobrien};
778104834Sobrien/* Extracted from cache.c.  */
779130561Sobrienbfd_boolean bfd_cache_init (bfd *abfd);
78033965Sjdp
781130561Sobrienbfd_boolean bfd_cache_close (bfd *abfd);
78233965Sjdp
783130561SobrienFILE* bfd_open_file (bfd *abfd);
78433965Sjdp
785104834Sobrien/* Extracted from reloc.c.  */
78633965Sjdp#ifdef _BFD_MAKE_TABLE_bfd_reloc_code_real
78733965Sjdp
78833965Sjdpstatic const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
78933965Sjdp
79033965Sjdp  "BFD_RELOC_64",
79133965Sjdp  "BFD_RELOC_32",
79233965Sjdp  "BFD_RELOC_26",
79333965Sjdp  "BFD_RELOC_24",
79433965Sjdp  "BFD_RELOC_16",
79533965Sjdp  "BFD_RELOC_14",
79633965Sjdp  "BFD_RELOC_8",
79733965Sjdp  "BFD_RELOC_64_PCREL",
79833965Sjdp  "BFD_RELOC_32_PCREL",
79933965Sjdp  "BFD_RELOC_24_PCREL",
80033965Sjdp  "BFD_RELOC_16_PCREL",
80133965Sjdp  "BFD_RELOC_12_PCREL",
80233965Sjdp  "BFD_RELOC_8_PCREL",
803218822Sdim  "BFD_RELOC_32_SECREL",
80433965Sjdp  "BFD_RELOC_32_GOT_PCREL",
80533965Sjdp  "BFD_RELOC_16_GOT_PCREL",
80633965Sjdp  "BFD_RELOC_8_GOT_PCREL",
80733965Sjdp  "BFD_RELOC_32_GOTOFF",
80833965Sjdp  "BFD_RELOC_16_GOTOFF",
80933965Sjdp  "BFD_RELOC_LO16_GOTOFF",
81033965Sjdp  "BFD_RELOC_HI16_GOTOFF",
81133965Sjdp  "BFD_RELOC_HI16_S_GOTOFF",
81233965Sjdp  "BFD_RELOC_8_GOTOFF",
81389857Sobrien  "BFD_RELOC_64_PLT_PCREL",
81433965Sjdp  "BFD_RELOC_32_PLT_PCREL",
81533965Sjdp  "BFD_RELOC_24_PLT_PCREL",
81633965Sjdp  "BFD_RELOC_16_PLT_PCREL",
81733965Sjdp  "BFD_RELOC_8_PLT_PCREL",
81889857Sobrien  "BFD_RELOC_64_PLTOFF",
81933965Sjdp  "BFD_RELOC_32_PLTOFF",
82033965Sjdp  "BFD_RELOC_16_PLTOFF",
82133965Sjdp  "BFD_RELOC_LO16_PLTOFF",
82233965Sjdp  "BFD_RELOC_HI16_PLTOFF",
82333965Sjdp  "BFD_RELOC_HI16_S_PLTOFF",
82433965Sjdp  "BFD_RELOC_8_PLTOFF",
82533965Sjdp  "BFD_RELOC_68K_GLOB_DAT",
82633965Sjdp  "BFD_RELOC_68K_JMP_SLOT",
82733965Sjdp  "BFD_RELOC_68K_RELATIVE",
82833965Sjdp  "BFD_RELOC_32_BASEREL",
82933965Sjdp  "BFD_RELOC_16_BASEREL",
83033965Sjdp  "BFD_RELOC_LO16_BASEREL",
83133965Sjdp  "BFD_RELOC_HI16_BASEREL",
83233965Sjdp  "BFD_RELOC_HI16_S_BASEREL",
83333965Sjdp  "BFD_RELOC_8_BASEREL",
83433965Sjdp  "BFD_RELOC_RVA",
83533965Sjdp  "BFD_RELOC_8_FFnn",
83633965Sjdp  "BFD_RELOC_32_PCREL_S2",
83733965Sjdp  "BFD_RELOC_16_PCREL_S2",
83833965Sjdp  "BFD_RELOC_23_PCREL_S2",
83933965Sjdp  "BFD_RELOC_HI22",
84033965Sjdp  "BFD_RELOC_LO10",
84133965Sjdp  "BFD_RELOC_GPREL16",
84233965Sjdp  "BFD_RELOC_GPREL32",
84333965Sjdp  "BFD_RELOC_I960_CALLJ",
84433965Sjdp  "BFD_RELOC_NONE",
84533965Sjdp  "BFD_RELOC_SPARC_WDISP22",
84633965Sjdp  "BFD_RELOC_SPARC22",
84733965Sjdp  "BFD_RELOC_SPARC13",
84833965Sjdp  "BFD_RELOC_SPARC_GOT10",
84933965Sjdp  "BFD_RELOC_SPARC_GOT13",
85033965Sjdp  "BFD_RELOC_SPARC_GOT22",
85133965Sjdp  "BFD_RELOC_SPARC_PC10",
85233965Sjdp  "BFD_RELOC_SPARC_PC22",
85333965Sjdp  "BFD_RELOC_SPARC_WPLT30",
85433965Sjdp  "BFD_RELOC_SPARC_COPY",
85533965Sjdp  "BFD_RELOC_SPARC_GLOB_DAT",
85633965Sjdp  "BFD_RELOC_SPARC_JMP_SLOT",
85733965Sjdp  "BFD_RELOC_SPARC_RELATIVE",
85878828Sobrien  "BFD_RELOC_SPARC_UA16",
85933965Sjdp  "BFD_RELOC_SPARC_UA32",
86078828Sobrien  "BFD_RELOC_SPARC_UA64",
86133965Sjdp  "BFD_RELOC_SPARC_BASE13",
86233965Sjdp  "BFD_RELOC_SPARC_BASE22",
86333965Sjdp  "BFD_RELOC_SPARC_10",
86433965Sjdp  "BFD_RELOC_SPARC_11",
86533965Sjdp  "BFD_RELOC_SPARC_OLO10",
86633965Sjdp  "BFD_RELOC_SPARC_HH22",
86733965Sjdp  "BFD_RELOC_SPARC_HM10",
86833965Sjdp  "BFD_RELOC_SPARC_LM22",
86933965Sjdp  "BFD_RELOC_SPARC_PC_HH22",
87033965Sjdp  "BFD_RELOC_SPARC_PC_HM10",
87133965Sjdp  "BFD_RELOC_SPARC_PC_LM22",
87233965Sjdp  "BFD_RELOC_SPARC_WDISP16",
87333965Sjdp  "BFD_RELOC_SPARC_WDISP19",
87433965Sjdp  "BFD_RELOC_SPARC_7",
87533965Sjdp  "BFD_RELOC_SPARC_6",
87633965Sjdp  "BFD_RELOC_SPARC_5",
87789857Sobrien  "BFD_RELOC_SPARC_PLT32",
87838889Sjdp  "BFD_RELOC_SPARC_PLT64",
87938889Sjdp  "BFD_RELOC_SPARC_HIX22",
88038889Sjdp  "BFD_RELOC_SPARC_LOX10",
88138889Sjdp  "BFD_RELOC_SPARC_H44",
88238889Sjdp  "BFD_RELOC_SPARC_M44",
88338889Sjdp  "BFD_RELOC_SPARC_L44",
88438889Sjdp  "BFD_RELOC_SPARC_REGISTER",
88560484Sobrien  "BFD_RELOC_SPARC_REV32",
886130561Sobrien  "BFD_RELOC_SPARC_TLS_GD_HI22",
887130561Sobrien  "BFD_RELOC_SPARC_TLS_GD_LO10",
888130561Sobrien  "BFD_RELOC_SPARC_TLS_GD_ADD",
889130561Sobrien  "BFD_RELOC_SPARC_TLS_GD_CALL",
890130561Sobrien  "BFD_RELOC_SPARC_TLS_LDM_HI22",
891130561Sobrien  "BFD_RELOC_SPARC_TLS_LDM_LO10",
892130561Sobrien  "BFD_RELOC_SPARC_TLS_LDM_ADD",
893130561Sobrien  "BFD_RELOC_SPARC_TLS_LDM_CALL",
894130561Sobrien  "BFD_RELOC_SPARC_TLS_LDO_HIX22",
895130561Sobrien  "BFD_RELOC_SPARC_TLS_LDO_LOX10",
896130561Sobrien  "BFD_RELOC_SPARC_TLS_LDO_ADD",
897130561Sobrien  "BFD_RELOC_SPARC_TLS_IE_HI22",
898130561Sobrien  "BFD_RELOC_SPARC_TLS_IE_LO10",
899130561Sobrien  "BFD_RELOC_SPARC_TLS_IE_LD",
900130561Sobrien  "BFD_RELOC_SPARC_TLS_IE_LDX",
901130561Sobrien  "BFD_RELOC_SPARC_TLS_IE_ADD",
902130561Sobrien  "BFD_RELOC_SPARC_TLS_LE_HIX22",
903130561Sobrien  "BFD_RELOC_SPARC_TLS_LE_LOX10",
904130561Sobrien  "BFD_RELOC_SPARC_TLS_DTPMOD32",
905130561Sobrien  "BFD_RELOC_SPARC_TLS_DTPMOD64",
906130561Sobrien  "BFD_RELOC_SPARC_TLS_DTPOFF32",
907130561Sobrien  "BFD_RELOC_SPARC_TLS_DTPOFF64",
908130561Sobrien  "BFD_RELOC_SPARC_TLS_TPOFF32",
909130561Sobrien  "BFD_RELOC_SPARC_TLS_TPOFF64",
910218822Sdim  "BFD_RELOC_SPU_IMM7",
911218822Sdim  "BFD_RELOC_SPU_IMM8",
912218822Sdim  "BFD_RELOC_SPU_IMM10",
913218822Sdim  "BFD_RELOC_SPU_IMM10W",
914218822Sdim  "BFD_RELOC_SPU_IMM16",
915218822Sdim  "BFD_RELOC_SPU_IMM16W",
916218822Sdim  "BFD_RELOC_SPU_IMM18",
917218822Sdim  "BFD_RELOC_SPU_PCREL9a",
918218822Sdim  "BFD_RELOC_SPU_PCREL9b",
919218822Sdim  "BFD_RELOC_SPU_PCREL16",
920218822Sdim  "BFD_RELOC_SPU_LO16",
921218822Sdim  "BFD_RELOC_SPU_HI16",
922218822Sdim  "BFD_RELOC_SPU_PPU32",
923218822Sdim  "BFD_RELOC_SPU_PPU64",
92433965Sjdp  "BFD_RELOC_ALPHA_GPDISP_HI16",
92533965Sjdp  "BFD_RELOC_ALPHA_GPDISP_LO16",
92633965Sjdp  "BFD_RELOC_ALPHA_GPDISP",
92733965Sjdp  "BFD_RELOC_ALPHA_LITERAL",
92833965Sjdp  "BFD_RELOC_ALPHA_ELF_LITERAL",
92933965Sjdp  "BFD_RELOC_ALPHA_LITUSE",
93033965Sjdp  "BFD_RELOC_ALPHA_HINT",
93133965Sjdp  "BFD_RELOC_ALPHA_LINKAGE",
93233965Sjdp  "BFD_RELOC_ALPHA_CODEADDR",
93389857Sobrien  "BFD_RELOC_ALPHA_GPREL_HI16",
93489857Sobrien  "BFD_RELOC_ALPHA_GPREL_LO16",
93591041Sobrien  "BFD_RELOC_ALPHA_BRSGP",
936104834Sobrien  "BFD_RELOC_ALPHA_TLSGD",
937104834Sobrien  "BFD_RELOC_ALPHA_TLSLDM",
938104834Sobrien  "BFD_RELOC_ALPHA_DTPMOD64",
939104834Sobrien  "BFD_RELOC_ALPHA_GOTDTPREL16",
940104834Sobrien  "BFD_RELOC_ALPHA_DTPREL64",
941104834Sobrien  "BFD_RELOC_ALPHA_DTPREL_HI16",
942104834Sobrien  "BFD_RELOC_ALPHA_DTPREL_LO16",
943104834Sobrien  "BFD_RELOC_ALPHA_DTPREL16",
944104834Sobrien  "BFD_RELOC_ALPHA_GOTTPREL16",
945104834Sobrien  "BFD_RELOC_ALPHA_TPREL64",
946104834Sobrien  "BFD_RELOC_ALPHA_TPREL_HI16",
947104834Sobrien  "BFD_RELOC_ALPHA_TPREL_LO16",
948104834Sobrien  "BFD_RELOC_ALPHA_TPREL16",
94933965Sjdp  "BFD_RELOC_MIPS_JMP",
95033965Sjdp  "BFD_RELOC_MIPS16_JMP",
95133965Sjdp  "BFD_RELOC_MIPS16_GPREL",
95233965Sjdp  "BFD_RELOC_HI16",
95333965Sjdp  "BFD_RELOC_HI16_S",
95433965Sjdp  "BFD_RELOC_LO16",
955218822Sdim  "BFD_RELOC_HI16_PCREL",
956218822Sdim  "BFD_RELOC_HI16_S_PCREL",
957218822Sdim  "BFD_RELOC_LO16_PCREL",
958218822Sdim  "BFD_RELOC_MIPS16_HI16",
959218822Sdim  "BFD_RELOC_MIPS16_HI16_S",
960218822Sdim  "BFD_RELOC_MIPS16_LO16",
96133965Sjdp  "BFD_RELOC_MIPS_LITERAL",
96233965Sjdp  "BFD_RELOC_MIPS_GOT16",
96333965Sjdp  "BFD_RELOC_MIPS_CALL16",
96433965Sjdp  "BFD_RELOC_MIPS_GOT_HI16",
96533965Sjdp  "BFD_RELOC_MIPS_GOT_LO16",
96633965Sjdp  "BFD_RELOC_MIPS_CALL_HI16",
96733965Sjdp  "BFD_RELOC_MIPS_CALL_LO16",
96860484Sobrien  "BFD_RELOC_MIPS_SUB",
96960484Sobrien  "BFD_RELOC_MIPS_GOT_PAGE",
97060484Sobrien  "BFD_RELOC_MIPS_GOT_OFST",
97160484Sobrien  "BFD_RELOC_MIPS_GOT_DISP",
97278828Sobrien  "BFD_RELOC_MIPS_SHIFT5",
97378828Sobrien  "BFD_RELOC_MIPS_SHIFT6",
97478828Sobrien  "BFD_RELOC_MIPS_INSERT_A",
97578828Sobrien  "BFD_RELOC_MIPS_INSERT_B",
97678828Sobrien  "BFD_RELOC_MIPS_DELETE",
97778828Sobrien  "BFD_RELOC_MIPS_HIGHEST",
97878828Sobrien  "BFD_RELOC_MIPS_HIGHER",
97978828Sobrien  "BFD_RELOC_MIPS_SCN_DISP",
98078828Sobrien  "BFD_RELOC_MIPS_REL16",
98178828Sobrien  "BFD_RELOC_MIPS_RELGOT",
98278828Sobrien  "BFD_RELOC_MIPS_JALR",
983218822Sdim  "BFD_RELOC_MIPS_TLS_DTPMOD32",
984218822Sdim  "BFD_RELOC_MIPS_TLS_DTPREL32",
985218822Sdim  "BFD_RELOC_MIPS_TLS_DTPMOD64",
986218822Sdim  "BFD_RELOC_MIPS_TLS_DTPREL64",
987218822Sdim  "BFD_RELOC_MIPS_TLS_GD",
988218822Sdim  "BFD_RELOC_MIPS_TLS_LDM",
989218822Sdim  "BFD_RELOC_MIPS_TLS_DTPREL_HI16",
990218822Sdim  "BFD_RELOC_MIPS_TLS_DTPREL_LO16",
991218822Sdim  "BFD_RELOC_MIPS_TLS_GOTTPREL",
992218822Sdim  "BFD_RELOC_MIPS_TLS_TPREL32",
993218822Sdim  "BFD_RELOC_MIPS_TLS_TPREL64",
994218822Sdim  "BFD_RELOC_MIPS_TLS_TPREL_HI16",
995218822Sdim  "BFD_RELOC_MIPS_TLS_TPREL_LO16",
996130561Sobrien
997218822Sdim  "BFD_RELOC_MIPS_COPY",
998218822Sdim  "BFD_RELOC_MIPS_JUMP_SLOT",
999218822Sdim
1000104834Sobrien  "BFD_RELOC_FRV_LABEL16",
1001104834Sobrien  "BFD_RELOC_FRV_LABEL24",
1002104834Sobrien  "BFD_RELOC_FRV_LO16",
1003104834Sobrien  "BFD_RELOC_FRV_HI16",
1004104834Sobrien  "BFD_RELOC_FRV_GPREL12",
1005104834Sobrien  "BFD_RELOC_FRV_GPRELU12",
1006104834Sobrien  "BFD_RELOC_FRV_GPREL32",
1007104834Sobrien  "BFD_RELOC_FRV_GPRELHI",
1008104834Sobrien  "BFD_RELOC_FRV_GPRELLO",
1009130561Sobrien  "BFD_RELOC_FRV_GOT12",
1010130561Sobrien  "BFD_RELOC_FRV_GOTHI",
1011130561Sobrien  "BFD_RELOC_FRV_GOTLO",
1012130561Sobrien  "BFD_RELOC_FRV_FUNCDESC",
1013130561Sobrien  "BFD_RELOC_FRV_FUNCDESC_GOT12",
1014130561Sobrien  "BFD_RELOC_FRV_FUNCDESC_GOTHI",
1015130561Sobrien  "BFD_RELOC_FRV_FUNCDESC_GOTLO",
1016130561Sobrien  "BFD_RELOC_FRV_FUNCDESC_VALUE",
1017130561Sobrien  "BFD_RELOC_FRV_FUNCDESC_GOTOFF12",
1018130561Sobrien  "BFD_RELOC_FRV_FUNCDESC_GOTOFFHI",
1019130561Sobrien  "BFD_RELOC_FRV_FUNCDESC_GOTOFFLO",
1020130561Sobrien  "BFD_RELOC_FRV_GOTOFF12",
1021130561Sobrien  "BFD_RELOC_FRV_GOTOFFHI",
1022130561Sobrien  "BFD_RELOC_FRV_GOTOFFLO",
1023218822Sdim  "BFD_RELOC_FRV_GETTLSOFF",
1024218822Sdim  "BFD_RELOC_FRV_TLSDESC_VALUE",
1025218822Sdim  "BFD_RELOC_FRV_GOTTLSDESC12",
1026218822Sdim  "BFD_RELOC_FRV_GOTTLSDESCHI",
1027218822Sdim  "BFD_RELOC_FRV_GOTTLSDESCLO",
1028218822Sdim  "BFD_RELOC_FRV_TLSMOFF12",
1029218822Sdim  "BFD_RELOC_FRV_TLSMOFFHI",
1030218822Sdim  "BFD_RELOC_FRV_TLSMOFFLO",
1031218822Sdim  "BFD_RELOC_FRV_GOTTLSOFF12",
1032218822Sdim  "BFD_RELOC_FRV_GOTTLSOFFHI",
1033218822Sdim  "BFD_RELOC_FRV_GOTTLSOFFLO",
1034218822Sdim  "BFD_RELOC_FRV_TLSOFF",
1035218822Sdim  "BFD_RELOC_FRV_TLSDESC_RELAX",
1036218822Sdim  "BFD_RELOC_FRV_GETTLSOFF_RELAX",
1037218822Sdim  "BFD_RELOC_FRV_TLSOFF_RELAX",
1038218822Sdim  "BFD_RELOC_FRV_TLSMOFF",
103938889Sjdp
1040130561Sobrien  "BFD_RELOC_MN10300_GOTOFF24",
1041130561Sobrien  "BFD_RELOC_MN10300_GOT32",
1042130561Sobrien  "BFD_RELOC_MN10300_GOT24",
1043130561Sobrien  "BFD_RELOC_MN10300_GOT16",
1044130561Sobrien  "BFD_RELOC_MN10300_COPY",
1045130561Sobrien  "BFD_RELOC_MN10300_GLOB_DAT",
1046130561Sobrien  "BFD_RELOC_MN10300_JMP_SLOT",
1047130561Sobrien  "BFD_RELOC_MN10300_RELATIVE",
1048130561Sobrien
104933965Sjdp  "BFD_RELOC_386_GOT32",
105033965Sjdp  "BFD_RELOC_386_PLT32",
105133965Sjdp  "BFD_RELOC_386_COPY",
105233965Sjdp  "BFD_RELOC_386_GLOB_DAT",
105333965Sjdp  "BFD_RELOC_386_JUMP_SLOT",
105433965Sjdp  "BFD_RELOC_386_RELATIVE",
105533965Sjdp  "BFD_RELOC_386_GOTOFF",
105633965Sjdp  "BFD_RELOC_386_GOTPC",
1057104834Sobrien  "BFD_RELOC_386_TLS_TPOFF",
1058104834Sobrien  "BFD_RELOC_386_TLS_IE",
1059104834Sobrien  "BFD_RELOC_386_TLS_GOTIE",
1060104834Sobrien  "BFD_RELOC_386_TLS_LE",
1061104834Sobrien  "BFD_RELOC_386_TLS_GD",
1062104834Sobrien  "BFD_RELOC_386_TLS_LDM",
1063104834Sobrien  "BFD_RELOC_386_TLS_LDO_32",
1064104834Sobrien  "BFD_RELOC_386_TLS_IE_32",
1065104834Sobrien  "BFD_RELOC_386_TLS_LE_32",
1066104834Sobrien  "BFD_RELOC_386_TLS_DTPMOD32",
1067104834Sobrien  "BFD_RELOC_386_TLS_DTPOFF32",
1068104834Sobrien  "BFD_RELOC_386_TLS_TPOFF32",
1069218822Sdim  "BFD_RELOC_386_TLS_GOTDESC",
1070218822Sdim  "BFD_RELOC_386_TLS_DESC_CALL",
1071218822Sdim  "BFD_RELOC_386_TLS_DESC",
107277298Sobrien  "BFD_RELOC_X86_64_GOT32",
107377298Sobrien  "BFD_RELOC_X86_64_PLT32",
107477298Sobrien  "BFD_RELOC_X86_64_COPY",
107577298Sobrien  "BFD_RELOC_X86_64_GLOB_DAT",
107677298Sobrien  "BFD_RELOC_X86_64_JUMP_SLOT",
107777298Sobrien  "BFD_RELOC_X86_64_RELATIVE",
107877298Sobrien  "BFD_RELOC_X86_64_GOTPCREL",
107977298Sobrien  "BFD_RELOC_X86_64_32S",
1080130561Sobrien  "BFD_RELOC_X86_64_DTPMOD64",
1081130561Sobrien  "BFD_RELOC_X86_64_DTPOFF64",
1082130561Sobrien  "BFD_RELOC_X86_64_TPOFF64",
1083130561Sobrien  "BFD_RELOC_X86_64_TLSGD",
1084130561Sobrien  "BFD_RELOC_X86_64_TLSLD",
1085130561Sobrien  "BFD_RELOC_X86_64_DTPOFF32",
1086130561Sobrien  "BFD_RELOC_X86_64_GOTTPOFF",
1087130561Sobrien  "BFD_RELOC_X86_64_TPOFF32",
1088218822Sdim  "BFD_RELOC_X86_64_GOTOFF64",
1089218822Sdim  "BFD_RELOC_X86_64_GOTPC32",
1090218822Sdim  "BFD_RELOC_X86_64_GOT64",
1091218822Sdim  "BFD_RELOC_X86_64_GOTPCREL64",
1092218822Sdim  "BFD_RELOC_X86_64_GOTPC64",
1093218822Sdim  "BFD_RELOC_X86_64_GOTPLT64",
1094218822Sdim  "BFD_RELOC_X86_64_PLTOFF64",
1095218822Sdim  "BFD_RELOC_X86_64_GOTPC32_TLSDESC",
1096218822Sdim  "BFD_RELOC_X86_64_TLSDESC_CALL",
1097218822Sdim  "BFD_RELOC_X86_64_TLSDESC",
109833965Sjdp  "BFD_RELOC_NS32K_IMM_8",
109933965Sjdp  "BFD_RELOC_NS32K_IMM_16",
110033965Sjdp  "BFD_RELOC_NS32K_IMM_32",
110133965Sjdp  "BFD_RELOC_NS32K_IMM_8_PCREL",
110233965Sjdp  "BFD_RELOC_NS32K_IMM_16_PCREL",
110333965Sjdp  "BFD_RELOC_NS32K_IMM_32_PCREL",
110433965Sjdp  "BFD_RELOC_NS32K_DISP_8",
110533965Sjdp  "BFD_RELOC_NS32K_DISP_16",
110633965Sjdp  "BFD_RELOC_NS32K_DISP_32",
110733965Sjdp  "BFD_RELOC_NS32K_DISP_8_PCREL",
110833965Sjdp  "BFD_RELOC_NS32K_DISP_16_PCREL",
110933965Sjdp  "BFD_RELOC_NS32K_DISP_32_PCREL",
111089857Sobrien  "BFD_RELOC_PDP11_DISP_8_PCREL",
111189857Sobrien  "BFD_RELOC_PDP11_DISP_6_PCREL",
111260484Sobrien  "BFD_RELOC_PJ_CODE_HI16",
111360484Sobrien  "BFD_RELOC_PJ_CODE_LO16",
111460484Sobrien  "BFD_RELOC_PJ_CODE_DIR16",
111560484Sobrien  "BFD_RELOC_PJ_CODE_DIR32",
111660484Sobrien  "BFD_RELOC_PJ_CODE_REL16",
111760484Sobrien  "BFD_RELOC_PJ_CODE_REL32",
111833965Sjdp  "BFD_RELOC_PPC_B26",
111933965Sjdp  "BFD_RELOC_PPC_BA26",
112033965Sjdp  "BFD_RELOC_PPC_TOC16",
112133965Sjdp  "BFD_RELOC_PPC_B16",
112233965Sjdp  "BFD_RELOC_PPC_B16_BRTAKEN",
112333965Sjdp  "BFD_RELOC_PPC_B16_BRNTAKEN",
112433965Sjdp  "BFD_RELOC_PPC_BA16",
112533965Sjdp  "BFD_RELOC_PPC_BA16_BRTAKEN",
112633965Sjdp  "BFD_RELOC_PPC_BA16_BRNTAKEN",
112733965Sjdp  "BFD_RELOC_PPC_COPY",
112833965Sjdp  "BFD_RELOC_PPC_GLOB_DAT",
112933965Sjdp  "BFD_RELOC_PPC_JMP_SLOT",
113033965Sjdp  "BFD_RELOC_PPC_RELATIVE",
113133965Sjdp  "BFD_RELOC_PPC_LOCAL24PC",
113233965Sjdp  "BFD_RELOC_PPC_EMB_NADDR32",
113333965Sjdp  "BFD_RELOC_PPC_EMB_NADDR16",
113433965Sjdp  "BFD_RELOC_PPC_EMB_NADDR16_LO",
113533965Sjdp  "BFD_RELOC_PPC_EMB_NADDR16_HI",
113633965Sjdp  "BFD_RELOC_PPC_EMB_NADDR16_HA",
113733965Sjdp  "BFD_RELOC_PPC_EMB_SDAI16",
113833965Sjdp  "BFD_RELOC_PPC_EMB_SDA2I16",
113933965Sjdp  "BFD_RELOC_PPC_EMB_SDA2REL",
114033965Sjdp  "BFD_RELOC_PPC_EMB_SDA21",
114133965Sjdp  "BFD_RELOC_PPC_EMB_MRKREF",
114233965Sjdp  "BFD_RELOC_PPC_EMB_RELSEC16",
114333965Sjdp  "BFD_RELOC_PPC_EMB_RELST_LO",
114433965Sjdp  "BFD_RELOC_PPC_EMB_RELST_HI",
114533965Sjdp  "BFD_RELOC_PPC_EMB_RELST_HA",
114633965Sjdp  "BFD_RELOC_PPC_EMB_BIT_FLD",
114733965Sjdp  "BFD_RELOC_PPC_EMB_RELSDA",
114889857Sobrien  "BFD_RELOC_PPC64_HIGHER",
114989857Sobrien  "BFD_RELOC_PPC64_HIGHER_S",
115089857Sobrien  "BFD_RELOC_PPC64_HIGHEST",
115189857Sobrien  "BFD_RELOC_PPC64_HIGHEST_S",
115289857Sobrien  "BFD_RELOC_PPC64_TOC16_LO",
115389857Sobrien  "BFD_RELOC_PPC64_TOC16_HI",
115489857Sobrien  "BFD_RELOC_PPC64_TOC16_HA",
115589857Sobrien  "BFD_RELOC_PPC64_TOC",
115689857Sobrien  "BFD_RELOC_PPC64_PLTGOT16",
115789857Sobrien  "BFD_RELOC_PPC64_PLTGOT16_LO",
115889857Sobrien  "BFD_RELOC_PPC64_PLTGOT16_HI",
115989857Sobrien  "BFD_RELOC_PPC64_PLTGOT16_HA",
116089857Sobrien  "BFD_RELOC_PPC64_ADDR16_DS",
116189857Sobrien  "BFD_RELOC_PPC64_ADDR16_LO_DS",
116289857Sobrien  "BFD_RELOC_PPC64_GOT16_DS",
116389857Sobrien  "BFD_RELOC_PPC64_GOT16_LO_DS",
116489857Sobrien  "BFD_RELOC_PPC64_PLT16_LO_DS",
116589857Sobrien  "BFD_RELOC_PPC64_SECTOFF_DS",
116689857Sobrien  "BFD_RELOC_PPC64_SECTOFF_LO_DS",
116789857Sobrien  "BFD_RELOC_PPC64_TOC16_DS",
116889857Sobrien  "BFD_RELOC_PPC64_TOC16_LO_DS",
116989857Sobrien  "BFD_RELOC_PPC64_PLTGOT16_DS",
117089857Sobrien  "BFD_RELOC_PPC64_PLTGOT16_LO_DS",
1171130561Sobrien  "BFD_RELOC_PPC_TLS",
1172130561Sobrien  "BFD_RELOC_PPC_DTPMOD",
1173130561Sobrien  "BFD_RELOC_PPC_TPREL16",
1174130561Sobrien  "BFD_RELOC_PPC_TPREL16_LO",
1175130561Sobrien  "BFD_RELOC_PPC_TPREL16_HI",
1176130561Sobrien  "BFD_RELOC_PPC_TPREL16_HA",
1177130561Sobrien  "BFD_RELOC_PPC_TPREL",
1178130561Sobrien  "BFD_RELOC_PPC_DTPREL16",
1179130561Sobrien  "BFD_RELOC_PPC_DTPREL16_LO",
1180130561Sobrien  "BFD_RELOC_PPC_DTPREL16_HI",
1181130561Sobrien  "BFD_RELOC_PPC_DTPREL16_HA",
1182130561Sobrien  "BFD_RELOC_PPC_DTPREL",
1183130561Sobrien  "BFD_RELOC_PPC_GOT_TLSGD16",
1184130561Sobrien  "BFD_RELOC_PPC_GOT_TLSGD16_LO",
1185130561Sobrien  "BFD_RELOC_PPC_GOT_TLSGD16_HI",
1186130561Sobrien  "BFD_RELOC_PPC_GOT_TLSGD16_HA",
1187130561Sobrien  "BFD_RELOC_PPC_GOT_TLSLD16",
1188130561Sobrien  "BFD_RELOC_PPC_GOT_TLSLD16_LO",
1189130561Sobrien  "BFD_RELOC_PPC_GOT_TLSLD16_HI",
1190130561Sobrien  "BFD_RELOC_PPC_GOT_TLSLD16_HA",
1191130561Sobrien  "BFD_RELOC_PPC_GOT_TPREL16",
1192130561Sobrien  "BFD_RELOC_PPC_GOT_TPREL16_LO",
1193130561Sobrien  "BFD_RELOC_PPC_GOT_TPREL16_HI",
1194130561Sobrien  "BFD_RELOC_PPC_GOT_TPREL16_HA",
1195130561Sobrien  "BFD_RELOC_PPC_GOT_DTPREL16",
1196130561Sobrien  "BFD_RELOC_PPC_GOT_DTPREL16_LO",
1197130561Sobrien  "BFD_RELOC_PPC_GOT_DTPREL16_HI",
1198130561Sobrien  "BFD_RELOC_PPC_GOT_DTPREL16_HA",
1199130561Sobrien  "BFD_RELOC_PPC64_TPREL16_DS",
1200130561Sobrien  "BFD_RELOC_PPC64_TPREL16_LO_DS",
1201130561Sobrien  "BFD_RELOC_PPC64_TPREL16_HIGHER",
1202130561Sobrien  "BFD_RELOC_PPC64_TPREL16_HIGHERA",
1203130561Sobrien  "BFD_RELOC_PPC64_TPREL16_HIGHEST",
1204130561Sobrien  "BFD_RELOC_PPC64_TPREL16_HIGHESTA",
1205130561Sobrien  "BFD_RELOC_PPC64_DTPREL16_DS",
1206130561Sobrien  "BFD_RELOC_PPC64_DTPREL16_LO_DS",
1207130561Sobrien  "BFD_RELOC_PPC64_DTPREL16_HIGHER",
1208130561Sobrien  "BFD_RELOC_PPC64_DTPREL16_HIGHERA",
1209130561Sobrien  "BFD_RELOC_PPC64_DTPREL16_HIGHEST",
1210130561Sobrien  "BFD_RELOC_PPC64_DTPREL16_HIGHESTA",
121160484Sobrien  "BFD_RELOC_I370_D12",
121233965Sjdp  "BFD_RELOC_CTOR",
121333965Sjdp  "BFD_RELOC_ARM_PCREL_BRANCH",
121477298Sobrien  "BFD_RELOC_ARM_PCREL_BLX",
121577298Sobrien  "BFD_RELOC_THUMB_PCREL_BLX",
1216218822Sdim  "BFD_RELOC_ARM_PCREL_CALL",
1217218822Sdim  "BFD_RELOC_ARM_PCREL_JUMP",
1218218822Sdim  "BFD_RELOC_THUMB_PCREL_BRANCH7",
1219218822Sdim  "BFD_RELOC_THUMB_PCREL_BRANCH9",
1220218822Sdim  "BFD_RELOC_THUMB_PCREL_BRANCH12",
1221218822Sdim  "BFD_RELOC_THUMB_PCREL_BRANCH20",
1222218822Sdim  "BFD_RELOC_THUMB_PCREL_BRANCH23",
1223218822Sdim  "BFD_RELOC_THUMB_PCREL_BRANCH25",
1224218822Sdim  "BFD_RELOC_ARM_OFFSET_IMM",
1225218822Sdim  "BFD_RELOC_ARM_THUMB_OFFSET",
1226218822Sdim  "BFD_RELOC_ARM_TARGET1",
1227218822Sdim  "BFD_RELOC_ARM_ROSEGREL32",
1228218822Sdim  "BFD_RELOC_ARM_SBREL32",
1229218822Sdim  "BFD_RELOC_ARM_TARGET2",
1230218822Sdim  "BFD_RELOC_ARM_PREL31",
1231218822Sdim  "BFD_RELOC_ARM_MOVW",
1232218822Sdim  "BFD_RELOC_ARM_MOVT",
1233218822Sdim  "BFD_RELOC_ARM_MOVW_PCREL",
1234218822Sdim  "BFD_RELOC_ARM_MOVT_PCREL",
1235218822Sdim  "BFD_RELOC_ARM_THUMB_MOVW",
1236218822Sdim  "BFD_RELOC_ARM_THUMB_MOVT",
1237218822Sdim  "BFD_RELOC_ARM_THUMB_MOVW_PCREL",
1238218822Sdim  "BFD_RELOC_ARM_THUMB_MOVT_PCREL",
1239218822Sdim  "BFD_RELOC_ARM_JUMP_SLOT",
1240218822Sdim  "BFD_RELOC_ARM_GLOB_DAT",
1241218822Sdim  "BFD_RELOC_ARM_GOT32",
1242218822Sdim  "BFD_RELOC_ARM_PLT32",
1243218822Sdim  "BFD_RELOC_ARM_RELATIVE",
1244218822Sdim  "BFD_RELOC_ARM_GOTOFF",
1245218822Sdim  "BFD_RELOC_ARM_GOTPC",
1246218822Sdim  "BFD_RELOC_ARM_TLS_GD32",
1247218822Sdim  "BFD_RELOC_ARM_TLS_LDO32",
1248218822Sdim  "BFD_RELOC_ARM_TLS_LDM32",
1249218822Sdim  "BFD_RELOC_ARM_TLS_DTPOFF32",
1250218822Sdim  "BFD_RELOC_ARM_TLS_DTPMOD32",
1251218822Sdim  "BFD_RELOC_ARM_TLS_TPOFF32",
1252218822Sdim  "BFD_RELOC_ARM_TLS_IE32",
1253218822Sdim  "BFD_RELOC_ARM_TLS_LE32",
1254218822Sdim  "BFD_RELOC_ARM_ALU_PC_G0_NC",
1255218822Sdim  "BFD_RELOC_ARM_ALU_PC_G0",
1256218822Sdim  "BFD_RELOC_ARM_ALU_PC_G1_NC",
1257218822Sdim  "BFD_RELOC_ARM_ALU_PC_G1",
1258218822Sdim  "BFD_RELOC_ARM_ALU_PC_G2",
1259218822Sdim  "BFD_RELOC_ARM_LDR_PC_G0",
1260218822Sdim  "BFD_RELOC_ARM_LDR_PC_G1",
1261218822Sdim  "BFD_RELOC_ARM_LDR_PC_G2",
1262218822Sdim  "BFD_RELOC_ARM_LDRS_PC_G0",
1263218822Sdim  "BFD_RELOC_ARM_LDRS_PC_G1",
1264218822Sdim  "BFD_RELOC_ARM_LDRS_PC_G2",
1265218822Sdim  "BFD_RELOC_ARM_LDC_PC_G0",
1266218822Sdim  "BFD_RELOC_ARM_LDC_PC_G1",
1267218822Sdim  "BFD_RELOC_ARM_LDC_PC_G2",
1268218822Sdim  "BFD_RELOC_ARM_ALU_SB_G0_NC",
1269218822Sdim  "BFD_RELOC_ARM_ALU_SB_G0",
1270218822Sdim  "BFD_RELOC_ARM_ALU_SB_G1_NC",
1271218822Sdim  "BFD_RELOC_ARM_ALU_SB_G1",
1272218822Sdim  "BFD_RELOC_ARM_ALU_SB_G2",
1273218822Sdim  "BFD_RELOC_ARM_LDR_SB_G0",
1274218822Sdim  "BFD_RELOC_ARM_LDR_SB_G1",
1275218822Sdim  "BFD_RELOC_ARM_LDR_SB_G2",
1276218822Sdim  "BFD_RELOC_ARM_LDRS_SB_G0",
1277218822Sdim  "BFD_RELOC_ARM_LDRS_SB_G1",
1278218822Sdim  "BFD_RELOC_ARM_LDRS_SB_G2",
1279218822Sdim  "BFD_RELOC_ARM_LDC_SB_G0",
1280218822Sdim  "BFD_RELOC_ARM_LDC_SB_G1",
1281218822Sdim  "BFD_RELOC_ARM_LDC_SB_G2",
128233965Sjdp  "BFD_RELOC_ARM_IMMEDIATE",
128360484Sobrien  "BFD_RELOC_ARM_ADRL_IMMEDIATE",
1284218822Sdim  "BFD_RELOC_ARM_T32_IMMEDIATE",
1285218822Sdim  "BFD_RELOC_ARM_T32_ADD_IMM",
1286218822Sdim  "BFD_RELOC_ARM_T32_IMM12",
1287218822Sdim  "BFD_RELOC_ARM_T32_ADD_PC12",
128833965Sjdp  "BFD_RELOC_ARM_SHIFT_IMM",
1289218822Sdim  "BFD_RELOC_ARM_SMC",
129033965Sjdp  "BFD_RELOC_ARM_SWI",
129133965Sjdp  "BFD_RELOC_ARM_MULTI",
129233965Sjdp  "BFD_RELOC_ARM_CP_OFF_IMM",
1293130561Sobrien  "BFD_RELOC_ARM_CP_OFF_IMM_S2",
1294218822Sdim  "BFD_RELOC_ARM_T32_CP_OFF_IMM",
1295218822Sdim  "BFD_RELOC_ARM_T32_CP_OFF_IMM_S2",
129633965Sjdp  "BFD_RELOC_ARM_ADR_IMM",
129733965Sjdp  "BFD_RELOC_ARM_LDR_IMM",
129833965Sjdp  "BFD_RELOC_ARM_LITERAL",
129933965Sjdp  "BFD_RELOC_ARM_IN_POOL",
130033965Sjdp  "BFD_RELOC_ARM_OFFSET_IMM8",
1301218822Sdim  "BFD_RELOC_ARM_T32_OFFSET_U8",
1302218822Sdim  "BFD_RELOC_ARM_T32_OFFSET_IMM",
130333965Sjdp  "BFD_RELOC_ARM_HWLITERAL",
130433965Sjdp  "BFD_RELOC_ARM_THUMB_ADD",
130533965Sjdp  "BFD_RELOC_ARM_THUMB_IMM",
130633965Sjdp  "BFD_RELOC_ARM_THUMB_SHIFT",
130733965Sjdp  "BFD_RELOC_SH_PCDISP8BY2",
130833965Sjdp  "BFD_RELOC_SH_PCDISP12BY2",
1309218822Sdim  "BFD_RELOC_SH_IMM3",
1310218822Sdim  "BFD_RELOC_SH_IMM3U",
1311218822Sdim  "BFD_RELOC_SH_DISP12",
1312218822Sdim  "BFD_RELOC_SH_DISP12BY2",
1313218822Sdim  "BFD_RELOC_SH_DISP12BY4",
1314218822Sdim  "BFD_RELOC_SH_DISP12BY8",
1315218822Sdim  "BFD_RELOC_SH_DISP20",
1316218822Sdim  "BFD_RELOC_SH_DISP20BY8",
131733965Sjdp  "BFD_RELOC_SH_IMM4",
131833965Sjdp  "BFD_RELOC_SH_IMM4BY2",
131933965Sjdp  "BFD_RELOC_SH_IMM4BY4",
132033965Sjdp  "BFD_RELOC_SH_IMM8",
132133965Sjdp  "BFD_RELOC_SH_IMM8BY2",
132233965Sjdp  "BFD_RELOC_SH_IMM8BY4",
132333965Sjdp  "BFD_RELOC_SH_PCRELIMM8BY2",
132433965Sjdp  "BFD_RELOC_SH_PCRELIMM8BY4",
132533965Sjdp  "BFD_RELOC_SH_SWITCH16",
132633965Sjdp  "BFD_RELOC_SH_SWITCH32",
132733965Sjdp  "BFD_RELOC_SH_USES",
132833965Sjdp  "BFD_RELOC_SH_COUNT",
132933965Sjdp  "BFD_RELOC_SH_ALIGN",
133033965Sjdp  "BFD_RELOC_SH_CODE",
133133965Sjdp  "BFD_RELOC_SH_DATA",
133233965Sjdp  "BFD_RELOC_SH_LABEL",
133377298Sobrien  "BFD_RELOC_SH_LOOP_START",
133477298Sobrien  "BFD_RELOC_SH_LOOP_END",
133577298Sobrien  "BFD_RELOC_SH_COPY",
133677298Sobrien  "BFD_RELOC_SH_GLOB_DAT",
133777298Sobrien  "BFD_RELOC_SH_JMP_SLOT",
133877298Sobrien  "BFD_RELOC_SH_RELATIVE",
133977298Sobrien  "BFD_RELOC_SH_GOTPC",
134099461Sobrien  "BFD_RELOC_SH_GOT_LOW16",
134199461Sobrien  "BFD_RELOC_SH_GOT_MEDLOW16",
134299461Sobrien  "BFD_RELOC_SH_GOT_MEDHI16",
134399461Sobrien  "BFD_RELOC_SH_GOT_HI16",
134499461Sobrien  "BFD_RELOC_SH_GOTPLT_LOW16",
134599461Sobrien  "BFD_RELOC_SH_GOTPLT_MEDLOW16",
134699461Sobrien  "BFD_RELOC_SH_GOTPLT_MEDHI16",
134799461Sobrien  "BFD_RELOC_SH_GOTPLT_HI16",
134899461Sobrien  "BFD_RELOC_SH_PLT_LOW16",
134999461Sobrien  "BFD_RELOC_SH_PLT_MEDLOW16",
135099461Sobrien  "BFD_RELOC_SH_PLT_MEDHI16",
135199461Sobrien  "BFD_RELOC_SH_PLT_HI16",
135299461Sobrien  "BFD_RELOC_SH_GOTOFF_LOW16",
135399461Sobrien  "BFD_RELOC_SH_GOTOFF_MEDLOW16",
135499461Sobrien  "BFD_RELOC_SH_GOTOFF_MEDHI16",
135599461Sobrien  "BFD_RELOC_SH_GOTOFF_HI16",
135699461Sobrien  "BFD_RELOC_SH_GOTPC_LOW16",
135799461Sobrien  "BFD_RELOC_SH_GOTPC_MEDLOW16",
135899461Sobrien  "BFD_RELOC_SH_GOTPC_MEDHI16",
135999461Sobrien  "BFD_RELOC_SH_GOTPC_HI16",
136099461Sobrien  "BFD_RELOC_SH_COPY64",
136199461Sobrien  "BFD_RELOC_SH_GLOB_DAT64",
136299461Sobrien  "BFD_RELOC_SH_JMP_SLOT64",
136399461Sobrien  "BFD_RELOC_SH_RELATIVE64",
136499461Sobrien  "BFD_RELOC_SH_GOT10BY4",
136599461Sobrien  "BFD_RELOC_SH_GOT10BY8",
136699461Sobrien  "BFD_RELOC_SH_GOTPLT10BY4",
136799461Sobrien  "BFD_RELOC_SH_GOTPLT10BY8",
136899461Sobrien  "BFD_RELOC_SH_GOTPLT32",
136999461Sobrien  "BFD_RELOC_SH_SHMEDIA_CODE",
137099461Sobrien  "BFD_RELOC_SH_IMMU5",
137199461Sobrien  "BFD_RELOC_SH_IMMS6",
137299461Sobrien  "BFD_RELOC_SH_IMMS6BY32",
137399461Sobrien  "BFD_RELOC_SH_IMMU6",
137499461Sobrien  "BFD_RELOC_SH_IMMS10",
137599461Sobrien  "BFD_RELOC_SH_IMMS10BY2",
137699461Sobrien  "BFD_RELOC_SH_IMMS10BY4",
137799461Sobrien  "BFD_RELOC_SH_IMMS10BY8",
137899461Sobrien  "BFD_RELOC_SH_IMMS16",
137999461Sobrien  "BFD_RELOC_SH_IMMU16",
138099461Sobrien  "BFD_RELOC_SH_IMM_LOW16",
138199461Sobrien  "BFD_RELOC_SH_IMM_LOW16_PCREL",
138299461Sobrien  "BFD_RELOC_SH_IMM_MEDLOW16",
138399461Sobrien  "BFD_RELOC_SH_IMM_MEDLOW16_PCREL",
138499461Sobrien  "BFD_RELOC_SH_IMM_MEDHI16",
138599461Sobrien  "BFD_RELOC_SH_IMM_MEDHI16_PCREL",
138699461Sobrien  "BFD_RELOC_SH_IMM_HI16",
138799461Sobrien  "BFD_RELOC_SH_IMM_HI16_PCREL",
138899461Sobrien  "BFD_RELOC_SH_PT_16",
1389130561Sobrien  "BFD_RELOC_SH_TLS_GD_32",
1390130561Sobrien  "BFD_RELOC_SH_TLS_LD_32",
1391130561Sobrien  "BFD_RELOC_SH_TLS_LDO_32",
1392130561Sobrien  "BFD_RELOC_SH_TLS_IE_32",
1393130561Sobrien  "BFD_RELOC_SH_TLS_LE_32",
1394130561Sobrien  "BFD_RELOC_SH_TLS_DTPMOD32",
1395130561Sobrien  "BFD_RELOC_SH_TLS_DTPOFF32",
1396130561Sobrien  "BFD_RELOC_SH_TLS_TPOFF32",
139738889Sjdp  "BFD_RELOC_ARC_B22_PCREL",
139838889Sjdp  "BFD_RELOC_ARC_B26",
1399218822Sdim  "BFD_RELOC_BFIN_16_IMM",
1400218822Sdim  "BFD_RELOC_BFIN_16_HIGH",
1401218822Sdim  "BFD_RELOC_BFIN_4_PCREL",
1402218822Sdim  "BFD_RELOC_BFIN_5_PCREL",
1403218822Sdim  "BFD_RELOC_BFIN_16_LOW",
1404218822Sdim  "BFD_RELOC_BFIN_10_PCREL",
1405218822Sdim  "BFD_RELOC_BFIN_11_PCREL",
1406218822Sdim  "BFD_RELOC_BFIN_12_PCREL_JUMP",
1407218822Sdim  "BFD_RELOC_BFIN_12_PCREL_JUMP_S",
1408218822Sdim  "BFD_RELOC_BFIN_24_PCREL_CALL_X",
1409218822Sdim  "BFD_RELOC_BFIN_24_PCREL_JUMP_L",
1410218822Sdim  "BFD_RELOC_BFIN_GOT17M4",
1411218822Sdim  "BFD_RELOC_BFIN_GOTHI",
1412218822Sdim  "BFD_RELOC_BFIN_GOTLO",
1413218822Sdim  "BFD_RELOC_BFIN_FUNCDESC",
1414218822Sdim  "BFD_RELOC_BFIN_FUNCDESC_GOT17M4",
1415218822Sdim  "BFD_RELOC_BFIN_FUNCDESC_GOTHI",
1416218822Sdim  "BFD_RELOC_BFIN_FUNCDESC_GOTLO",
1417218822Sdim  "BFD_RELOC_BFIN_FUNCDESC_VALUE",
1418218822Sdim  "BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4",
1419218822Sdim  "BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI",
1420218822Sdim  "BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO",
1421218822Sdim  "BFD_RELOC_BFIN_GOTOFF17M4",
1422218822Sdim  "BFD_RELOC_BFIN_GOTOFFHI",
1423218822Sdim  "BFD_RELOC_BFIN_GOTOFFLO",
1424218822Sdim  "BFD_RELOC_BFIN_GOT",
1425218822Sdim  "BFD_RELOC_BFIN_PLTPC",
1426218822Sdim  "BFD_ARELOC_BFIN_PUSH",
1427218822Sdim  "BFD_ARELOC_BFIN_CONST",
1428218822Sdim  "BFD_ARELOC_BFIN_ADD",
1429218822Sdim  "BFD_ARELOC_BFIN_SUB",
1430218822Sdim  "BFD_ARELOC_BFIN_MULT",
1431218822Sdim  "BFD_ARELOC_BFIN_DIV",
1432218822Sdim  "BFD_ARELOC_BFIN_MOD",
1433218822Sdim  "BFD_ARELOC_BFIN_LSHIFT",
1434218822Sdim  "BFD_ARELOC_BFIN_RSHIFT",
1435218822Sdim  "BFD_ARELOC_BFIN_AND",
1436218822Sdim  "BFD_ARELOC_BFIN_OR",
1437218822Sdim  "BFD_ARELOC_BFIN_XOR",
1438218822Sdim  "BFD_ARELOC_BFIN_LAND",
1439218822Sdim  "BFD_ARELOC_BFIN_LOR",
1440218822Sdim  "BFD_ARELOC_BFIN_LEN",
1441218822Sdim  "BFD_ARELOC_BFIN_NEG",
1442218822Sdim  "BFD_ARELOC_BFIN_COMP",
1443218822Sdim  "BFD_ARELOC_BFIN_PAGE",
1444218822Sdim  "BFD_ARELOC_BFIN_HWPAGE",
1445218822Sdim  "BFD_ARELOC_BFIN_ADDR",
144633965Sjdp  "BFD_RELOC_D10V_10_PCREL_R",
144733965Sjdp  "BFD_RELOC_D10V_10_PCREL_L",
144833965Sjdp  "BFD_RELOC_D10V_18",
144933965Sjdp  "BFD_RELOC_D10V_18_PCREL",
145060484Sobrien  "BFD_RELOC_D30V_6",
145160484Sobrien  "BFD_RELOC_D30V_9_PCREL",
145260484Sobrien  "BFD_RELOC_D30V_9_PCREL_R",
145360484Sobrien  "BFD_RELOC_D30V_15",
145460484Sobrien  "BFD_RELOC_D30V_15_PCREL",
145560484Sobrien  "BFD_RELOC_D30V_15_PCREL_R",
145660484Sobrien  "BFD_RELOC_D30V_21",
145760484Sobrien  "BFD_RELOC_D30V_21_PCREL",
145860484Sobrien  "BFD_RELOC_D30V_21_PCREL_R",
145960484Sobrien  "BFD_RELOC_D30V_32",
146060484Sobrien  "BFD_RELOC_D30V_32_PCREL",
1461104834Sobrien  "BFD_RELOC_DLX_HI16_S",
1462104834Sobrien  "BFD_RELOC_DLX_LO16",
1463104834Sobrien  "BFD_RELOC_DLX_JMP26",
1464218822Sdim  "BFD_RELOC_M32C_HI8",
1465218822Sdim  "BFD_RELOC_M32C_RL_JUMP",
1466218822Sdim  "BFD_RELOC_M32C_RL_1ADDR",
1467218822Sdim  "BFD_RELOC_M32C_RL_2ADDR",
146833965Sjdp  "BFD_RELOC_M32R_24",
146933965Sjdp  "BFD_RELOC_M32R_10_PCREL",
147033965Sjdp  "BFD_RELOC_M32R_18_PCREL",
147133965Sjdp  "BFD_RELOC_M32R_26_PCREL",
147233965Sjdp  "BFD_RELOC_M32R_HI16_ULO",
147333965Sjdp  "BFD_RELOC_M32R_HI16_SLO",
147433965Sjdp  "BFD_RELOC_M32R_LO16",
147533965Sjdp  "BFD_RELOC_M32R_SDA16",
1476130561Sobrien  "BFD_RELOC_M32R_GOT24",
1477130561Sobrien  "BFD_RELOC_M32R_26_PLTREL",
1478130561Sobrien  "BFD_RELOC_M32R_COPY",
1479130561Sobrien  "BFD_RELOC_M32R_GLOB_DAT",
1480130561Sobrien  "BFD_RELOC_M32R_JMP_SLOT",
1481130561Sobrien  "BFD_RELOC_M32R_RELATIVE",
1482130561Sobrien  "BFD_RELOC_M32R_GOTOFF",
1483218822Sdim  "BFD_RELOC_M32R_GOTOFF_HI_ULO",
1484218822Sdim  "BFD_RELOC_M32R_GOTOFF_HI_SLO",
1485218822Sdim  "BFD_RELOC_M32R_GOTOFF_LO",
1486130561Sobrien  "BFD_RELOC_M32R_GOTPC24",
1487130561Sobrien  "BFD_RELOC_M32R_GOT16_HI_ULO",
1488130561Sobrien  "BFD_RELOC_M32R_GOT16_HI_SLO",
1489130561Sobrien  "BFD_RELOC_M32R_GOT16_LO",
1490130561Sobrien  "BFD_RELOC_M32R_GOTPC_HI_ULO",
1491130561Sobrien  "BFD_RELOC_M32R_GOTPC_HI_SLO",
1492130561Sobrien  "BFD_RELOC_M32R_GOTPC_LO",
149338889Sjdp  "BFD_RELOC_V850_9_PCREL",
149438889Sjdp  "BFD_RELOC_V850_22_PCREL",
149538889Sjdp  "BFD_RELOC_V850_SDA_16_16_OFFSET",
149638889Sjdp  "BFD_RELOC_V850_SDA_15_16_OFFSET",
149738889Sjdp  "BFD_RELOC_V850_ZDA_16_16_OFFSET",
149838889Sjdp  "BFD_RELOC_V850_ZDA_15_16_OFFSET",
149938889Sjdp  "BFD_RELOC_V850_TDA_6_8_OFFSET",
150038889Sjdp  "BFD_RELOC_V850_TDA_7_8_OFFSET",
150138889Sjdp  "BFD_RELOC_V850_TDA_7_7_OFFSET",
150238889Sjdp  "BFD_RELOC_V850_TDA_16_16_OFFSET",
150360484Sobrien  "BFD_RELOC_V850_TDA_4_5_OFFSET",
150460484Sobrien  "BFD_RELOC_V850_TDA_4_4_OFFSET",
150560484Sobrien  "BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET",
150660484Sobrien  "BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET",
150760484Sobrien  "BFD_RELOC_V850_CALLT_6_7_OFFSET",
150860484Sobrien  "BFD_RELOC_V850_CALLT_16_16_OFFSET",
1509130561Sobrien  "BFD_RELOC_V850_LONGCALL",
1510130561Sobrien  "BFD_RELOC_V850_LONGJUMP",
1511130561Sobrien  "BFD_RELOC_V850_ALIGN",
1512218822Sdim  "BFD_RELOC_V850_LO16_SPLIT_OFFSET",
151333965Sjdp  "BFD_RELOC_MN10300_32_PCREL",
151433965Sjdp  "BFD_RELOC_MN10300_16_PCREL",
151538889Sjdp  "BFD_RELOC_TIC30_LDP",
151677298Sobrien  "BFD_RELOC_TIC54X_PARTLS7",
151777298Sobrien  "BFD_RELOC_TIC54X_PARTMS9",
151877298Sobrien  "BFD_RELOC_TIC54X_23",
151977298Sobrien  "BFD_RELOC_TIC54X_16_OF_23",
152077298Sobrien  "BFD_RELOC_TIC54X_MS7_OF_23",
152160484Sobrien  "BFD_RELOC_FR30_48",
152260484Sobrien  "BFD_RELOC_FR30_20",
152360484Sobrien  "BFD_RELOC_FR30_6_IN_4",
152460484Sobrien  "BFD_RELOC_FR30_8_IN_8",
152560484Sobrien  "BFD_RELOC_FR30_9_IN_8",
152660484Sobrien  "BFD_RELOC_FR30_10_IN_8",
152760484Sobrien  "BFD_RELOC_FR30_9_PCREL",
152860484Sobrien  "BFD_RELOC_FR30_12_PCREL",
152960484Sobrien  "BFD_RELOC_MCORE_PCREL_IMM8BY4",
153060484Sobrien  "BFD_RELOC_MCORE_PCREL_IMM11BY2",
153160484Sobrien  "BFD_RELOC_MCORE_PCREL_IMM4BY2",
153260484Sobrien  "BFD_RELOC_MCORE_PCREL_32",
153360484Sobrien  "BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2",
153460484Sobrien  "BFD_RELOC_MCORE_RVA",
1535218822Sdim  "BFD_RELOC_MEP_8",
1536218822Sdim  "BFD_RELOC_MEP_16",
1537218822Sdim  "BFD_RELOC_MEP_32",
1538218822Sdim  "BFD_RELOC_MEP_PCREL8A2",
1539218822Sdim  "BFD_RELOC_MEP_PCREL12A2",
1540218822Sdim  "BFD_RELOC_MEP_PCREL17A2",
1541218822Sdim  "BFD_RELOC_MEP_PCREL24A2",
1542218822Sdim  "BFD_RELOC_MEP_PCABS24A2",
1543218822Sdim  "BFD_RELOC_MEP_LOW16",
1544218822Sdim  "BFD_RELOC_MEP_HI16U",
1545218822Sdim  "BFD_RELOC_MEP_HI16S",
1546218822Sdim  "BFD_RELOC_MEP_GPREL",
1547218822Sdim  "BFD_RELOC_MEP_TPREL",
1548218822Sdim  "BFD_RELOC_MEP_TPREL7",
1549218822Sdim  "BFD_RELOC_MEP_TPREL7A2",
1550218822Sdim  "BFD_RELOC_MEP_TPREL7A4",
1551218822Sdim  "BFD_RELOC_MEP_UIMM24",
1552218822Sdim  "BFD_RELOC_MEP_ADDR24A4",
1553218822Sdim  "BFD_RELOC_MEP_GNU_VTINHERIT",
1554218822Sdim  "BFD_RELOC_MEP_GNU_VTENTRY",
1555218822Sdim
155689857Sobrien  "BFD_RELOC_MMIX_GETA",
155789857Sobrien  "BFD_RELOC_MMIX_GETA_1",
155889857Sobrien  "BFD_RELOC_MMIX_GETA_2",
155989857Sobrien  "BFD_RELOC_MMIX_GETA_3",
156089857Sobrien  "BFD_RELOC_MMIX_CBRANCH",
156189857Sobrien  "BFD_RELOC_MMIX_CBRANCH_J",
156289857Sobrien  "BFD_RELOC_MMIX_CBRANCH_1",
156389857Sobrien  "BFD_RELOC_MMIX_CBRANCH_2",
156489857Sobrien  "BFD_RELOC_MMIX_CBRANCH_3",
156589857Sobrien  "BFD_RELOC_MMIX_PUSHJ",
156689857Sobrien  "BFD_RELOC_MMIX_PUSHJ_1",
156789857Sobrien  "BFD_RELOC_MMIX_PUSHJ_2",
156889857Sobrien  "BFD_RELOC_MMIX_PUSHJ_3",
1569130561Sobrien  "BFD_RELOC_MMIX_PUSHJ_STUBBABLE",
157089857Sobrien  "BFD_RELOC_MMIX_JMP",
157189857Sobrien  "BFD_RELOC_MMIX_JMP_1",
157289857Sobrien  "BFD_RELOC_MMIX_JMP_2",
157389857Sobrien  "BFD_RELOC_MMIX_JMP_3",
157489857Sobrien  "BFD_RELOC_MMIX_ADDR19",
157589857Sobrien  "BFD_RELOC_MMIX_ADDR27",
157689857Sobrien  "BFD_RELOC_MMIX_REG_OR_BYTE",
157789857Sobrien  "BFD_RELOC_MMIX_REG",
157889857Sobrien  "BFD_RELOC_MMIX_BASE_PLUS_OFFSET",
157989857Sobrien  "BFD_RELOC_MMIX_LOCAL",
158060484Sobrien  "BFD_RELOC_AVR_7_PCREL",
158160484Sobrien  "BFD_RELOC_AVR_13_PCREL",
158260484Sobrien  "BFD_RELOC_AVR_16_PM",
158360484Sobrien  "BFD_RELOC_AVR_LO8_LDI",
158460484Sobrien  "BFD_RELOC_AVR_HI8_LDI",
158560484Sobrien  "BFD_RELOC_AVR_HH8_LDI",
1586218822Sdim  "BFD_RELOC_AVR_MS8_LDI",
158760484Sobrien  "BFD_RELOC_AVR_LO8_LDI_NEG",
158860484Sobrien  "BFD_RELOC_AVR_HI8_LDI_NEG",
158960484Sobrien  "BFD_RELOC_AVR_HH8_LDI_NEG",
1590218822Sdim  "BFD_RELOC_AVR_MS8_LDI_NEG",
159160484Sobrien  "BFD_RELOC_AVR_LO8_LDI_PM",
1592218822Sdim  "BFD_RELOC_AVR_LO8_LDI_GS",
159360484Sobrien  "BFD_RELOC_AVR_HI8_LDI_PM",
1594218822Sdim  "BFD_RELOC_AVR_HI8_LDI_GS",
159560484Sobrien  "BFD_RELOC_AVR_HH8_LDI_PM",
159660484Sobrien  "BFD_RELOC_AVR_LO8_LDI_PM_NEG",
159760484Sobrien  "BFD_RELOC_AVR_HI8_LDI_PM_NEG",
159860484Sobrien  "BFD_RELOC_AVR_HH8_LDI_PM_NEG",
159960484Sobrien  "BFD_RELOC_AVR_CALL",
1600218822Sdim  "BFD_RELOC_AVR_LDI",
1601218822Sdim  "BFD_RELOC_AVR_6",
1602218822Sdim  "BFD_RELOC_AVR_6_ADIW",
160389857Sobrien  "BFD_RELOC_390_12",
160489857Sobrien  "BFD_RELOC_390_GOT12",
160589857Sobrien  "BFD_RELOC_390_PLT32",
160689857Sobrien  "BFD_RELOC_390_COPY",
160789857Sobrien  "BFD_RELOC_390_GLOB_DAT",
160889857Sobrien  "BFD_RELOC_390_JMP_SLOT",
160989857Sobrien  "BFD_RELOC_390_RELATIVE",
161089857Sobrien  "BFD_RELOC_390_GOTPC",
161189857Sobrien  "BFD_RELOC_390_GOT16",
161289857Sobrien  "BFD_RELOC_390_PC16DBL",
161389857Sobrien  "BFD_RELOC_390_PLT16DBL",
161489857Sobrien  "BFD_RELOC_390_PC32DBL",
161589857Sobrien  "BFD_RELOC_390_PLT32DBL",
161689857Sobrien  "BFD_RELOC_390_GOTPCDBL",
161789857Sobrien  "BFD_RELOC_390_GOT64",
161889857Sobrien  "BFD_RELOC_390_PLT64",
161989857Sobrien  "BFD_RELOC_390_GOTENT",
1620130561Sobrien  "BFD_RELOC_390_GOTOFF64",
1621130561Sobrien  "BFD_RELOC_390_GOTPLT12",
1622130561Sobrien  "BFD_RELOC_390_GOTPLT16",
1623130561Sobrien  "BFD_RELOC_390_GOTPLT32",
1624130561Sobrien  "BFD_RELOC_390_GOTPLT64",
1625130561Sobrien  "BFD_RELOC_390_GOTPLTENT",
1626130561Sobrien  "BFD_RELOC_390_PLTOFF16",
1627130561Sobrien  "BFD_RELOC_390_PLTOFF32",
1628130561Sobrien  "BFD_RELOC_390_PLTOFF64",
1629130561Sobrien  "BFD_RELOC_390_TLS_LOAD",
1630130561Sobrien  "BFD_RELOC_390_TLS_GDCALL",
1631130561Sobrien  "BFD_RELOC_390_TLS_LDCALL",
1632130561Sobrien  "BFD_RELOC_390_TLS_GD32",
1633130561Sobrien  "BFD_RELOC_390_TLS_GD64",
1634130561Sobrien  "BFD_RELOC_390_TLS_GOTIE12",
1635130561Sobrien  "BFD_RELOC_390_TLS_GOTIE32",
1636130561Sobrien  "BFD_RELOC_390_TLS_GOTIE64",
1637130561Sobrien  "BFD_RELOC_390_TLS_LDM32",
1638130561Sobrien  "BFD_RELOC_390_TLS_LDM64",
1639130561Sobrien  "BFD_RELOC_390_TLS_IE32",
1640130561Sobrien  "BFD_RELOC_390_TLS_IE64",
1641130561Sobrien  "BFD_RELOC_390_TLS_IEENT",
1642130561Sobrien  "BFD_RELOC_390_TLS_LE32",
1643130561Sobrien  "BFD_RELOC_390_TLS_LE64",
1644130561Sobrien  "BFD_RELOC_390_TLS_LDO32",
1645130561Sobrien  "BFD_RELOC_390_TLS_LDO64",
1646130561Sobrien  "BFD_RELOC_390_TLS_DTPMOD",
1647130561Sobrien  "BFD_RELOC_390_TLS_DTPOFF",
1648130561Sobrien  "BFD_RELOC_390_TLS_TPOFF",
1649130561Sobrien  "BFD_RELOC_390_20",
1650130561Sobrien  "BFD_RELOC_390_GOT20",
1651130561Sobrien  "BFD_RELOC_390_GOTPLT20",
1652130561Sobrien  "BFD_RELOC_390_TLS_GOTIE20",
1653218822Sdim  "BFD_RELOC_SCORE_DUMMY1",
1654218822Sdim  "BFD_RELOC_SCORE_GPREL15",
1655218822Sdim  "BFD_RELOC_SCORE_DUMMY2",
1656218822Sdim  "BFD_RELOC_SCORE_JMP",
1657218822Sdim  "BFD_RELOC_SCORE_BRANCH",
1658218822Sdim  "BFD_RELOC_SCORE16_JMP",
1659218822Sdim  "BFD_RELOC_SCORE16_BRANCH",
1660218822Sdim  "BFD_RELOC_SCORE_GOT15",
1661218822Sdim  "BFD_RELOC_SCORE_GOT_LO16",
1662218822Sdim  "BFD_RELOC_SCORE_CALL15",
1663218822Sdim  "BFD_RELOC_SCORE_DUMMY_HI16",
1664130561Sobrien  "BFD_RELOC_IP2K_FR9",
1665130561Sobrien  "BFD_RELOC_IP2K_BANK",
1666130561Sobrien  "BFD_RELOC_IP2K_ADDR16CJP",
1667130561Sobrien  "BFD_RELOC_IP2K_PAGE3",
1668130561Sobrien  "BFD_RELOC_IP2K_LO8DATA",
1669130561Sobrien  "BFD_RELOC_IP2K_HI8DATA",
1670130561Sobrien  "BFD_RELOC_IP2K_EX8DATA",
1671130561Sobrien  "BFD_RELOC_IP2K_LO8INSN",
1672130561Sobrien  "BFD_RELOC_IP2K_HI8INSN",
1673130561Sobrien  "BFD_RELOC_IP2K_PC_SKIP",
1674130561Sobrien  "BFD_RELOC_IP2K_TEXT",
1675130561Sobrien  "BFD_RELOC_IP2K_FR_OFFSET",
1676130561Sobrien  "BFD_RELOC_VPE4KMATH_DATA",
1677130561Sobrien  "BFD_RELOC_VPE4KMATH_INSN",
167860484Sobrien  "BFD_RELOC_VTABLE_INHERIT",
167960484Sobrien  "BFD_RELOC_VTABLE_ENTRY",
168077298Sobrien  "BFD_RELOC_IA64_IMM14",
168177298Sobrien  "BFD_RELOC_IA64_IMM22",
168277298Sobrien  "BFD_RELOC_IA64_IMM64",
168377298Sobrien  "BFD_RELOC_IA64_DIR32MSB",
168477298Sobrien  "BFD_RELOC_IA64_DIR32LSB",
168577298Sobrien  "BFD_RELOC_IA64_DIR64MSB",
168677298Sobrien  "BFD_RELOC_IA64_DIR64LSB",
168777298Sobrien  "BFD_RELOC_IA64_GPREL22",
168877298Sobrien  "BFD_RELOC_IA64_GPREL64I",
168977298Sobrien  "BFD_RELOC_IA64_GPREL32MSB",
169077298Sobrien  "BFD_RELOC_IA64_GPREL32LSB",
169177298Sobrien  "BFD_RELOC_IA64_GPREL64MSB",
169277298Sobrien  "BFD_RELOC_IA64_GPREL64LSB",
169377298Sobrien  "BFD_RELOC_IA64_LTOFF22",
169477298Sobrien  "BFD_RELOC_IA64_LTOFF64I",
169577298Sobrien  "BFD_RELOC_IA64_PLTOFF22",
169677298Sobrien  "BFD_RELOC_IA64_PLTOFF64I",
169777298Sobrien  "BFD_RELOC_IA64_PLTOFF64MSB",
169877298Sobrien  "BFD_RELOC_IA64_PLTOFF64LSB",
169977298Sobrien  "BFD_RELOC_IA64_FPTR64I",
170077298Sobrien  "BFD_RELOC_IA64_FPTR32MSB",
170177298Sobrien  "BFD_RELOC_IA64_FPTR32LSB",
170277298Sobrien  "BFD_RELOC_IA64_FPTR64MSB",
170377298Sobrien  "BFD_RELOC_IA64_FPTR64LSB",
170477298Sobrien  "BFD_RELOC_IA64_PCREL21B",
170577298Sobrien  "BFD_RELOC_IA64_PCREL21BI",
170677298Sobrien  "BFD_RELOC_IA64_PCREL21M",
170777298Sobrien  "BFD_RELOC_IA64_PCREL21F",
170877298Sobrien  "BFD_RELOC_IA64_PCREL22",
170977298Sobrien  "BFD_RELOC_IA64_PCREL60B",
171077298Sobrien  "BFD_RELOC_IA64_PCREL64I",
171177298Sobrien  "BFD_RELOC_IA64_PCREL32MSB",
171277298Sobrien  "BFD_RELOC_IA64_PCREL32LSB",
171377298Sobrien  "BFD_RELOC_IA64_PCREL64MSB",
171477298Sobrien  "BFD_RELOC_IA64_PCREL64LSB",
171577298Sobrien  "BFD_RELOC_IA64_LTOFF_FPTR22",
171677298Sobrien  "BFD_RELOC_IA64_LTOFF_FPTR64I",
171789857Sobrien  "BFD_RELOC_IA64_LTOFF_FPTR32MSB",
171889857Sobrien  "BFD_RELOC_IA64_LTOFF_FPTR32LSB",
171977298Sobrien  "BFD_RELOC_IA64_LTOFF_FPTR64MSB",
172077298Sobrien  "BFD_RELOC_IA64_LTOFF_FPTR64LSB",
172177298Sobrien  "BFD_RELOC_IA64_SEGREL32MSB",
172277298Sobrien  "BFD_RELOC_IA64_SEGREL32LSB",
172377298Sobrien  "BFD_RELOC_IA64_SEGREL64MSB",
172477298Sobrien  "BFD_RELOC_IA64_SEGREL64LSB",
172577298Sobrien  "BFD_RELOC_IA64_SECREL32MSB",
172677298Sobrien  "BFD_RELOC_IA64_SECREL32LSB",
172777298Sobrien  "BFD_RELOC_IA64_SECREL64MSB",
172877298Sobrien  "BFD_RELOC_IA64_SECREL64LSB",
172977298Sobrien  "BFD_RELOC_IA64_REL32MSB",
173077298Sobrien  "BFD_RELOC_IA64_REL32LSB",
173177298Sobrien  "BFD_RELOC_IA64_REL64MSB",
173277298Sobrien  "BFD_RELOC_IA64_REL64LSB",
173377298Sobrien  "BFD_RELOC_IA64_LTV32MSB",
173477298Sobrien  "BFD_RELOC_IA64_LTV32LSB",
173577298Sobrien  "BFD_RELOC_IA64_LTV64MSB",
173677298Sobrien  "BFD_RELOC_IA64_LTV64LSB",
173777298Sobrien  "BFD_RELOC_IA64_IPLTMSB",
173877298Sobrien  "BFD_RELOC_IA64_IPLTLSB",
173977298Sobrien  "BFD_RELOC_IA64_COPY",
1740104834Sobrien  "BFD_RELOC_IA64_LTOFF22X",
1741104834Sobrien  "BFD_RELOC_IA64_LDXMOV",
1742104834Sobrien  "BFD_RELOC_IA64_TPREL14",
174377298Sobrien  "BFD_RELOC_IA64_TPREL22",
1744104834Sobrien  "BFD_RELOC_IA64_TPREL64I",
174577298Sobrien  "BFD_RELOC_IA64_TPREL64MSB",
174677298Sobrien  "BFD_RELOC_IA64_TPREL64LSB",
1747104834Sobrien  "BFD_RELOC_IA64_LTOFF_TPREL22",
1748104834Sobrien  "BFD_RELOC_IA64_DTPMOD64MSB",
1749104834Sobrien  "BFD_RELOC_IA64_DTPMOD64LSB",
1750104834Sobrien  "BFD_RELOC_IA64_LTOFF_DTPMOD22",
1751104834Sobrien  "BFD_RELOC_IA64_DTPREL14",
1752104834Sobrien  "BFD_RELOC_IA64_DTPREL22",
1753104834Sobrien  "BFD_RELOC_IA64_DTPREL64I",
1754104834Sobrien  "BFD_RELOC_IA64_DTPREL32MSB",
1755104834Sobrien  "BFD_RELOC_IA64_DTPREL32LSB",
1756104834Sobrien  "BFD_RELOC_IA64_DTPREL64MSB",
1757104834Sobrien  "BFD_RELOC_IA64_DTPREL64LSB",
1758104834Sobrien  "BFD_RELOC_IA64_LTOFF_DTPREL22",
175977298Sobrien  "BFD_RELOC_M68HC11_HI8",
176077298Sobrien  "BFD_RELOC_M68HC11_LO8",
176177298Sobrien  "BFD_RELOC_M68HC11_3B",
1762130561Sobrien  "BFD_RELOC_M68HC11_RL_JUMP",
1763130561Sobrien  "BFD_RELOC_M68HC11_RL_GROUP",
1764130561Sobrien  "BFD_RELOC_M68HC11_LO16",
1765130561Sobrien  "BFD_RELOC_M68HC11_PAGE",
1766130561Sobrien  "BFD_RELOC_M68HC11_24",
1767130561Sobrien  "BFD_RELOC_M68HC12_5B",
1768218822Sdim  "BFD_RELOC_16C_NUM08",
1769218822Sdim  "BFD_RELOC_16C_NUM08_C",
1770218822Sdim  "BFD_RELOC_16C_NUM16",
1771218822Sdim  "BFD_RELOC_16C_NUM16_C",
1772218822Sdim  "BFD_RELOC_16C_NUM32",
1773218822Sdim  "BFD_RELOC_16C_NUM32_C",
1774218822Sdim  "BFD_RELOC_16C_DISP04",
1775218822Sdim  "BFD_RELOC_16C_DISP04_C",
1776218822Sdim  "BFD_RELOC_16C_DISP08",
1777218822Sdim  "BFD_RELOC_16C_DISP08_C",
1778218822Sdim  "BFD_RELOC_16C_DISP16",
1779218822Sdim  "BFD_RELOC_16C_DISP16_C",
1780218822Sdim  "BFD_RELOC_16C_DISP24",
1781218822Sdim  "BFD_RELOC_16C_DISP24_C",
1782218822Sdim  "BFD_RELOC_16C_DISP24a",
1783218822Sdim  "BFD_RELOC_16C_DISP24a_C",
1784218822Sdim  "BFD_RELOC_16C_REG04",
1785218822Sdim  "BFD_RELOC_16C_REG04_C",
1786218822Sdim  "BFD_RELOC_16C_REG04a",
1787218822Sdim  "BFD_RELOC_16C_REG04a_C",
1788218822Sdim  "BFD_RELOC_16C_REG14",
1789218822Sdim  "BFD_RELOC_16C_REG14_C",
1790218822Sdim  "BFD_RELOC_16C_REG16",
1791218822Sdim  "BFD_RELOC_16C_REG16_C",
1792218822Sdim  "BFD_RELOC_16C_REG20",
1793218822Sdim  "BFD_RELOC_16C_REG20_C",
1794218822Sdim  "BFD_RELOC_16C_ABS20",
1795218822Sdim  "BFD_RELOC_16C_ABS20_C",
1796218822Sdim  "BFD_RELOC_16C_ABS24",
1797218822Sdim  "BFD_RELOC_16C_ABS24_C",
1798218822Sdim  "BFD_RELOC_16C_IMM04",
1799218822Sdim  "BFD_RELOC_16C_IMM04_C",
1800218822Sdim  "BFD_RELOC_16C_IMM16",
1801218822Sdim  "BFD_RELOC_16C_IMM16_C",
1802218822Sdim  "BFD_RELOC_16C_IMM20",
1803218822Sdim  "BFD_RELOC_16C_IMM20_C",
1804218822Sdim  "BFD_RELOC_16C_IMM24",
1805218822Sdim  "BFD_RELOC_16C_IMM24_C",
1806218822Sdim  "BFD_RELOC_16C_IMM32",
1807218822Sdim  "BFD_RELOC_16C_IMM32_C",
1808218822Sdim  "BFD_RELOC_CR16_NUM8",
1809218822Sdim  "BFD_RELOC_CR16_NUM16",
1810218822Sdim  "BFD_RELOC_CR16_NUM32",
1811218822Sdim  "BFD_RELOC_CR16_NUM32a",
1812218822Sdim  "BFD_RELOC_CR16_REGREL0",
1813218822Sdim  "BFD_RELOC_CR16_REGREL4",
1814218822Sdim  "BFD_RELOC_CR16_REGREL4a",
1815218822Sdim  "BFD_RELOC_CR16_REGREL14",
1816218822Sdim  "BFD_RELOC_CR16_REGREL14a",
1817218822Sdim  "BFD_RELOC_CR16_REGREL16",
1818218822Sdim  "BFD_RELOC_CR16_REGREL20",
1819218822Sdim  "BFD_RELOC_CR16_REGREL20a",
1820218822Sdim  "BFD_RELOC_CR16_ABS20",
1821218822Sdim  "BFD_RELOC_CR16_ABS24",
1822218822Sdim  "BFD_RELOC_CR16_IMM4",
1823218822Sdim  "BFD_RELOC_CR16_IMM8",
1824218822Sdim  "BFD_RELOC_CR16_IMM16",
1825218822Sdim  "BFD_RELOC_CR16_IMM20",
1826218822Sdim  "BFD_RELOC_CR16_IMM24",
1827218822Sdim  "BFD_RELOC_CR16_IMM32",
1828218822Sdim  "BFD_RELOC_CR16_IMM32a",
1829218822Sdim  "BFD_RELOC_CR16_DISP4",
1830218822Sdim  "BFD_RELOC_CR16_DISP8",
1831218822Sdim  "BFD_RELOC_CR16_DISP16",
1832218822Sdim  "BFD_RELOC_CR16_DISP20",
1833218822Sdim  "BFD_RELOC_CR16_DISP24",
1834218822Sdim  "BFD_RELOC_CR16_DISP24a",
1835218822Sdim  "BFD_RELOC_CRX_REL4",
1836218822Sdim  "BFD_RELOC_CRX_REL8",
1837218822Sdim  "BFD_RELOC_CRX_REL8_CMP",
1838218822Sdim  "BFD_RELOC_CRX_REL16",
1839218822Sdim  "BFD_RELOC_CRX_REL24",
1840218822Sdim  "BFD_RELOC_CRX_REL32",
1841218822Sdim  "BFD_RELOC_CRX_REGREL12",
1842218822Sdim  "BFD_RELOC_CRX_REGREL22",
1843218822Sdim  "BFD_RELOC_CRX_REGREL28",
1844218822Sdim  "BFD_RELOC_CRX_REGREL32",
1845218822Sdim  "BFD_RELOC_CRX_ABS16",
1846218822Sdim  "BFD_RELOC_CRX_ABS32",
1847218822Sdim  "BFD_RELOC_CRX_NUM8",
1848218822Sdim  "BFD_RELOC_CRX_NUM16",
1849218822Sdim  "BFD_RELOC_CRX_NUM32",
1850218822Sdim  "BFD_RELOC_CRX_IMM16",
1851218822Sdim  "BFD_RELOC_CRX_IMM32",
1852218822Sdim  "BFD_RELOC_CRX_SWITCH8",
1853218822Sdim  "BFD_RELOC_CRX_SWITCH16",
1854218822Sdim  "BFD_RELOC_CRX_SWITCH32",
185577298Sobrien  "BFD_RELOC_CRIS_BDISP8",
185677298Sobrien  "BFD_RELOC_CRIS_UNSIGNED_5",
185777298Sobrien  "BFD_RELOC_CRIS_SIGNED_6",
185877298Sobrien  "BFD_RELOC_CRIS_UNSIGNED_6",
1859218822Sdim  "BFD_RELOC_CRIS_SIGNED_8",
1860218822Sdim  "BFD_RELOC_CRIS_UNSIGNED_8",
1861218822Sdim  "BFD_RELOC_CRIS_SIGNED_16",
1862218822Sdim  "BFD_RELOC_CRIS_UNSIGNED_16",
1863218822Sdim  "BFD_RELOC_CRIS_LAPCQ_OFFSET",
186477298Sobrien  "BFD_RELOC_CRIS_UNSIGNED_4",
186589857Sobrien  "BFD_RELOC_CRIS_COPY",
186689857Sobrien  "BFD_RELOC_CRIS_GLOB_DAT",
186789857Sobrien  "BFD_RELOC_CRIS_JUMP_SLOT",
186889857Sobrien  "BFD_RELOC_CRIS_RELATIVE",
186989857Sobrien  "BFD_RELOC_CRIS_32_GOT",
187089857Sobrien  "BFD_RELOC_CRIS_16_GOT",
187189857Sobrien  "BFD_RELOC_CRIS_32_GOTPLT",
187289857Sobrien  "BFD_RELOC_CRIS_16_GOTPLT",
187389857Sobrien  "BFD_RELOC_CRIS_32_GOTREL",
187489857Sobrien  "BFD_RELOC_CRIS_32_PLT_GOTREL",
187589857Sobrien  "BFD_RELOC_CRIS_32_PLT_PCREL",
187677298Sobrien  "BFD_RELOC_860_COPY",
187777298Sobrien  "BFD_RELOC_860_GLOB_DAT",
187877298Sobrien  "BFD_RELOC_860_JUMP_SLOT",
187977298Sobrien  "BFD_RELOC_860_RELATIVE",
188077298Sobrien  "BFD_RELOC_860_PC26",
188177298Sobrien  "BFD_RELOC_860_PLT26",
188277298Sobrien  "BFD_RELOC_860_PC16",
188377298Sobrien  "BFD_RELOC_860_LOW0",
188477298Sobrien  "BFD_RELOC_860_SPLIT0",
188577298Sobrien  "BFD_RELOC_860_LOW1",
188677298Sobrien  "BFD_RELOC_860_SPLIT1",
188777298Sobrien  "BFD_RELOC_860_LOW2",
188877298Sobrien  "BFD_RELOC_860_SPLIT2",
188977298Sobrien  "BFD_RELOC_860_LOW3",
189077298Sobrien  "BFD_RELOC_860_LOGOT0",
189177298Sobrien  "BFD_RELOC_860_SPGOT0",
189277298Sobrien  "BFD_RELOC_860_LOGOT1",
189377298Sobrien  "BFD_RELOC_860_SPGOT1",
189477298Sobrien  "BFD_RELOC_860_LOGOTOFF0",
189577298Sobrien  "BFD_RELOC_860_SPGOTOFF0",
189677298Sobrien  "BFD_RELOC_860_LOGOTOFF1",
189777298Sobrien  "BFD_RELOC_860_SPGOTOFF1",
189877298Sobrien  "BFD_RELOC_860_LOGOTOFF2",
189977298Sobrien  "BFD_RELOC_860_LOGOTOFF3",
190077298Sobrien  "BFD_RELOC_860_LOPC",
190177298Sobrien  "BFD_RELOC_860_HIGHADJ",
190277298Sobrien  "BFD_RELOC_860_HAGOT",
190377298Sobrien  "BFD_RELOC_860_HAGOTOFF",
190477298Sobrien  "BFD_RELOC_860_HAPC",
190577298Sobrien  "BFD_RELOC_860_HIGH",
190677298Sobrien  "BFD_RELOC_860_HIGOT",
190777298Sobrien  "BFD_RELOC_860_HIGOTOFF",
190889857Sobrien  "BFD_RELOC_OPENRISC_ABS_26",
190989857Sobrien  "BFD_RELOC_OPENRISC_REL_26",
191089857Sobrien  "BFD_RELOC_H8_DIR16A8",
191189857Sobrien  "BFD_RELOC_H8_DIR16R8",
191289857Sobrien  "BFD_RELOC_H8_DIR24A8",
191389857Sobrien  "BFD_RELOC_H8_DIR24R8",
191489857Sobrien  "BFD_RELOC_H8_DIR32A16",
191589857Sobrien  "BFD_RELOC_XSTORMY16_REL_12",
1916130561Sobrien  "BFD_RELOC_XSTORMY16_12",
191789857Sobrien  "BFD_RELOC_XSTORMY16_24",
191889857Sobrien  "BFD_RELOC_XSTORMY16_FPTR16",
1919218822Sdim  "BFD_RELOC_RELC",
1920218822Sdim
1921218822Sdim  "BFD_RELOC_XC16X_PAG",
1922218822Sdim  "BFD_RELOC_XC16X_POF",
1923218822Sdim  "BFD_RELOC_XC16X_SEG",
1924218822Sdim  "BFD_RELOC_XC16X_SOF",
1925104834Sobrien  "BFD_RELOC_VAX_GLOB_DAT",
1926104834Sobrien  "BFD_RELOC_VAX_JMP_SLOT",
1927104834Sobrien  "BFD_RELOC_VAX_RELATIVE",
1928218822Sdim  "BFD_RELOC_MT_PC16",
1929218822Sdim  "BFD_RELOC_MT_HI16",
1930218822Sdim  "BFD_RELOC_MT_LO16",
1931218822Sdim  "BFD_RELOC_MT_GNU_VTINHERIT",
1932218822Sdim  "BFD_RELOC_MT_GNU_VTENTRY",
1933218822Sdim  "BFD_RELOC_MT_PCINSN8",
1934130561Sobrien  "BFD_RELOC_MSP430_10_PCREL",
1935130561Sobrien  "BFD_RELOC_MSP430_16_PCREL",
1936130561Sobrien  "BFD_RELOC_MSP430_16",
1937130561Sobrien  "BFD_RELOC_MSP430_16_PCREL_BYTE",
1938130561Sobrien  "BFD_RELOC_MSP430_16_BYTE",
1939218822Sdim  "BFD_RELOC_MSP430_2X_PCREL",
1940218822Sdim  "BFD_RELOC_MSP430_RL_PCREL",
1941130561Sobrien  "BFD_RELOC_IQ2000_OFFSET_16",
1942130561Sobrien  "BFD_RELOC_IQ2000_OFFSET_21",
1943130561Sobrien  "BFD_RELOC_IQ2000_UHI16",
1944130561Sobrien  "BFD_RELOC_XTENSA_RTLD",
1945130561Sobrien  "BFD_RELOC_XTENSA_GLOB_DAT",
1946130561Sobrien  "BFD_RELOC_XTENSA_JMP_SLOT",
1947130561Sobrien  "BFD_RELOC_XTENSA_RELATIVE",
1948130561Sobrien  "BFD_RELOC_XTENSA_PLT",
1949218822Sdim  "BFD_RELOC_XTENSA_DIFF8",
1950218822Sdim  "BFD_RELOC_XTENSA_DIFF16",
1951218822Sdim  "BFD_RELOC_XTENSA_DIFF32",
1952218822Sdim  "BFD_RELOC_XTENSA_SLOT0_OP",
1953218822Sdim  "BFD_RELOC_XTENSA_SLOT1_OP",
1954218822Sdim  "BFD_RELOC_XTENSA_SLOT2_OP",
1955218822Sdim  "BFD_RELOC_XTENSA_SLOT3_OP",
1956218822Sdim  "BFD_RELOC_XTENSA_SLOT4_OP",
1957218822Sdim  "BFD_RELOC_XTENSA_SLOT5_OP",
1958218822Sdim  "BFD_RELOC_XTENSA_SLOT6_OP",
1959218822Sdim  "BFD_RELOC_XTENSA_SLOT7_OP",
1960218822Sdim  "BFD_RELOC_XTENSA_SLOT8_OP",
1961218822Sdim  "BFD_RELOC_XTENSA_SLOT9_OP",
1962218822Sdim  "BFD_RELOC_XTENSA_SLOT10_OP",
1963218822Sdim  "BFD_RELOC_XTENSA_SLOT11_OP",
1964218822Sdim  "BFD_RELOC_XTENSA_SLOT12_OP",
1965218822Sdim  "BFD_RELOC_XTENSA_SLOT13_OP",
1966218822Sdim  "BFD_RELOC_XTENSA_SLOT14_OP",
1967218822Sdim  "BFD_RELOC_XTENSA_SLOT0_ALT",
1968218822Sdim  "BFD_RELOC_XTENSA_SLOT1_ALT",
1969218822Sdim  "BFD_RELOC_XTENSA_SLOT2_ALT",
1970218822Sdim  "BFD_RELOC_XTENSA_SLOT3_ALT",
1971218822Sdim  "BFD_RELOC_XTENSA_SLOT4_ALT",
1972218822Sdim  "BFD_RELOC_XTENSA_SLOT5_ALT",
1973218822Sdim  "BFD_RELOC_XTENSA_SLOT6_ALT",
1974218822Sdim  "BFD_RELOC_XTENSA_SLOT7_ALT",
1975218822Sdim  "BFD_RELOC_XTENSA_SLOT8_ALT",
1976218822Sdim  "BFD_RELOC_XTENSA_SLOT9_ALT",
1977218822Sdim  "BFD_RELOC_XTENSA_SLOT10_ALT",
1978218822Sdim  "BFD_RELOC_XTENSA_SLOT11_ALT",
1979218822Sdim  "BFD_RELOC_XTENSA_SLOT12_ALT",
1980218822Sdim  "BFD_RELOC_XTENSA_SLOT13_ALT",
1981218822Sdim  "BFD_RELOC_XTENSA_SLOT14_ALT",
1982130561Sobrien  "BFD_RELOC_XTENSA_OP0",
1983130561Sobrien  "BFD_RELOC_XTENSA_OP1",
1984130561Sobrien  "BFD_RELOC_XTENSA_OP2",
1985130561Sobrien  "BFD_RELOC_XTENSA_ASM_EXPAND",
1986130561Sobrien  "BFD_RELOC_XTENSA_ASM_SIMPLIFY",
1987218822Sdim  "BFD_RELOC_Z80_DISP8",
1988218822Sdim  "BFD_RELOC_Z8K_DISP7",
1989218822Sdim  "BFD_RELOC_Z8K_CALLR",
1990218822Sdim  "BFD_RELOC_Z8K_IMM4L",
199133965Sjdp "@@overflow: BFD_RELOC_UNUSED@@",
199233965Sjdp};
199333965Sjdp#endif
199433965Sjdp
1995130561Sobrienreloc_howto_type *bfd_default_reloc_type_lookup
1996130561Sobrien   (bfd *abfd, bfd_reloc_code_real_type  code);
199733965Sjdp
1998130561Sobrienbfd_boolean bfd_generic_relax_section
1999130561Sobrien   (bfd *abfd,
200033965Sjdp    asection *section,
200133965Sjdp    struct bfd_link_info *,
2002130561Sobrien    bfd_boolean *);
200333965Sjdp
2004130561Sobrienbfd_boolean bfd_generic_gc_sections
2005130561Sobrien   (bfd *, struct bfd_link_info *);
200660484Sobrien
2007130561Sobrienbfd_boolean bfd_generic_merge_sections
2008130561Sobrien   (bfd *, struct bfd_link_info *);
200989857Sobrien
2010130561Sobrienbfd_byte *bfd_generic_get_relocated_section_contents
2011130561Sobrien   (bfd *abfd,
201233965Sjdp    struct bfd_link_info *link_info,
201333965Sjdp    struct bfd_link_order *link_order,
201433965Sjdp    bfd_byte *data,
2015130561Sobrien    bfd_boolean relocatable,
2016130561Sobrien    asymbol **symbols);
201733965Sjdp
2018104834Sobrien/* Extracted from archures.c.  */
201933965Sjdpextern const bfd_arch_info_type bfd_default_arch_struct;
2020130561Sobrienbfd_boolean bfd_default_set_arch_mach
2021130561Sobrien   (bfd *abfd, enum bfd_architecture arch, unsigned long mach);
202233965Sjdp
2023130561Sobrienconst bfd_arch_info_type *bfd_default_compatible
2024130561Sobrien   (const bfd_arch_info_type *a, const bfd_arch_info_type *b);
202533965Sjdp
2026130561Sobrienbfd_boolean bfd_default_scan
2027130561Sobrien   (const struct bfd_arch_info *info, const char *string);
202833965Sjdp
2029104834Sobrien/* Extracted from elf.c.  */
2030130561Sobrienstruct elf_internal_shdr *bfd_elf_find_section (bfd *abfd, char *name);
203133965Sjdp
2032