Back to index

cell-binutils  2.17cvs20070401
libbfd.h
Go to the documentation of this file.
00001 /* DO NOT EDIT!  -*- buffer-read-only: t -*-  This file is automatically 
00002    generated from "libbfd-in.h", "init.c", "libbfd.c", "bfdio.c", 
00003    "bfdwin.c", "cache.c", "reloc.c", "archures.c" and "elf.c".
00004    Run "make headers" in your build bfd/ to regenerate.  */
00005 
00006 /* libbfd.h -- Declarations used by bfd library *implementation*.
00007    (This include file is not for users of the library.)
00008 
00009    Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
00010    1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
00011    Free Software Foundation, Inc.
00012 
00013    Written by Cygnus Support.
00014 
00015 This file is part of BFD, the Binary File Descriptor library.
00016 
00017 This program is free software; you can redistribute it and/or modify
00018 it under the terms of the GNU General Public License as published by
00019 the Free Software Foundation; either version 2 of the License, or
00020 (at your option) any later version.
00021 
00022 This program is distributed in the hope that it will be useful,
00023 but WITHOUT ANY WARRANTY; without even the implied warranty of
00024 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00025 GNU General Public License for more details.
00026 
00027 You should have received a copy of the GNU General Public License
00028 along with this program; if not, write to the Free Software
00029 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
00030 
00031 #include "hashtab.h"
00032 
00033 /* Align an address upward to a boundary, expressed as a number of bytes.
00034    E.g. align to an 8-byte boundary with argument of 8.  Take care never
00035    to wrap around if the address is within boundary-1 of the end of the
00036    address space.  */
00037 #define BFD_ALIGN(this, boundary)                                \
00038   ((((bfd_vma) (this) + (boundary) - 1) >= (bfd_vma) (this))            \
00039    ? (((bfd_vma) (this) + ((boundary) - 1)) & ~ (bfd_vma) ((boundary)-1)) \
00040    : ~ (bfd_vma) 0)
00041 
00042 /* If you want to read and write large blocks, you might want to do it
00043    in quanta of this amount */
00044 #define DEFAULT_BUFFERSIZE 8192
00045 
00046 /* Set a tdata field.  Can't use the other macros for this, since they
00047    do casts, and casting to the left of assignment isn't portable.  */
00048 #define set_tdata(bfd, v) ((bfd)->tdata.any = (v))
00049 
00050 /* If BFD_IN_MEMORY is set for a BFD, then the iostream fields points
00051    to an instance of this structure.  */
00052 
00053 struct bfd_in_memory
00054 {
00055   /* Size of buffer.  */
00056   bfd_size_type size;
00057   /* Buffer holding contents of BFD.  */
00058   bfd_byte *buffer;
00059 };
00060 
00061 struct section_hash_entry
00062 {
00063   struct bfd_hash_entry root;
00064   asection section;
00065 };
00066 
00067 /* tdata for an archive.  For an input archive, cache
00068    needs to be free()'d.  For an output archive, symdefs do.  */
00069 
00070 struct artdata {
00071   file_ptr first_file_filepos;
00072   /* Speed up searching the armap */
00073   htab_t cache;
00074   bfd *archive_head;        /* Only interesting in output routines */
00075   carsym *symdefs;          /* the symdef entries */
00076   symindex symdef_count;    /* how many there are */
00077   char *extended_names;            /* clever intel extension */
00078   bfd_size_type extended_names_size; /* Size of extended names */
00079   /* when more compilers are standard C, this can be a time_t */
00080   long  armap_timestamp;    /* Timestamp value written into armap.
00081                                This is used for BSD archives to check
00082                                that the timestamp is recent enough
00083                                for the BSD linker to not complain,
00084                                just before we finish writing an
00085                                archive.  */
00086   file_ptr armap_datepos;   /* Position within archive to seek to
00087                                rewrite the date field.  */
00088   void *tdata;                     /* Backend specific information.  */
00089 };
00090 
00091 #define bfd_ardata(bfd) ((bfd)->tdata.aout_ar_data)
00092 
00093 /* Goes in bfd's arelt_data slot */
00094 struct areltdata {
00095   char * arch_header;              /* it's actually a string */
00096   unsigned int parsed_size; /* octets of filesize not including ar_hdr */
00097   char *filename;           /* null-terminated */
00098 };
00099 
00100 #define arelt_size(bfd) (((struct areltdata *)((bfd)->arelt_data))->parsed_size)
00101 
00102 extern void *bfd_malloc
00103   (bfd_size_type);
00104 extern void *bfd_realloc
00105   (void *, bfd_size_type);
00106 extern void *bfd_zmalloc
00107   (bfd_size_type);
00108 extern void *bfd_malloc2
00109   (bfd_size_type, bfd_size_type);
00110 extern void *bfd_realloc2
00111   (void *, bfd_size_type, bfd_size_type);
00112 extern void *bfd_zmalloc2
00113   (bfd_size_type, bfd_size_type);
00114 
00115 extern void _bfd_default_error_handler (const char *s, ...);
00116 extern bfd_error_handler_type _bfd_error_handler;
00117 
00118 /* These routines allocate and free things on the BFD's objalloc.  */
00119 
00120 extern void *bfd_alloc
00121   (bfd *, bfd_size_type);
00122 extern void *bfd_zalloc
00123   (bfd *, bfd_size_type);
00124 extern void *bfd_alloc2
00125   (bfd *, bfd_size_type, bfd_size_type);
00126 extern void *bfd_zalloc2
00127   (bfd *, bfd_size_type, bfd_size_type);
00128 extern void bfd_release
00129   (bfd *, void *);
00130 
00131 bfd * _bfd_create_empty_archive_element_shell
00132   (bfd *obfd);
00133 bfd * _bfd_look_for_bfd_in_cache
00134   (bfd *, file_ptr);
00135 bfd_boolean _bfd_add_bfd_to_archive_cache
00136   (bfd *, file_ptr, bfd *);
00137 bfd_boolean _bfd_generic_mkarchive
00138   (bfd *abfd);
00139 const bfd_target *bfd_generic_archive_p
00140   (bfd *abfd);
00141 bfd_boolean bfd_slurp_armap
00142   (bfd *abfd);
00143 bfd_boolean bfd_slurp_bsd_armap_f2
00144   (bfd *abfd);
00145 #define bfd_slurp_bsd_armap bfd_slurp_armap
00146 #define bfd_slurp_coff_armap bfd_slurp_armap
00147 bfd_boolean _bfd_slurp_extended_name_table
00148   (bfd *abfd);
00149 extern bfd_boolean _bfd_construct_extended_name_table
00150   (bfd *, bfd_boolean, char **, bfd_size_type *);
00151 bfd_boolean _bfd_write_archive_contents
00152   (bfd *abfd);
00153 bfd_boolean _bfd_compute_and_write_armap
00154   (bfd *, unsigned int elength);
00155 bfd *_bfd_get_elt_at_filepos
00156   (bfd *archive, file_ptr filepos);
00157 extern bfd *_bfd_generic_get_elt_at_index
00158   (bfd *, symindex);
00159 bfd * _bfd_new_bfd
00160   (void);
00161 void _bfd_delete_bfd
00162   (bfd *);
00163 bfd_boolean _bfd_free_cached_info
00164   (bfd *);
00165 
00166 bfd_boolean bfd_false
00167   (bfd *ignore);
00168 bfd_boolean bfd_true
00169   (bfd *ignore);
00170 void *bfd_nullvoidptr
00171   (bfd *ignore);
00172 int bfd_0
00173   (bfd *ignore);
00174 unsigned int bfd_0u
00175   (bfd *ignore);
00176 long bfd_0l
00177   (bfd *ignore);
00178 long _bfd_n1
00179   (bfd *ignore);
00180 void bfd_void
00181   (bfd *ignore);
00182 
00183 bfd *_bfd_new_bfd_contained_in
00184   (bfd *);
00185 const bfd_target *_bfd_dummy_target
00186   (bfd *abfd);
00187 
00188 void bfd_dont_truncate_arname
00189   (bfd *abfd, const char *filename, char *hdr);
00190 void bfd_bsd_truncate_arname
00191   (bfd *abfd, const char *filename, char *hdr);
00192 void bfd_gnu_truncate_arname
00193   (bfd *abfd, const char *filename, char *hdr);
00194 
00195 bfd_boolean bsd_write_armap
00196   (bfd *arch, unsigned int elength, struct orl *map, unsigned int orl_count,
00197    int stridx);
00198 
00199 bfd_boolean coff_write_armap
00200   (bfd *arch, unsigned int elength, struct orl *map, unsigned int orl_count,
00201    int stridx);
00202 
00203 extern void *_bfd_generic_read_ar_hdr
00204   (bfd *);
00205 extern void _bfd_ar_spacepad
00206   (char *, size_t, const char *, long);
00207 
00208 extern void *_bfd_generic_read_ar_hdr_mag
00209   (bfd *, const char *);
00210 
00211 bfd * bfd_generic_openr_next_archived_file
00212   (bfd *archive, bfd *last_file);
00213 
00214 int bfd_generic_stat_arch_elt
00215   (bfd *, struct stat *);
00216 
00217 #define _bfd_read_ar_hdr(abfd) \
00218   BFD_SEND (abfd, _bfd_read_ar_hdr_fn, (abfd))
00219 
00220 /* Generic routines to use for BFD_JUMP_TABLE_GENERIC.  Use
00221    BFD_JUMP_TABLE_GENERIC (_bfd_generic).  */
00222 
00223 #define _bfd_generic_close_and_cleanup bfd_true
00224 #define _bfd_generic_bfd_free_cached_info bfd_true
00225 extern bfd_boolean _bfd_generic_new_section_hook
00226   (bfd *, asection *);
00227 extern bfd_boolean _bfd_generic_get_section_contents
00228   (bfd *, asection *, void *, file_ptr, bfd_size_type);
00229 extern bfd_boolean _bfd_generic_get_section_contents_in_window
00230   (bfd *, asection *, bfd_window *, file_ptr, bfd_size_type);
00231 
00232 /* Generic routines to use for BFD_JUMP_TABLE_COPY.  Use
00233    BFD_JUMP_TABLE_COPY (_bfd_generic).  */
00234 
00235 #define _bfd_generic_bfd_copy_private_bfd_data \
00236   ((bfd_boolean (*) (bfd *, bfd *)) bfd_true)
00237 #define _bfd_generic_bfd_merge_private_bfd_data \
00238   ((bfd_boolean (*) (bfd *, bfd *)) bfd_true)
00239 #define _bfd_generic_bfd_set_private_flags \
00240   ((bfd_boolean (*) (bfd *, flagword)) bfd_true)
00241 #define _bfd_generic_bfd_copy_private_section_data \
00242   ((bfd_boolean (*) (bfd *, asection *, bfd *, asection *)) bfd_true)
00243 #define _bfd_generic_bfd_copy_private_symbol_data \
00244   ((bfd_boolean (*) (bfd *, asymbol *, bfd *, asymbol *)) bfd_true)
00245 #define _bfd_generic_bfd_copy_private_header_data \
00246   ((bfd_boolean (*) (bfd *, bfd *)) bfd_true)
00247 #define _bfd_generic_bfd_print_private_bfd_data \
00248   ((bfd_boolean (*) (bfd *, void *)) bfd_true)
00249 
00250 extern bfd_boolean _bfd_generic_init_private_section_data
00251   (bfd *, asection *, bfd *, asection *, struct bfd_link_info *);
00252 
00253 /* Routines to use for BFD_JUMP_TABLE_CORE when there is no core file
00254    support.  Use BFD_JUMP_TABLE_CORE (_bfd_nocore).  */
00255 
00256 extern char *_bfd_nocore_core_file_failing_command
00257   (bfd *);
00258 extern int _bfd_nocore_core_file_failing_signal
00259   (bfd *);
00260 extern bfd_boolean _bfd_nocore_core_file_matches_executable_p
00261   (bfd *, bfd *);
00262 
00263 /* Routines to use for BFD_JUMP_TABLE_ARCHIVE when there is no archive
00264    file support.  Use BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive).  */
00265 
00266 #define _bfd_noarchive_slurp_armap bfd_false
00267 #define _bfd_noarchive_slurp_extended_name_table bfd_false
00268 #define _bfd_noarchive_construct_extended_name_table \
00269   ((bfd_boolean (*) (bfd *, char **, bfd_size_type *, const char **)) \
00270    bfd_false)
00271 #define _bfd_noarchive_truncate_arname \
00272   ((void (*) (bfd *, const char *, char *)) bfd_void)
00273 #define _bfd_noarchive_write_armap \
00274   ((bfd_boolean (*) (bfd *, unsigned int, struct orl *, unsigned int, int)) \
00275    bfd_false)
00276 #define _bfd_noarchive_read_ar_hdr bfd_nullvoidptr
00277 #define _bfd_noarchive_openr_next_archived_file \
00278   ((bfd *(*) (bfd *, bfd *)) bfd_nullvoidptr)
00279 #define _bfd_noarchive_get_elt_at_index \
00280   ((bfd *(*) (bfd *, symindex)) bfd_nullvoidptr)
00281 #define _bfd_noarchive_generic_stat_arch_elt bfd_generic_stat_arch_elt
00282 #define _bfd_noarchive_update_armap_timestamp bfd_false
00283 
00284 /* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get BSD style
00285    archives.  Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_bsd).  */
00286 
00287 #define _bfd_archive_bsd_slurp_armap bfd_slurp_bsd_armap
00288 #define _bfd_archive_bsd_slurp_extended_name_table \
00289   _bfd_slurp_extended_name_table
00290 extern bfd_boolean _bfd_archive_bsd_construct_extended_name_table
00291   (bfd *, char **, bfd_size_type *, const char **);
00292 #define _bfd_archive_bsd_truncate_arname bfd_bsd_truncate_arname
00293 #define _bfd_archive_bsd_write_armap bsd_write_armap
00294 #define _bfd_archive_bsd_read_ar_hdr _bfd_generic_read_ar_hdr
00295 #define _bfd_archive_bsd_openr_next_archived_file \
00296   bfd_generic_openr_next_archived_file
00297 #define _bfd_archive_bsd_get_elt_at_index _bfd_generic_get_elt_at_index
00298 #define _bfd_archive_bsd_generic_stat_arch_elt \
00299   bfd_generic_stat_arch_elt
00300 extern bfd_boolean _bfd_archive_bsd_update_armap_timestamp
00301   (bfd *);
00302 
00303 /* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get COFF style
00304    archives.  Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff).  */
00305 
00306 #define _bfd_archive_coff_slurp_armap bfd_slurp_coff_armap
00307 #define _bfd_archive_coff_slurp_extended_name_table \
00308   _bfd_slurp_extended_name_table
00309 extern bfd_boolean _bfd_archive_coff_construct_extended_name_table
00310   (bfd *, char **, bfd_size_type *, const char **);
00311 #define _bfd_archive_coff_truncate_arname bfd_dont_truncate_arname
00312 #define _bfd_archive_coff_write_armap coff_write_armap
00313 #define _bfd_archive_coff_read_ar_hdr _bfd_generic_read_ar_hdr
00314 #define _bfd_archive_coff_openr_next_archived_file \
00315   bfd_generic_openr_next_archived_file
00316 #define _bfd_archive_coff_get_elt_at_index _bfd_generic_get_elt_at_index
00317 #define _bfd_archive_coff_generic_stat_arch_elt \
00318   bfd_generic_stat_arch_elt
00319 #define _bfd_archive_coff_update_armap_timestamp bfd_true
00320 
00321 /* Routines to use for BFD_JUMP_TABLE_SYMBOLS where there is no symbol
00322    support.  Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols).  */
00323 
00324 #define _bfd_nosymbols_get_symtab_upper_bound _bfd_n1
00325 #define _bfd_nosymbols_canonicalize_symtab \
00326   ((long (*) (bfd *, asymbol **)) _bfd_n1)
00327 #define _bfd_nosymbols_make_empty_symbol _bfd_generic_make_empty_symbol
00328 #define _bfd_nosymbols_print_symbol \
00329   ((void (*) (bfd *, void *, asymbol *, bfd_print_symbol_type)) bfd_void)
00330 #define _bfd_nosymbols_get_symbol_info \
00331   ((void (*) (bfd *, asymbol *, symbol_info *)) bfd_void)
00332 #define _bfd_nosymbols_bfd_is_local_label_name \
00333   ((bfd_boolean (*) (bfd *, const char *)) bfd_false)
00334 #define _bfd_nosymbols_bfd_is_target_special_symbol \
00335   ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
00336 #define _bfd_nosymbols_get_lineno \
00337   ((alent *(*) (bfd *, asymbol *)) bfd_nullvoidptr)
00338 #define _bfd_nosymbols_find_nearest_line \
00339   ((bfd_boolean (*) (bfd *, asection *, asymbol **, bfd_vma, const char **, \
00340                    const char **, unsigned int *)) \
00341    bfd_false)
00342 #define _bfd_nosymbols_find_inliner_info \
00343   ((bfd_boolean (*) (bfd *, const char **, const char **, unsigned int *)) \
00344    bfd_false)
00345 #define _bfd_nosymbols_bfd_make_debug_symbol \
00346   ((asymbol *(*) (bfd *, void *, unsigned long)) bfd_nullvoidptr)
00347 #define _bfd_nosymbols_read_minisymbols \
00348   ((long (*) (bfd *, bfd_boolean, void **, unsigned int *)) _bfd_n1)
00349 #define _bfd_nosymbols_minisymbol_to_symbol \
00350   ((asymbol *(*) (bfd *, bfd_boolean, const void *, asymbol *)) \
00351    bfd_nullvoidptr)
00352 
00353 /* Routines to use for BFD_JUMP_TABLE_RELOCS when there is no reloc
00354    support.  Use BFD_JUMP_TABLE_RELOCS (_bfd_norelocs).  */
00355 
00356 extern long _bfd_norelocs_get_reloc_upper_bound (bfd *, asection *);
00357 extern long _bfd_norelocs_canonicalize_reloc (bfd *, asection *,
00358                                          arelent **, asymbol **);
00359 #define _bfd_norelocs_bfd_reloc_type_lookup \
00360   ((reloc_howto_type *(*) (bfd *, bfd_reloc_code_real_type)) bfd_nullvoidptr)
00361 #define _bfd_norelocs_bfd_reloc_name_lookup \
00362   ((reloc_howto_type *(*) (bfd *, const char *)) bfd_nullvoidptr)
00363 
00364 /* Routines to use for BFD_JUMP_TABLE_WRITE for targets which may not
00365    be written.  Use BFD_JUMP_TABLE_WRITE (_bfd_nowrite).  */
00366 
00367 #define _bfd_nowrite_set_arch_mach \
00368   ((bfd_boolean (*) (bfd *, enum bfd_architecture, unsigned long)) \
00369    bfd_false)
00370 #define _bfd_nowrite_set_section_contents \
00371   ((bfd_boolean (*) (bfd *, asection *, const void *, file_ptr, bfd_size_type)) \
00372    bfd_false)
00373 
00374 /* Generic routines to use for BFD_JUMP_TABLE_WRITE.  Use
00375    BFD_JUMP_TABLE_WRITE (_bfd_generic).  */
00376 
00377 #define _bfd_generic_set_arch_mach bfd_default_set_arch_mach
00378 extern bfd_boolean _bfd_generic_set_section_contents
00379   (bfd *, asection *, const void *, file_ptr, bfd_size_type);
00380 
00381 /* Routines to use for BFD_JUMP_TABLE_LINK for targets which do not
00382    support linking.  Use BFD_JUMP_TABLE_LINK (_bfd_nolink).  */
00383 
00384 #define _bfd_nolink_sizeof_headers \
00385   ((int (*) (bfd *, struct bfd_link_info *)) bfd_0)
00386 #define _bfd_nolink_bfd_get_relocated_section_contents \
00387   ((bfd_byte *(*) (bfd *, struct bfd_link_info *, struct bfd_link_order *, \
00388                  bfd_byte *, bfd_boolean, asymbol **)) \
00389    bfd_nullvoidptr)
00390 #define _bfd_nolink_bfd_relax_section \
00391   ((bfd_boolean (*) \
00392     (bfd *, asection *, struct bfd_link_info *, bfd_boolean *)) \
00393    bfd_false)
00394 #define _bfd_nolink_bfd_gc_sections \
00395   ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \
00396    bfd_false)
00397 #define _bfd_nolink_bfd_merge_sections \
00398   ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \
00399    bfd_false)
00400 #define _bfd_nolink_bfd_is_group_section \
00401   ((bfd_boolean (*) (bfd *, const struct bfd_section *)) \
00402    bfd_false)
00403 #define _bfd_nolink_bfd_discard_group \
00404   ((bfd_boolean (*) (bfd *, struct bfd_section *)) \
00405    bfd_false)
00406 #define _bfd_nolink_bfd_link_hash_table_create \
00407   ((struct bfd_link_hash_table *(*) (bfd *)) bfd_nullvoidptr)
00408 #define _bfd_nolink_bfd_link_hash_table_free \
00409   ((void (*) (struct bfd_link_hash_table *)) bfd_void)
00410 #define _bfd_nolink_bfd_link_add_symbols \
00411   ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false)
00412 #define _bfd_nolink_bfd_link_just_syms \
00413   ((void (*) (asection *, struct bfd_link_info *)) bfd_void)
00414 #define _bfd_nolink_bfd_final_link \
00415   ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false)
00416 #define _bfd_nolink_bfd_link_split_section \
00417   ((bfd_boolean (*) (bfd *, struct bfd_section *)) bfd_false)
00418 #define _bfd_nolink_section_already_linked \
00419   ((void (*) (bfd *, struct bfd_section *, struct bfd_link_info *)) bfd_void)
00420 
00421 /* Routines to use for BFD_JUMP_TABLE_DYNAMIC for targets which do not
00422    have dynamic symbols or relocs.  Use BFD_JUMP_TABLE_DYNAMIC
00423    (_bfd_nodynamic).  */
00424 
00425 #define _bfd_nodynamic_get_dynamic_symtab_upper_bound _bfd_n1
00426 #define _bfd_nodynamic_canonicalize_dynamic_symtab \
00427   ((long (*) (bfd *, asymbol **)) _bfd_n1)
00428 #define _bfd_nodynamic_get_synthetic_symtab \
00429   ((long (*) (bfd *, long, asymbol **, long, asymbol **, asymbol **)) _bfd_n1)
00430 #define _bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_n1
00431 #define _bfd_nodynamic_canonicalize_dynamic_reloc \
00432   ((long (*) (bfd *, arelent **, asymbol **)) _bfd_n1)
00433 
00434 /* Generic routine to determine of the given symbol is a local
00435    label.  */
00436 extern bfd_boolean bfd_generic_is_local_label_name
00437   (bfd *, const char *);
00438 
00439 /* Generic minisymbol routines.  */
00440 extern long _bfd_generic_read_minisymbols
00441   (bfd *, bfd_boolean, void **, unsigned int *);
00442 extern asymbol *_bfd_generic_minisymbol_to_symbol
00443   (bfd *, bfd_boolean, const void *, asymbol *);
00444 
00445 /* Find the nearest line using .stab/.stabstr sections.  */
00446 extern bfd_boolean _bfd_stab_section_find_nearest_line
00447   (bfd *, asymbol **, asection *, bfd_vma, bfd_boolean *,
00448    const char **, const char **, unsigned int *, void **);
00449 
00450 /* Find the nearest line using DWARF 1 debugging information.  */
00451 extern bfd_boolean _bfd_dwarf1_find_nearest_line
00452   (bfd *, asection *, asymbol **, bfd_vma, const char **,
00453    const char **, unsigned int *);
00454 
00455 /* Find the nearest line using DWARF 2 debugging information.  */
00456 extern bfd_boolean _bfd_dwarf2_find_nearest_line
00457   (bfd *, asection *, asymbol **, bfd_vma, const char **, const char **,
00458    unsigned int *, unsigned int, void **);
00459 
00460 /* Find the line using DWARF 2 debugging information.  */
00461 extern bfd_boolean _bfd_dwarf2_find_line
00462   (bfd *, asymbol **, asymbol *, const char **,
00463    unsigned int *, unsigned int, void **);
00464 
00465 bfd_boolean _bfd_generic_find_line
00466   (bfd *, asymbol **, asymbol *, const char **, unsigned int *);
00467 
00468 /* Find inliner info after calling bfd_find_nearest_line. */
00469 extern bfd_boolean _bfd_dwarf2_find_inliner_info
00470   (bfd *, const char **, const char **, unsigned int *, void **);
00471   
00472 /* Create a new section entry.  */
00473 extern struct bfd_hash_entry *bfd_section_hash_newfunc
00474   (struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
00475 
00476 /* A routine to create entries for a bfd_link_hash_table.  */
00477 extern struct bfd_hash_entry *_bfd_link_hash_newfunc
00478   (struct bfd_hash_entry *entry, struct bfd_hash_table *table,
00479    const char *string);
00480 
00481 /* Initialize a bfd_link_hash_table.  */
00482 extern bfd_boolean _bfd_link_hash_table_init
00483   (struct bfd_link_hash_table *, bfd *,
00484    struct bfd_hash_entry *(*) (struct bfd_hash_entry *,
00485                             struct bfd_hash_table *,
00486                             const char *),
00487    unsigned int);
00488 
00489 /* Generic link hash table creation routine.  */
00490 extern struct bfd_link_hash_table *_bfd_generic_link_hash_table_create
00491   (bfd *);
00492 
00493 /* Generic link hash table destruction routine.  */
00494 extern void _bfd_generic_link_hash_table_free
00495   (struct bfd_link_hash_table *);
00496 
00497 /* Generic add symbol routine.  */
00498 extern bfd_boolean _bfd_generic_link_add_symbols
00499   (bfd *, struct bfd_link_info *);
00500 
00501 /* Generic add symbol routine.  This version is used by targets for
00502    which the linker must collect constructors and destructors by name,
00503    as the collect2 program does.  */
00504 extern bfd_boolean _bfd_generic_link_add_symbols_collect
00505   (bfd *, struct bfd_link_info *);
00506 
00507 /* Generic archive add symbol routine.  */
00508 extern bfd_boolean _bfd_generic_link_add_archive_symbols
00509   (bfd *, struct bfd_link_info *,
00510    bfd_boolean (*) (bfd *, struct bfd_link_info *, bfd_boolean *));
00511 
00512 /* Forward declaration to avoid prototype errors.  */
00513 typedef struct bfd_link_hash_entry _bfd_link_hash_entry;
00514 
00515 /* Generic routine to add a single symbol.  */
00516 extern bfd_boolean _bfd_generic_link_add_one_symbol
00517   (struct bfd_link_info *, bfd *, const char *name, flagword,
00518    asection *, bfd_vma, const char *, bfd_boolean copy,
00519    bfd_boolean constructor, struct bfd_link_hash_entry **);
00520 
00521 /* Generic routine to mark section as supplying symbols only.  */
00522 extern void _bfd_generic_link_just_syms
00523   (asection *, struct bfd_link_info *);
00524 
00525 /* Generic link routine.  */
00526 extern bfd_boolean _bfd_generic_final_link
00527   (bfd *, struct bfd_link_info *);
00528 
00529 extern bfd_boolean _bfd_generic_link_split_section
00530   (bfd *, struct bfd_section *);
00531 
00532 extern void _bfd_generic_section_already_linked
00533   (bfd *, struct bfd_section *, struct bfd_link_info *);
00534 
00535 /* Generic reloc_link_order processing routine.  */
00536 extern bfd_boolean _bfd_generic_reloc_link_order
00537   (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *);
00538 
00539 /* Default link order processing routine.  */
00540 extern bfd_boolean _bfd_default_link_order
00541   (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *);
00542 
00543 /* Count the number of reloc entries in a link order list.  */
00544 extern unsigned int _bfd_count_link_order_relocs
00545   (struct bfd_link_order *);
00546 
00547 /* Final link relocation routine.  */
00548 extern bfd_reloc_status_type _bfd_final_link_relocate
00549   (reloc_howto_type *, bfd *, asection *, bfd_byte *,
00550    bfd_vma, bfd_vma, bfd_vma);
00551 
00552 /* Relocate a particular location by a howto and a value.  */
00553 extern bfd_reloc_status_type _bfd_relocate_contents
00554   (reloc_howto_type *, bfd *, bfd_vma, bfd_byte *);
00555 
00556 /* Clear a given location using a given howto.  */
00557 extern void _bfd_clear_contents (reloc_howto_type *howto, bfd *input_bfd,
00558                              bfd_byte *location);
00559 
00560 /* Link stabs in sections in the first pass.  */
00561 
00562 extern bfd_boolean _bfd_link_section_stabs
00563   (bfd *, struct stab_info *, asection *, asection *, void **,
00564    bfd_size_type *);
00565 
00566 /* Eliminate stabs for discarded functions and symbols.  */
00567 extern bfd_boolean _bfd_discard_section_stabs
00568   (bfd *, asection *, void *, bfd_boolean (*) (bfd_vma, void *), void *);
00569 
00570 /* Write out the .stab section when linking stabs in sections.  */
00571 
00572 extern bfd_boolean _bfd_write_section_stabs
00573   (bfd *, struct stab_info *, asection *, void **, bfd_byte *);
00574 
00575 /* Write out the .stabstr string table when linking stabs in sections.  */
00576 
00577 extern bfd_boolean _bfd_write_stab_strings
00578   (bfd *, struct stab_info *);
00579 
00580 /* Find an offset within a .stab section when linking stabs in
00581    sections.  */
00582 
00583 extern bfd_vma _bfd_stab_section_offset
00584   (asection *, void *, bfd_vma);
00585 
00586 /* Register a SEC_MERGE section as a candidate for merging.  */
00587 
00588 extern bfd_boolean _bfd_add_merge_section
00589   (bfd *, void **, asection *, void **);
00590 
00591 /* Attempt to merge SEC_MERGE sections.  */
00592 
00593 extern bfd_boolean _bfd_merge_sections
00594   (bfd *, struct bfd_link_info *, void *, void (*) (bfd *, asection *));
00595 
00596 /* Write out a merged section.  */
00597 
00598 extern bfd_boolean _bfd_write_merged_section
00599   (bfd *, asection *, void *);
00600 
00601 /* Find an offset within a modified SEC_MERGE section.  */
00602 
00603 extern bfd_vma _bfd_merged_section_offset
00604   (bfd *, asection **, void *, bfd_vma);
00605 
00606 /* Create a string table.  */
00607 extern struct bfd_strtab_hash *_bfd_stringtab_init
00608   (void);
00609 
00610 /* Create an XCOFF .debug section style string table.  */
00611 extern struct bfd_strtab_hash *_bfd_xcoff_stringtab_init
00612   (void);
00613 
00614 /* Free a string table.  */
00615 extern void _bfd_stringtab_free
00616   (struct bfd_strtab_hash *);
00617 
00618 /* Get the size of a string table.  */
00619 extern bfd_size_type _bfd_stringtab_size
00620   (struct bfd_strtab_hash *);
00621 
00622 /* Add a string to a string table.  */
00623 extern bfd_size_type _bfd_stringtab_add
00624   (struct bfd_strtab_hash *, const char *, bfd_boolean hash, bfd_boolean copy);
00625 
00626 /* Write out a string table.  */
00627 extern bfd_boolean _bfd_stringtab_emit
00628   (bfd *, struct bfd_strtab_hash *);
00629 
00630 /* Check that endianness of input and output file match.  */
00631 extern bfd_boolean _bfd_generic_verify_endian_match
00632   (bfd *, bfd *);
00633 
00634 /* Macros to tell if bfds are read or write enabled.
00635 
00636    Note that bfds open for read may be scribbled into if the fd passed
00637    to bfd_fdopenr is actually open both for read and write
00638    simultaneously.  However an output bfd will never be open for
00639    read.  Therefore sometimes you want to check bfd_read_p or
00640    !bfd_read_p, and only sometimes bfd_write_p.
00641 */
00642 
00643 #define       bfd_read_p(abfd) \
00644   ((abfd)->direction == read_direction || (abfd)->direction == both_direction)
00645 #define       bfd_write_p(abfd) \
00646   ((abfd)->direction == write_direction || (abfd)->direction == both_direction)
00647 
00648 void bfd_assert
00649   (const char*,int);
00650 
00651 #define BFD_ASSERT(x) \
00652   do { if (!(x)) bfd_assert(__FILE__,__LINE__); } while (0)
00653 
00654 #define BFD_FAIL() \
00655   do { bfd_assert(__FILE__,__LINE__); } while (0)
00656 
00657 extern void _bfd_abort
00658   (const char *, int, const char *) ATTRIBUTE_NORETURN;
00659 
00660 /* if gcc >= 2.6, we can give a function name, too */
00661 #if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6)
00662 #define __PRETTY_FUNCTION__  ((char *) NULL)
00663 #endif
00664 
00665 #undef abort
00666 #define abort() _bfd_abort (__FILE__, __LINE__, __PRETTY_FUNCTION__)
00667 
00668 /* Manipulate a system FILE but using BFD's "file_ptr", rather than
00669    the system "off_t" or "off64_t", as the offset.  */
00670 extern file_ptr real_ftell (FILE *file);
00671 extern int real_fseek (FILE *file, file_ptr offset, int whence);
00672 extern FILE *real_fopen (const char *filename, const char *modes);
00673 
00674 /* List of supported target vectors, and the default vector (if
00675    bfd_default_vector[0] is NULL, there is no default).  */
00676 extern const bfd_target * const *bfd_target_vector;
00677 extern const bfd_target *bfd_default_vector[];
00678 
00679 /* List of associated target vectors.  */
00680 extern const bfd_target * const *bfd_associated_vector;
00681 
00682 /* Functions shared by the ECOFF and MIPS ELF backends, which have no
00683    other common header files.  */
00684 
00685 #if defined(__STDC__) || defined(ALMOST_STDC)
00686 struct ecoff_find_line;
00687 #endif
00688 
00689 extern bfd_boolean _bfd_ecoff_locate_line
00690   (bfd *, asection *, bfd_vma, struct ecoff_debug_info * const,
00691    const struct ecoff_debug_swap * const, struct ecoff_find_line *,
00692    const char **, const char **, unsigned int *);
00693 extern bfd_boolean _bfd_ecoff_get_accumulated_pdr
00694   (void *, bfd_byte *);
00695 extern bfd_boolean _bfd_ecoff_get_accumulated_sym
00696   (void *, bfd_byte *);
00697 extern bfd_boolean _bfd_ecoff_get_accumulated_ss
00698   (void *, bfd_byte *);
00699 
00700 extern bfd_vma _bfd_get_gp_value
00701   (bfd *);
00702 extern void _bfd_set_gp_value
00703   (bfd *, bfd_vma);
00704 
00705 /* Function shared by the COFF and ELF SH backends, which have no
00706    other common header files.  */
00707 
00708 #ifndef _bfd_sh_align_load_span
00709 extern bfd_boolean _bfd_sh_align_load_span
00710   (bfd *, asection *, bfd_byte *,
00711    bfd_boolean (*) (bfd *, asection *, void *, bfd_byte *, bfd_vma),
00712    void *, bfd_vma **, bfd_vma *, bfd_vma, bfd_vma, bfd_boolean *);
00713 #endif
00714 
00715 /* This is the shape of the elements inside the already_linked hash
00716    table. It maps a name onto a list of already_linked elements with
00717    the same name.  */
00718 
00719 struct bfd_section_already_linked_hash_entry
00720 {
00721   struct bfd_hash_entry root;
00722   struct bfd_section_already_linked *entry;
00723 };
00724 
00725 struct bfd_section_already_linked
00726 {
00727   struct bfd_section_already_linked *next;
00728   asection *sec;
00729 };
00730 
00731 extern struct bfd_section_already_linked_hash_entry *
00732   bfd_section_already_linked_table_lookup (const char *);
00733 extern void bfd_section_already_linked_table_insert
00734   (struct bfd_section_already_linked_hash_entry *, asection *);
00735 extern void bfd_section_already_linked_table_traverse
00736   (bfd_boolean (*) (struct bfd_section_already_linked_hash_entry *,
00737                   void *), void *);
00738 
00739 extern bfd_vma read_unsigned_leb128 (bfd *, bfd_byte *, unsigned int *);
00740 extern bfd_signed_vma read_signed_leb128 (bfd *, bfd_byte *, unsigned int *);
00741 
00742 /* Extracted from init.c.  */
00743 /* Extracted from libbfd.c.  */
00744 bfd_boolean bfd_write_bigendian_4byte_int (bfd *, unsigned int);
00745 
00746 unsigned int bfd_log2 (bfd_vma x);
00747 
00748 /* Extracted from bfdio.c.  */
00749 struct bfd_iovec
00750 {
00751   /* To avoid problems with macros, a "b" rather than "f"
00752      prefix is prepended to each method name.  */
00753   /* Attempt to read/write NBYTES on ABFD's IOSTREAM storing/fetching
00754      bytes starting at PTR.  Return the number of bytes actually
00755      transfered (a read past end-of-file returns less than NBYTES),
00756      or -1 (setting <<bfd_error>>) if an error occurs.  */
00757   file_ptr (*bread) (struct bfd *abfd, void *ptr, file_ptr nbytes);
00758   file_ptr (*bwrite) (struct bfd *abfd, const void *ptr,
00759                       file_ptr nbytes);
00760   /* Return the current IOSTREAM file offset, or -1 (setting <<bfd_error>>
00761      if an error occurs.  */
00762   file_ptr (*btell) (struct bfd *abfd);
00763   /* For the following, on successful completion a value of 0 is returned.
00764      Otherwise, a value of -1 is returned (and  <<bfd_error>> is set).  */
00765   int (*bseek) (struct bfd *abfd, file_ptr offset, int whence);
00766   int (*bclose) (struct bfd *abfd);
00767   int (*bflush) (struct bfd *abfd);
00768   int (*bstat) (struct bfd *abfd, struct stat *sb);
00769 };
00770 /* Extracted from bfdwin.c.  */
00771 struct _bfd_window_internal {
00772   struct _bfd_window_internal *next;
00773   void *data;
00774   bfd_size_type size;
00775   int refcount : 31;           /* should be enough...  */
00776   unsigned mapped : 1;         /* 1 = mmap, 0 = malloc */
00777 };
00778 /* Extracted from cache.c.  */
00779 bfd_boolean bfd_cache_init (bfd *abfd);
00780 
00781 bfd_boolean bfd_cache_close (bfd *abfd);
00782 
00783 FILE* bfd_open_file (bfd *abfd);
00784 
00785 /* Extracted from reloc.c.  */
00786 #ifdef _BFD_MAKE_TABLE_bfd_reloc_code_real
00787 
00788 static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
00789 
00790   "BFD_RELOC_64",
00791   "BFD_RELOC_32",
00792   "BFD_RELOC_26",
00793   "BFD_RELOC_24",
00794   "BFD_RELOC_16",
00795   "BFD_RELOC_14",
00796   "BFD_RELOC_8",
00797   "BFD_RELOC_64_PCREL",
00798   "BFD_RELOC_32_PCREL",
00799   "BFD_RELOC_24_PCREL",
00800   "BFD_RELOC_16_PCREL",
00801   "BFD_RELOC_12_PCREL",
00802   "BFD_RELOC_8_PCREL",
00803   "BFD_RELOC_32_SECREL",
00804   "BFD_RELOC_32_GOT_PCREL",
00805   "BFD_RELOC_16_GOT_PCREL",
00806   "BFD_RELOC_8_GOT_PCREL",
00807   "BFD_RELOC_32_GOTOFF",
00808   "BFD_RELOC_16_GOTOFF",
00809   "BFD_RELOC_LO16_GOTOFF",
00810   "BFD_RELOC_HI16_GOTOFF",
00811   "BFD_RELOC_HI16_S_GOTOFF",
00812   "BFD_RELOC_8_GOTOFF",
00813   "BFD_RELOC_64_PLT_PCREL",
00814   "BFD_RELOC_32_PLT_PCREL",
00815   "BFD_RELOC_24_PLT_PCREL",
00816   "BFD_RELOC_16_PLT_PCREL",
00817   "BFD_RELOC_8_PLT_PCREL",
00818   "BFD_RELOC_64_PLTOFF",
00819   "BFD_RELOC_32_PLTOFF",
00820   "BFD_RELOC_16_PLTOFF",
00821   "BFD_RELOC_LO16_PLTOFF",
00822   "BFD_RELOC_HI16_PLTOFF",
00823   "BFD_RELOC_HI16_S_PLTOFF",
00824   "BFD_RELOC_8_PLTOFF",
00825   "BFD_RELOC_68K_GLOB_DAT",
00826   "BFD_RELOC_68K_JMP_SLOT",
00827   "BFD_RELOC_68K_RELATIVE",
00828   "BFD_RELOC_32_BASEREL",
00829   "BFD_RELOC_16_BASEREL",
00830   "BFD_RELOC_LO16_BASEREL",
00831   "BFD_RELOC_HI16_BASEREL",
00832   "BFD_RELOC_HI16_S_BASEREL",
00833   "BFD_RELOC_8_BASEREL",
00834   "BFD_RELOC_RVA",
00835   "BFD_RELOC_8_FFnn",
00836   "BFD_RELOC_32_PCREL_S2",
00837   "BFD_RELOC_16_PCREL_S2",
00838   "BFD_RELOC_23_PCREL_S2",
00839   "BFD_RELOC_HI22",
00840   "BFD_RELOC_LO10",
00841   "BFD_RELOC_GPREL16",
00842   "BFD_RELOC_GPREL32",
00843   "BFD_RELOC_I960_CALLJ",
00844   "BFD_RELOC_NONE",
00845   "BFD_RELOC_SPARC_WDISP22",
00846   "BFD_RELOC_SPARC22",
00847   "BFD_RELOC_SPARC13",
00848   "BFD_RELOC_SPARC_GOT10",
00849   "BFD_RELOC_SPARC_GOT13",
00850   "BFD_RELOC_SPARC_GOT22",
00851   "BFD_RELOC_SPARC_PC10",
00852   "BFD_RELOC_SPARC_PC22",
00853   "BFD_RELOC_SPARC_WPLT30",
00854   "BFD_RELOC_SPARC_COPY",
00855   "BFD_RELOC_SPARC_GLOB_DAT",
00856   "BFD_RELOC_SPARC_JMP_SLOT",
00857   "BFD_RELOC_SPARC_RELATIVE",
00858   "BFD_RELOC_SPARC_UA16",
00859   "BFD_RELOC_SPARC_UA32",
00860   "BFD_RELOC_SPARC_UA64",
00861   "BFD_RELOC_SPARC_BASE13",
00862   "BFD_RELOC_SPARC_BASE22",
00863   "BFD_RELOC_SPARC_10",
00864   "BFD_RELOC_SPARC_11",
00865   "BFD_RELOC_SPARC_OLO10",
00866   "BFD_RELOC_SPARC_HH22",
00867   "BFD_RELOC_SPARC_HM10",
00868   "BFD_RELOC_SPARC_LM22",
00869   "BFD_RELOC_SPARC_PC_HH22",
00870   "BFD_RELOC_SPARC_PC_HM10",
00871   "BFD_RELOC_SPARC_PC_LM22",
00872   "BFD_RELOC_SPARC_WDISP16",
00873   "BFD_RELOC_SPARC_WDISP19",
00874   "BFD_RELOC_SPARC_7",
00875   "BFD_RELOC_SPARC_6",
00876   "BFD_RELOC_SPARC_5",
00877   "BFD_RELOC_SPARC_PLT32",
00878   "BFD_RELOC_SPARC_PLT64",
00879   "BFD_RELOC_SPARC_HIX22",
00880   "BFD_RELOC_SPARC_LOX10",
00881   "BFD_RELOC_SPARC_H44",
00882   "BFD_RELOC_SPARC_M44",
00883   "BFD_RELOC_SPARC_L44",
00884   "BFD_RELOC_SPARC_REGISTER",
00885   "BFD_RELOC_SPARC_REV32",
00886   "BFD_RELOC_SPARC_TLS_GD_HI22",
00887   "BFD_RELOC_SPARC_TLS_GD_LO10",
00888   "BFD_RELOC_SPARC_TLS_GD_ADD",
00889   "BFD_RELOC_SPARC_TLS_GD_CALL",
00890   "BFD_RELOC_SPARC_TLS_LDM_HI22",
00891   "BFD_RELOC_SPARC_TLS_LDM_LO10",
00892   "BFD_RELOC_SPARC_TLS_LDM_ADD",
00893   "BFD_RELOC_SPARC_TLS_LDM_CALL",
00894   "BFD_RELOC_SPARC_TLS_LDO_HIX22",
00895   "BFD_RELOC_SPARC_TLS_LDO_LOX10",
00896   "BFD_RELOC_SPARC_TLS_LDO_ADD",
00897   "BFD_RELOC_SPARC_TLS_IE_HI22",
00898   "BFD_RELOC_SPARC_TLS_IE_LO10",
00899   "BFD_RELOC_SPARC_TLS_IE_LD",
00900   "BFD_RELOC_SPARC_TLS_IE_LDX",
00901   "BFD_RELOC_SPARC_TLS_IE_ADD",
00902   "BFD_RELOC_SPARC_TLS_LE_HIX22",
00903   "BFD_RELOC_SPARC_TLS_LE_LOX10",
00904   "BFD_RELOC_SPARC_TLS_DTPMOD32",
00905   "BFD_RELOC_SPARC_TLS_DTPMOD64",
00906   "BFD_RELOC_SPARC_TLS_DTPOFF32",
00907   "BFD_RELOC_SPARC_TLS_DTPOFF64",
00908   "BFD_RELOC_SPARC_TLS_TPOFF32",
00909   "BFD_RELOC_SPARC_TLS_TPOFF64",
00910   "BFD_RELOC_SPU_IMM7",
00911   "BFD_RELOC_SPU_IMM8",
00912   "BFD_RELOC_SPU_IMM10",
00913   "BFD_RELOC_SPU_IMM10W",
00914   "BFD_RELOC_SPU_IMM16",
00915   "BFD_RELOC_SPU_IMM16W",
00916   "BFD_RELOC_SPU_IMM18",
00917   "BFD_RELOC_SPU_PCREL9a",
00918   "BFD_RELOC_SPU_PCREL9b",
00919   "BFD_RELOC_SPU_PCREL16",
00920   "BFD_RELOC_SPU_LO16",
00921   "BFD_RELOC_SPU_HI16",
00922   "BFD_RELOC_ALPHA_GPDISP_HI16",
00923   "BFD_RELOC_ALPHA_GPDISP_LO16",
00924   "BFD_RELOC_ALPHA_GPDISP",
00925   "BFD_RELOC_ALPHA_LITERAL",
00926   "BFD_RELOC_ALPHA_ELF_LITERAL",
00927   "BFD_RELOC_ALPHA_LITUSE",
00928   "BFD_RELOC_ALPHA_HINT",
00929   "BFD_RELOC_ALPHA_LINKAGE",
00930   "BFD_RELOC_ALPHA_CODEADDR",
00931   "BFD_RELOC_ALPHA_GPREL_HI16",
00932   "BFD_RELOC_ALPHA_GPREL_LO16",
00933   "BFD_RELOC_ALPHA_BRSGP",
00934   "BFD_RELOC_ALPHA_TLSGD",
00935   "BFD_RELOC_ALPHA_TLSLDM",
00936   "BFD_RELOC_ALPHA_DTPMOD64",
00937   "BFD_RELOC_ALPHA_GOTDTPREL16",
00938   "BFD_RELOC_ALPHA_DTPREL64",
00939   "BFD_RELOC_ALPHA_DTPREL_HI16",
00940   "BFD_RELOC_ALPHA_DTPREL_LO16",
00941   "BFD_RELOC_ALPHA_DTPREL16",
00942   "BFD_RELOC_ALPHA_GOTTPREL16",
00943   "BFD_RELOC_ALPHA_TPREL64",
00944   "BFD_RELOC_ALPHA_TPREL_HI16",
00945   "BFD_RELOC_ALPHA_TPREL_LO16",
00946   "BFD_RELOC_ALPHA_TPREL16",
00947   "BFD_RELOC_MIPS_JMP",
00948   "BFD_RELOC_MIPS16_JMP",
00949   "BFD_RELOC_MIPS16_GPREL",
00950   "BFD_RELOC_HI16",
00951   "BFD_RELOC_HI16_S",
00952   "BFD_RELOC_LO16",
00953   "BFD_RELOC_HI16_PCREL",
00954   "BFD_RELOC_HI16_S_PCREL",
00955   "BFD_RELOC_LO16_PCREL",
00956   "BFD_RELOC_MIPS16_HI16",
00957   "BFD_RELOC_MIPS16_HI16_S",
00958   "BFD_RELOC_MIPS16_LO16",
00959   "BFD_RELOC_MIPS_LITERAL",
00960   "BFD_RELOC_MIPS_GOT16",
00961   "BFD_RELOC_MIPS_CALL16",
00962   "BFD_RELOC_MIPS_GOT_HI16",
00963   "BFD_RELOC_MIPS_GOT_LO16",
00964   "BFD_RELOC_MIPS_CALL_HI16",
00965   "BFD_RELOC_MIPS_CALL_LO16",
00966   "BFD_RELOC_MIPS_SUB",
00967   "BFD_RELOC_MIPS_GOT_PAGE",
00968   "BFD_RELOC_MIPS_GOT_OFST",
00969   "BFD_RELOC_MIPS_GOT_DISP",
00970   "BFD_RELOC_MIPS_SHIFT5",
00971   "BFD_RELOC_MIPS_SHIFT6",
00972   "BFD_RELOC_MIPS_INSERT_A",
00973   "BFD_RELOC_MIPS_INSERT_B",
00974   "BFD_RELOC_MIPS_DELETE",
00975   "BFD_RELOC_MIPS_HIGHEST",
00976   "BFD_RELOC_MIPS_HIGHER",
00977   "BFD_RELOC_MIPS_SCN_DISP",
00978   "BFD_RELOC_MIPS_REL16",
00979   "BFD_RELOC_MIPS_RELGOT",
00980   "BFD_RELOC_MIPS_JALR",
00981   "BFD_RELOC_MIPS_TLS_DTPMOD32",
00982   "BFD_RELOC_MIPS_TLS_DTPREL32",
00983   "BFD_RELOC_MIPS_TLS_DTPMOD64",
00984   "BFD_RELOC_MIPS_TLS_DTPREL64",
00985   "BFD_RELOC_MIPS_TLS_GD",
00986   "BFD_RELOC_MIPS_TLS_LDM",
00987   "BFD_RELOC_MIPS_TLS_DTPREL_HI16",
00988   "BFD_RELOC_MIPS_TLS_DTPREL_LO16",
00989   "BFD_RELOC_MIPS_TLS_GOTTPREL",
00990   "BFD_RELOC_MIPS_TLS_TPREL32",
00991   "BFD_RELOC_MIPS_TLS_TPREL64",
00992   "BFD_RELOC_MIPS_TLS_TPREL_HI16",
00993   "BFD_RELOC_MIPS_TLS_TPREL_LO16",
00994 
00995   "BFD_RELOC_MIPS_COPY",
00996   "BFD_RELOC_MIPS_JUMP_SLOT",
00997 
00998   "BFD_RELOC_FRV_LABEL16",
00999   "BFD_RELOC_FRV_LABEL24",
01000   "BFD_RELOC_FRV_LO16",
01001   "BFD_RELOC_FRV_HI16",
01002   "BFD_RELOC_FRV_GPREL12",
01003   "BFD_RELOC_FRV_GPRELU12",
01004   "BFD_RELOC_FRV_GPREL32",
01005   "BFD_RELOC_FRV_GPRELHI",
01006   "BFD_RELOC_FRV_GPRELLO",
01007   "BFD_RELOC_FRV_GOT12",
01008   "BFD_RELOC_FRV_GOTHI",
01009   "BFD_RELOC_FRV_GOTLO",
01010   "BFD_RELOC_FRV_FUNCDESC",
01011   "BFD_RELOC_FRV_FUNCDESC_GOT12",
01012   "BFD_RELOC_FRV_FUNCDESC_GOTHI",
01013   "BFD_RELOC_FRV_FUNCDESC_GOTLO",
01014   "BFD_RELOC_FRV_FUNCDESC_VALUE",
01015   "BFD_RELOC_FRV_FUNCDESC_GOTOFF12",
01016   "BFD_RELOC_FRV_FUNCDESC_GOTOFFHI",
01017   "BFD_RELOC_FRV_FUNCDESC_GOTOFFLO",
01018   "BFD_RELOC_FRV_GOTOFF12",
01019   "BFD_RELOC_FRV_GOTOFFHI",
01020   "BFD_RELOC_FRV_GOTOFFLO",
01021   "BFD_RELOC_FRV_GETTLSOFF",
01022   "BFD_RELOC_FRV_TLSDESC_VALUE",
01023   "BFD_RELOC_FRV_GOTTLSDESC12",
01024   "BFD_RELOC_FRV_GOTTLSDESCHI",
01025   "BFD_RELOC_FRV_GOTTLSDESCLO",
01026   "BFD_RELOC_FRV_TLSMOFF12",
01027   "BFD_RELOC_FRV_TLSMOFFHI",
01028   "BFD_RELOC_FRV_TLSMOFFLO",
01029   "BFD_RELOC_FRV_GOTTLSOFF12",
01030   "BFD_RELOC_FRV_GOTTLSOFFHI",
01031   "BFD_RELOC_FRV_GOTTLSOFFLO",
01032   "BFD_RELOC_FRV_TLSOFF",
01033   "BFD_RELOC_FRV_TLSDESC_RELAX",
01034   "BFD_RELOC_FRV_GETTLSOFF_RELAX",
01035   "BFD_RELOC_FRV_TLSOFF_RELAX",
01036   "BFD_RELOC_FRV_TLSMOFF",
01037 
01038   "BFD_RELOC_MN10300_GOTOFF24",
01039   "BFD_RELOC_MN10300_GOT32",
01040   "BFD_RELOC_MN10300_GOT24",
01041   "BFD_RELOC_MN10300_GOT16",
01042   "BFD_RELOC_MN10300_COPY",
01043   "BFD_RELOC_MN10300_GLOB_DAT",
01044   "BFD_RELOC_MN10300_JMP_SLOT",
01045   "BFD_RELOC_MN10300_RELATIVE",
01046 
01047   "BFD_RELOC_386_GOT32",
01048   "BFD_RELOC_386_PLT32",
01049   "BFD_RELOC_386_COPY",
01050   "BFD_RELOC_386_GLOB_DAT",
01051   "BFD_RELOC_386_JUMP_SLOT",
01052   "BFD_RELOC_386_RELATIVE",
01053   "BFD_RELOC_386_GOTOFF",
01054   "BFD_RELOC_386_GOTPC",
01055   "BFD_RELOC_386_TLS_TPOFF",
01056   "BFD_RELOC_386_TLS_IE",
01057   "BFD_RELOC_386_TLS_GOTIE",
01058   "BFD_RELOC_386_TLS_LE",
01059   "BFD_RELOC_386_TLS_GD",
01060   "BFD_RELOC_386_TLS_LDM",
01061   "BFD_RELOC_386_TLS_LDO_32",
01062   "BFD_RELOC_386_TLS_IE_32",
01063   "BFD_RELOC_386_TLS_LE_32",
01064   "BFD_RELOC_386_TLS_DTPMOD32",
01065   "BFD_RELOC_386_TLS_DTPOFF32",
01066   "BFD_RELOC_386_TLS_TPOFF32",
01067   "BFD_RELOC_386_TLS_GOTDESC",
01068   "BFD_RELOC_386_TLS_DESC_CALL",
01069   "BFD_RELOC_386_TLS_DESC",
01070   "BFD_RELOC_X86_64_GOT32",
01071   "BFD_RELOC_X86_64_PLT32",
01072   "BFD_RELOC_X86_64_COPY",
01073   "BFD_RELOC_X86_64_GLOB_DAT",
01074   "BFD_RELOC_X86_64_JUMP_SLOT",
01075   "BFD_RELOC_X86_64_RELATIVE",
01076   "BFD_RELOC_X86_64_GOTPCREL",
01077   "BFD_RELOC_X86_64_32S",
01078   "BFD_RELOC_X86_64_DTPMOD64",
01079   "BFD_RELOC_X86_64_DTPOFF64",
01080   "BFD_RELOC_X86_64_TPOFF64",
01081   "BFD_RELOC_X86_64_TLSGD",
01082   "BFD_RELOC_X86_64_TLSLD",
01083   "BFD_RELOC_X86_64_DTPOFF32",
01084   "BFD_RELOC_X86_64_GOTTPOFF",
01085   "BFD_RELOC_X86_64_TPOFF32",
01086   "BFD_RELOC_X86_64_GOTOFF64",
01087   "BFD_RELOC_X86_64_GOTPC32",
01088   "BFD_RELOC_X86_64_GOT64",
01089   "BFD_RELOC_X86_64_GOTPCREL64",
01090   "BFD_RELOC_X86_64_GOTPC64",
01091   "BFD_RELOC_X86_64_GOTPLT64",
01092   "BFD_RELOC_X86_64_PLTOFF64",
01093   "BFD_RELOC_X86_64_GOTPC32_TLSDESC",
01094   "BFD_RELOC_X86_64_TLSDESC_CALL",
01095   "BFD_RELOC_X86_64_TLSDESC",
01096   "BFD_RELOC_NS32K_IMM_8",
01097   "BFD_RELOC_NS32K_IMM_16",
01098   "BFD_RELOC_NS32K_IMM_32",
01099   "BFD_RELOC_NS32K_IMM_8_PCREL",
01100   "BFD_RELOC_NS32K_IMM_16_PCREL",
01101   "BFD_RELOC_NS32K_IMM_32_PCREL",
01102   "BFD_RELOC_NS32K_DISP_8",
01103   "BFD_RELOC_NS32K_DISP_16",
01104   "BFD_RELOC_NS32K_DISP_32",
01105   "BFD_RELOC_NS32K_DISP_8_PCREL",
01106   "BFD_RELOC_NS32K_DISP_16_PCREL",
01107   "BFD_RELOC_NS32K_DISP_32_PCREL",
01108   "BFD_RELOC_PDP11_DISP_8_PCREL",
01109   "BFD_RELOC_PDP11_DISP_6_PCREL",
01110   "BFD_RELOC_PJ_CODE_HI16",
01111   "BFD_RELOC_PJ_CODE_LO16",
01112   "BFD_RELOC_PJ_CODE_DIR16",
01113   "BFD_RELOC_PJ_CODE_DIR32",
01114   "BFD_RELOC_PJ_CODE_REL16",
01115   "BFD_RELOC_PJ_CODE_REL32",
01116   "BFD_RELOC_PPC_B26",
01117   "BFD_RELOC_PPC_BA26",
01118   "BFD_RELOC_PPC_TOC16",
01119   "BFD_RELOC_PPC_B16",
01120   "BFD_RELOC_PPC_B16_BRTAKEN",
01121   "BFD_RELOC_PPC_B16_BRNTAKEN",
01122   "BFD_RELOC_PPC_BA16",
01123   "BFD_RELOC_PPC_BA16_BRTAKEN",
01124   "BFD_RELOC_PPC_BA16_BRNTAKEN",
01125   "BFD_RELOC_PPC_COPY",
01126   "BFD_RELOC_PPC_GLOB_DAT",
01127   "BFD_RELOC_PPC_JMP_SLOT",
01128   "BFD_RELOC_PPC_RELATIVE",
01129   "BFD_RELOC_PPC_LOCAL24PC",
01130   "BFD_RELOC_PPC_EMB_NADDR32",
01131   "BFD_RELOC_PPC_EMB_NADDR16",
01132   "BFD_RELOC_PPC_EMB_NADDR16_LO",
01133   "BFD_RELOC_PPC_EMB_NADDR16_HI",
01134   "BFD_RELOC_PPC_EMB_NADDR16_HA",
01135   "BFD_RELOC_PPC_EMB_SDAI16",
01136   "BFD_RELOC_PPC_EMB_SDA2I16",
01137   "BFD_RELOC_PPC_EMB_SDA2REL",
01138   "BFD_RELOC_PPC_EMB_SDA21",
01139   "BFD_RELOC_PPC_EMB_MRKREF",
01140   "BFD_RELOC_PPC_EMB_RELSEC16",
01141   "BFD_RELOC_PPC_EMB_RELST_LO",
01142   "BFD_RELOC_PPC_EMB_RELST_HI",
01143   "BFD_RELOC_PPC_EMB_RELST_HA",
01144   "BFD_RELOC_PPC_EMB_BIT_FLD",
01145   "BFD_RELOC_PPC_EMB_RELSDA",
01146   "BFD_RELOC_PPC64_HIGHER",
01147   "BFD_RELOC_PPC64_HIGHER_S",
01148   "BFD_RELOC_PPC64_HIGHEST",
01149   "BFD_RELOC_PPC64_HIGHEST_S",
01150   "BFD_RELOC_PPC64_TOC16_LO",
01151   "BFD_RELOC_PPC64_TOC16_HI",
01152   "BFD_RELOC_PPC64_TOC16_HA",
01153   "BFD_RELOC_PPC64_TOC",
01154   "BFD_RELOC_PPC64_PLTGOT16",
01155   "BFD_RELOC_PPC64_PLTGOT16_LO",
01156   "BFD_RELOC_PPC64_PLTGOT16_HI",
01157   "BFD_RELOC_PPC64_PLTGOT16_HA",
01158   "BFD_RELOC_PPC64_ADDR16_DS",
01159   "BFD_RELOC_PPC64_ADDR16_LO_DS",
01160   "BFD_RELOC_PPC64_GOT16_DS",
01161   "BFD_RELOC_PPC64_GOT16_LO_DS",
01162   "BFD_RELOC_PPC64_PLT16_LO_DS",
01163   "BFD_RELOC_PPC64_SECTOFF_DS",
01164   "BFD_RELOC_PPC64_SECTOFF_LO_DS",
01165   "BFD_RELOC_PPC64_TOC16_DS",
01166   "BFD_RELOC_PPC64_TOC16_LO_DS",
01167   "BFD_RELOC_PPC64_PLTGOT16_DS",
01168   "BFD_RELOC_PPC64_PLTGOT16_LO_DS",
01169   "BFD_RELOC_PPC_TLS",
01170   "BFD_RELOC_PPC_DTPMOD",
01171   "BFD_RELOC_PPC_TPREL16",
01172   "BFD_RELOC_PPC_TPREL16_LO",
01173   "BFD_RELOC_PPC_TPREL16_HI",
01174   "BFD_RELOC_PPC_TPREL16_HA",
01175   "BFD_RELOC_PPC_TPREL",
01176   "BFD_RELOC_PPC_DTPREL16",
01177   "BFD_RELOC_PPC_DTPREL16_LO",
01178   "BFD_RELOC_PPC_DTPREL16_HI",
01179   "BFD_RELOC_PPC_DTPREL16_HA",
01180   "BFD_RELOC_PPC_DTPREL",
01181   "BFD_RELOC_PPC_GOT_TLSGD16",
01182   "BFD_RELOC_PPC_GOT_TLSGD16_LO",
01183   "BFD_RELOC_PPC_GOT_TLSGD16_HI",
01184   "BFD_RELOC_PPC_GOT_TLSGD16_HA",
01185   "BFD_RELOC_PPC_GOT_TLSLD16",
01186   "BFD_RELOC_PPC_GOT_TLSLD16_LO",
01187   "BFD_RELOC_PPC_GOT_TLSLD16_HI",
01188   "BFD_RELOC_PPC_GOT_TLSLD16_HA",
01189   "BFD_RELOC_PPC_GOT_TPREL16",
01190   "BFD_RELOC_PPC_GOT_TPREL16_LO",
01191   "BFD_RELOC_PPC_GOT_TPREL16_HI",
01192   "BFD_RELOC_PPC_GOT_TPREL16_HA",
01193   "BFD_RELOC_PPC_GOT_DTPREL16",
01194   "BFD_RELOC_PPC_GOT_DTPREL16_LO",
01195   "BFD_RELOC_PPC_GOT_DTPREL16_HI",
01196   "BFD_RELOC_PPC_GOT_DTPREL16_HA",
01197   "BFD_RELOC_PPC64_TPREL16_DS",
01198   "BFD_RELOC_PPC64_TPREL16_LO_DS",
01199   "BFD_RELOC_PPC64_TPREL16_HIGHER",
01200   "BFD_RELOC_PPC64_TPREL16_HIGHERA",
01201   "BFD_RELOC_PPC64_TPREL16_HIGHEST",
01202   "BFD_RELOC_PPC64_TPREL16_HIGHESTA",
01203   "BFD_RELOC_PPC64_DTPREL16_DS",
01204   "BFD_RELOC_PPC64_DTPREL16_LO_DS",
01205   "BFD_RELOC_PPC64_DTPREL16_HIGHER",
01206   "BFD_RELOC_PPC64_DTPREL16_HIGHERA",
01207   "BFD_RELOC_PPC64_DTPREL16_HIGHEST",
01208   "BFD_RELOC_PPC64_DTPREL16_HIGHESTA",
01209   "BFD_RELOC_I370_D12",
01210   "BFD_RELOC_CTOR",
01211   "BFD_RELOC_ARM_PCREL_BRANCH",
01212   "BFD_RELOC_ARM_PCREL_BLX",
01213   "BFD_RELOC_THUMB_PCREL_BLX",
01214   "BFD_RELOC_ARM_PCREL_CALL",
01215   "BFD_RELOC_ARM_PCREL_JUMP",
01216   "BFD_RELOC_THUMB_PCREL_BRANCH7",
01217   "BFD_RELOC_THUMB_PCREL_BRANCH9",
01218   "BFD_RELOC_THUMB_PCREL_BRANCH12",
01219   "BFD_RELOC_THUMB_PCREL_BRANCH20",
01220   "BFD_RELOC_THUMB_PCREL_BRANCH23",
01221   "BFD_RELOC_THUMB_PCREL_BRANCH25",
01222   "BFD_RELOC_ARM_OFFSET_IMM",
01223   "BFD_RELOC_ARM_THUMB_OFFSET",
01224   "BFD_RELOC_ARM_TARGET1",
01225   "BFD_RELOC_ARM_ROSEGREL32",
01226   "BFD_RELOC_ARM_SBREL32",
01227   "BFD_RELOC_ARM_TARGET2",
01228   "BFD_RELOC_ARM_PREL31",
01229   "BFD_RELOC_ARM_MOVW",
01230   "BFD_RELOC_ARM_MOVT",
01231   "BFD_RELOC_ARM_MOVW_PCREL",
01232   "BFD_RELOC_ARM_MOVT_PCREL",
01233   "BFD_RELOC_ARM_THUMB_MOVW",
01234   "BFD_RELOC_ARM_THUMB_MOVT",
01235   "BFD_RELOC_ARM_THUMB_MOVW_PCREL",
01236   "BFD_RELOC_ARM_THUMB_MOVT_PCREL",
01237   "BFD_RELOC_ARM_JUMP_SLOT",
01238   "BFD_RELOC_ARM_GLOB_DAT",
01239   "BFD_RELOC_ARM_GOT32",
01240   "BFD_RELOC_ARM_PLT32",
01241   "BFD_RELOC_ARM_RELATIVE",
01242   "BFD_RELOC_ARM_GOTOFF",
01243   "BFD_RELOC_ARM_GOTPC",
01244   "BFD_RELOC_ARM_TLS_GD32",
01245   "BFD_RELOC_ARM_TLS_LDO32",
01246   "BFD_RELOC_ARM_TLS_LDM32",
01247   "BFD_RELOC_ARM_TLS_DTPOFF32",
01248   "BFD_RELOC_ARM_TLS_DTPMOD32",
01249   "BFD_RELOC_ARM_TLS_TPOFF32",
01250   "BFD_RELOC_ARM_TLS_IE32",
01251   "BFD_RELOC_ARM_TLS_LE32",
01252   "BFD_RELOC_ARM_ALU_PC_G0_NC",
01253   "BFD_RELOC_ARM_ALU_PC_G0",
01254   "BFD_RELOC_ARM_ALU_PC_G1_NC",
01255   "BFD_RELOC_ARM_ALU_PC_G1",
01256   "BFD_RELOC_ARM_ALU_PC_G2",
01257   "BFD_RELOC_ARM_LDR_PC_G0",
01258   "BFD_RELOC_ARM_LDR_PC_G1",
01259   "BFD_RELOC_ARM_LDR_PC_G2",
01260   "BFD_RELOC_ARM_LDRS_PC_G0",
01261   "BFD_RELOC_ARM_LDRS_PC_G1",
01262   "BFD_RELOC_ARM_LDRS_PC_G2",
01263   "BFD_RELOC_ARM_LDC_PC_G0",
01264   "BFD_RELOC_ARM_LDC_PC_G1",
01265   "BFD_RELOC_ARM_LDC_PC_G2",
01266   "BFD_RELOC_ARM_ALU_SB_G0_NC",
01267   "BFD_RELOC_ARM_ALU_SB_G0",
01268   "BFD_RELOC_ARM_ALU_SB_G1_NC",
01269   "BFD_RELOC_ARM_ALU_SB_G1",
01270   "BFD_RELOC_ARM_ALU_SB_G2",
01271   "BFD_RELOC_ARM_LDR_SB_G0",
01272   "BFD_RELOC_ARM_LDR_SB_G1",
01273   "BFD_RELOC_ARM_LDR_SB_G2",
01274   "BFD_RELOC_ARM_LDRS_SB_G0",
01275   "BFD_RELOC_ARM_LDRS_SB_G1",
01276   "BFD_RELOC_ARM_LDRS_SB_G2",
01277   "BFD_RELOC_ARM_LDC_SB_G0",
01278   "BFD_RELOC_ARM_LDC_SB_G1",
01279   "BFD_RELOC_ARM_LDC_SB_G2",
01280   "BFD_RELOC_ARM_IMMEDIATE",
01281   "BFD_RELOC_ARM_ADRL_IMMEDIATE",
01282   "BFD_RELOC_ARM_T32_IMMEDIATE",
01283   "BFD_RELOC_ARM_T32_ADD_IMM",
01284   "BFD_RELOC_ARM_T32_IMM12",
01285   "BFD_RELOC_ARM_T32_ADD_PC12",
01286   "BFD_RELOC_ARM_SHIFT_IMM",
01287   "BFD_RELOC_ARM_SMC",
01288   "BFD_RELOC_ARM_SWI",
01289   "BFD_RELOC_ARM_MULTI",
01290   "BFD_RELOC_ARM_CP_OFF_IMM",
01291   "BFD_RELOC_ARM_CP_OFF_IMM_S2",
01292   "BFD_RELOC_ARM_T32_CP_OFF_IMM",
01293   "BFD_RELOC_ARM_T32_CP_OFF_IMM_S2",
01294   "BFD_RELOC_ARM_ADR_IMM",
01295   "BFD_RELOC_ARM_LDR_IMM",
01296   "BFD_RELOC_ARM_LITERAL",
01297   "BFD_RELOC_ARM_IN_POOL",
01298   "BFD_RELOC_ARM_OFFSET_IMM8",
01299   "BFD_RELOC_ARM_T32_OFFSET_U8",
01300   "BFD_RELOC_ARM_T32_OFFSET_IMM",
01301   "BFD_RELOC_ARM_HWLITERAL",
01302   "BFD_RELOC_ARM_THUMB_ADD",
01303   "BFD_RELOC_ARM_THUMB_IMM",
01304   "BFD_RELOC_ARM_THUMB_SHIFT",
01305   "BFD_RELOC_SH_PCDISP8BY2",
01306   "BFD_RELOC_SH_PCDISP12BY2",
01307   "BFD_RELOC_SH_IMM3",
01308   "BFD_RELOC_SH_IMM3U",
01309   "BFD_RELOC_SH_DISP12",
01310   "BFD_RELOC_SH_DISP12BY2",
01311   "BFD_RELOC_SH_DISP12BY4",
01312   "BFD_RELOC_SH_DISP12BY8",
01313   "BFD_RELOC_SH_DISP20",
01314   "BFD_RELOC_SH_DISP20BY8",
01315   "BFD_RELOC_SH_IMM4",
01316   "BFD_RELOC_SH_IMM4BY2",
01317   "BFD_RELOC_SH_IMM4BY4",
01318   "BFD_RELOC_SH_IMM8",
01319   "BFD_RELOC_SH_IMM8BY2",
01320   "BFD_RELOC_SH_IMM8BY4",
01321   "BFD_RELOC_SH_PCRELIMM8BY2",
01322   "BFD_RELOC_SH_PCRELIMM8BY4",
01323   "BFD_RELOC_SH_SWITCH16",
01324   "BFD_RELOC_SH_SWITCH32",
01325   "BFD_RELOC_SH_USES",
01326   "BFD_RELOC_SH_COUNT",
01327   "BFD_RELOC_SH_ALIGN",
01328   "BFD_RELOC_SH_CODE",
01329   "BFD_RELOC_SH_DATA",
01330   "BFD_RELOC_SH_LABEL",
01331   "BFD_RELOC_SH_LOOP_START",
01332   "BFD_RELOC_SH_LOOP_END",
01333   "BFD_RELOC_SH_COPY",
01334   "BFD_RELOC_SH_GLOB_DAT",
01335   "BFD_RELOC_SH_JMP_SLOT",
01336   "BFD_RELOC_SH_RELATIVE",
01337   "BFD_RELOC_SH_GOTPC",
01338   "BFD_RELOC_SH_GOT_LOW16",
01339   "BFD_RELOC_SH_GOT_MEDLOW16",
01340   "BFD_RELOC_SH_GOT_MEDHI16",
01341   "BFD_RELOC_SH_GOT_HI16",
01342   "BFD_RELOC_SH_GOTPLT_LOW16",
01343   "BFD_RELOC_SH_GOTPLT_MEDLOW16",
01344   "BFD_RELOC_SH_GOTPLT_MEDHI16",
01345   "BFD_RELOC_SH_GOTPLT_HI16",
01346   "BFD_RELOC_SH_PLT_LOW16",
01347   "BFD_RELOC_SH_PLT_MEDLOW16",
01348   "BFD_RELOC_SH_PLT_MEDHI16",
01349   "BFD_RELOC_SH_PLT_HI16",
01350   "BFD_RELOC_SH_GOTOFF_LOW16",
01351   "BFD_RELOC_SH_GOTOFF_MEDLOW16",
01352   "BFD_RELOC_SH_GOTOFF_MEDHI16",
01353   "BFD_RELOC_SH_GOTOFF_HI16",
01354   "BFD_RELOC_SH_GOTPC_LOW16",
01355   "BFD_RELOC_SH_GOTPC_MEDLOW16",
01356   "BFD_RELOC_SH_GOTPC_MEDHI16",
01357   "BFD_RELOC_SH_GOTPC_HI16",
01358   "BFD_RELOC_SH_COPY64",
01359   "BFD_RELOC_SH_GLOB_DAT64",
01360   "BFD_RELOC_SH_JMP_SLOT64",
01361   "BFD_RELOC_SH_RELATIVE64",
01362   "BFD_RELOC_SH_GOT10BY4",
01363   "BFD_RELOC_SH_GOT10BY8",
01364   "BFD_RELOC_SH_GOTPLT10BY4",
01365   "BFD_RELOC_SH_GOTPLT10BY8",
01366   "BFD_RELOC_SH_GOTPLT32",
01367   "BFD_RELOC_SH_SHMEDIA_CODE",
01368   "BFD_RELOC_SH_IMMU5",
01369   "BFD_RELOC_SH_IMMS6",
01370   "BFD_RELOC_SH_IMMS6BY32",
01371   "BFD_RELOC_SH_IMMU6",
01372   "BFD_RELOC_SH_IMMS10",
01373   "BFD_RELOC_SH_IMMS10BY2",
01374   "BFD_RELOC_SH_IMMS10BY4",
01375   "BFD_RELOC_SH_IMMS10BY8",
01376   "BFD_RELOC_SH_IMMS16",
01377   "BFD_RELOC_SH_IMMU16",
01378   "BFD_RELOC_SH_IMM_LOW16",
01379   "BFD_RELOC_SH_IMM_LOW16_PCREL",
01380   "BFD_RELOC_SH_IMM_MEDLOW16",
01381   "BFD_RELOC_SH_IMM_MEDLOW16_PCREL",
01382   "BFD_RELOC_SH_IMM_MEDHI16",
01383   "BFD_RELOC_SH_IMM_MEDHI16_PCREL",
01384   "BFD_RELOC_SH_IMM_HI16",
01385   "BFD_RELOC_SH_IMM_HI16_PCREL",
01386   "BFD_RELOC_SH_PT_16",
01387   "BFD_RELOC_SH_TLS_GD_32",
01388   "BFD_RELOC_SH_TLS_LD_32",
01389   "BFD_RELOC_SH_TLS_LDO_32",
01390   "BFD_RELOC_SH_TLS_IE_32",
01391   "BFD_RELOC_SH_TLS_LE_32",
01392   "BFD_RELOC_SH_TLS_DTPMOD32",
01393   "BFD_RELOC_SH_TLS_DTPOFF32",
01394   "BFD_RELOC_SH_TLS_TPOFF32",
01395   "BFD_RELOC_ARC_B22_PCREL",
01396   "BFD_RELOC_ARC_B26",
01397   "BFD_RELOC_BFIN_16_IMM",
01398   "BFD_RELOC_BFIN_16_HIGH",
01399   "BFD_RELOC_BFIN_4_PCREL",
01400   "BFD_RELOC_BFIN_5_PCREL",
01401   "BFD_RELOC_BFIN_16_LOW",
01402   "BFD_RELOC_BFIN_10_PCREL",
01403   "BFD_RELOC_BFIN_11_PCREL",
01404   "BFD_RELOC_BFIN_12_PCREL_JUMP",
01405   "BFD_RELOC_BFIN_12_PCREL_JUMP_S",
01406   "BFD_RELOC_BFIN_24_PCREL_CALL_X",
01407   "BFD_RELOC_BFIN_24_PCREL_JUMP_L",
01408   "BFD_RELOC_BFIN_GOT17M4",
01409   "BFD_RELOC_BFIN_GOTHI",
01410   "BFD_RELOC_BFIN_GOTLO",
01411   "BFD_RELOC_BFIN_FUNCDESC",
01412   "BFD_RELOC_BFIN_FUNCDESC_GOT17M4",
01413   "BFD_RELOC_BFIN_FUNCDESC_GOTHI",
01414   "BFD_RELOC_BFIN_FUNCDESC_GOTLO",
01415   "BFD_RELOC_BFIN_FUNCDESC_VALUE",
01416   "BFD_RELOC_BFIN_FUNCDESC_GOTOFF17M4",
01417   "BFD_RELOC_BFIN_FUNCDESC_GOTOFFHI",
01418   "BFD_RELOC_BFIN_FUNCDESC_GOTOFFLO",
01419   "BFD_RELOC_BFIN_GOTOFF17M4",
01420   "BFD_RELOC_BFIN_GOTOFFHI",
01421   "BFD_RELOC_BFIN_GOTOFFLO",
01422   "BFD_RELOC_BFIN_GOT",
01423   "BFD_RELOC_BFIN_PLTPC",
01424   "BFD_ARELOC_BFIN_PUSH",
01425   "BFD_ARELOC_BFIN_CONST",
01426   "BFD_ARELOC_BFIN_ADD",
01427   "BFD_ARELOC_BFIN_SUB",
01428   "BFD_ARELOC_BFIN_MULT",
01429   "BFD_ARELOC_BFIN_DIV",
01430   "BFD_ARELOC_BFIN_MOD",
01431   "BFD_ARELOC_BFIN_LSHIFT",
01432   "BFD_ARELOC_BFIN_RSHIFT",
01433   "BFD_ARELOC_BFIN_AND",
01434   "BFD_ARELOC_BFIN_OR",
01435   "BFD_ARELOC_BFIN_XOR",
01436   "BFD_ARELOC_BFIN_LAND",
01437   "BFD_ARELOC_BFIN_LOR",
01438   "BFD_ARELOC_BFIN_LEN",
01439   "BFD_ARELOC_BFIN_NEG",
01440   "BFD_ARELOC_BFIN_COMP",
01441   "BFD_ARELOC_BFIN_PAGE",
01442   "BFD_ARELOC_BFIN_HWPAGE",
01443   "BFD_ARELOC_BFIN_ADDR",
01444   "BFD_RELOC_D10V_10_PCREL_R",
01445   "BFD_RELOC_D10V_10_PCREL_L",
01446   "BFD_RELOC_D10V_18",
01447   "BFD_RELOC_D10V_18_PCREL",
01448   "BFD_RELOC_D30V_6",
01449   "BFD_RELOC_D30V_9_PCREL",
01450   "BFD_RELOC_D30V_9_PCREL_R",
01451   "BFD_RELOC_D30V_15",
01452   "BFD_RELOC_D30V_15_PCREL",
01453   "BFD_RELOC_D30V_15_PCREL_R",
01454   "BFD_RELOC_D30V_21",
01455   "BFD_RELOC_D30V_21_PCREL",
01456   "BFD_RELOC_D30V_21_PCREL_R",
01457   "BFD_RELOC_D30V_32",
01458   "BFD_RELOC_D30V_32_PCREL",
01459   "BFD_RELOC_DLX_HI16_S",
01460   "BFD_RELOC_DLX_LO16",
01461   "BFD_RELOC_DLX_JMP26",
01462   "BFD_RELOC_M32C_HI8",
01463   "BFD_RELOC_M32C_RL_JUMP",
01464   "BFD_RELOC_M32C_RL_1ADDR",
01465   "BFD_RELOC_M32C_RL_2ADDR",
01466   "BFD_RELOC_M32R_24",
01467   "BFD_RELOC_M32R_10_PCREL",
01468   "BFD_RELOC_M32R_18_PCREL",
01469   "BFD_RELOC_M32R_26_PCREL",
01470   "BFD_RELOC_M32R_HI16_ULO",
01471   "BFD_RELOC_M32R_HI16_SLO",
01472   "BFD_RELOC_M32R_LO16",
01473   "BFD_RELOC_M32R_SDA16",
01474   "BFD_RELOC_M32R_GOT24",
01475   "BFD_RELOC_M32R_26_PLTREL",
01476   "BFD_RELOC_M32R_COPY",
01477   "BFD_RELOC_M32R_GLOB_DAT",
01478   "BFD_RELOC_M32R_JMP_SLOT",
01479   "BFD_RELOC_M32R_RELATIVE",
01480   "BFD_RELOC_M32R_GOTOFF",
01481   "BFD_RELOC_M32R_GOTOFF_HI_ULO",
01482   "BFD_RELOC_M32R_GOTOFF_HI_SLO",
01483   "BFD_RELOC_M32R_GOTOFF_LO",
01484   "BFD_RELOC_M32R_GOTPC24",
01485   "BFD_RELOC_M32R_GOT16_HI_ULO",
01486   "BFD_RELOC_M32R_GOT16_HI_SLO",
01487   "BFD_RELOC_M32R_GOT16_LO",
01488   "BFD_RELOC_M32R_GOTPC_HI_ULO",
01489   "BFD_RELOC_M32R_GOTPC_HI_SLO",
01490   "BFD_RELOC_M32R_GOTPC_LO",
01491   "BFD_RELOC_V850_9_PCREL",
01492   "BFD_RELOC_V850_22_PCREL",
01493   "BFD_RELOC_V850_SDA_16_16_OFFSET",
01494   "BFD_RELOC_V850_SDA_15_16_OFFSET",
01495   "BFD_RELOC_V850_ZDA_16_16_OFFSET",
01496   "BFD_RELOC_V850_ZDA_15_16_OFFSET",
01497   "BFD_RELOC_V850_TDA_6_8_OFFSET",
01498   "BFD_RELOC_V850_TDA_7_8_OFFSET",
01499   "BFD_RELOC_V850_TDA_7_7_OFFSET",
01500   "BFD_RELOC_V850_TDA_16_16_OFFSET",
01501   "BFD_RELOC_V850_TDA_4_5_OFFSET",
01502   "BFD_RELOC_V850_TDA_4_4_OFFSET",
01503   "BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET",
01504   "BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET",
01505   "BFD_RELOC_V850_CALLT_6_7_OFFSET",
01506   "BFD_RELOC_V850_CALLT_16_16_OFFSET",
01507   "BFD_RELOC_V850_LONGCALL",
01508   "BFD_RELOC_V850_LONGJUMP",
01509   "BFD_RELOC_V850_ALIGN",
01510   "BFD_RELOC_V850_LO16_SPLIT_OFFSET",
01511   "BFD_RELOC_MN10300_32_PCREL",
01512   "BFD_RELOC_MN10300_16_PCREL",
01513   "BFD_RELOC_TIC30_LDP",
01514   "BFD_RELOC_TIC54X_PARTLS7",
01515   "BFD_RELOC_TIC54X_PARTMS9",
01516   "BFD_RELOC_TIC54X_23",
01517   "BFD_RELOC_TIC54X_16_OF_23",
01518   "BFD_RELOC_TIC54X_MS7_OF_23",
01519   "BFD_RELOC_FR30_48",
01520   "BFD_RELOC_FR30_20",
01521   "BFD_RELOC_FR30_6_IN_4",
01522   "BFD_RELOC_FR30_8_IN_8",
01523   "BFD_RELOC_FR30_9_IN_8",
01524   "BFD_RELOC_FR30_10_IN_8",
01525   "BFD_RELOC_FR30_9_PCREL",
01526   "BFD_RELOC_FR30_12_PCREL",
01527   "BFD_RELOC_MCORE_PCREL_IMM8BY4",
01528   "BFD_RELOC_MCORE_PCREL_IMM11BY2",
01529   "BFD_RELOC_MCORE_PCREL_IMM4BY2",
01530   "BFD_RELOC_MCORE_PCREL_32",
01531   "BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2",
01532   "BFD_RELOC_MCORE_RVA",
01533   "BFD_RELOC_MEP_8",
01534   "BFD_RELOC_MEP_16",
01535   "BFD_RELOC_MEP_32",
01536   "BFD_RELOC_MEP_PCREL8A2",
01537   "BFD_RELOC_MEP_PCREL12A2",
01538   "BFD_RELOC_MEP_PCREL17A2",
01539   "BFD_RELOC_MEP_PCREL24A2",
01540   "BFD_RELOC_MEP_PCABS24A2",
01541   "BFD_RELOC_MEP_LOW16",
01542   "BFD_RELOC_MEP_HI16U",
01543   "BFD_RELOC_MEP_HI16S",
01544   "BFD_RELOC_MEP_GPREL",
01545   "BFD_RELOC_MEP_TPREL",
01546   "BFD_RELOC_MEP_TPREL7",
01547   "BFD_RELOC_MEP_TPREL7A2",
01548   "BFD_RELOC_MEP_TPREL7A4",
01549   "BFD_RELOC_MEP_UIMM24",
01550   "BFD_RELOC_MEP_ADDR24A4",
01551   "BFD_RELOC_MEP_GNU_VTINHERIT",
01552   "BFD_RELOC_MEP_GNU_VTENTRY",
01553 
01554   "BFD_RELOC_MMIX_GETA",
01555   "BFD_RELOC_MMIX_GETA_1",
01556   "BFD_RELOC_MMIX_GETA_2",
01557   "BFD_RELOC_MMIX_GETA_3",
01558   "BFD_RELOC_MMIX_CBRANCH",
01559   "BFD_RELOC_MMIX_CBRANCH_J",
01560   "BFD_RELOC_MMIX_CBRANCH_1",
01561   "BFD_RELOC_MMIX_CBRANCH_2",
01562   "BFD_RELOC_MMIX_CBRANCH_3",
01563   "BFD_RELOC_MMIX_PUSHJ",
01564   "BFD_RELOC_MMIX_PUSHJ_1",
01565   "BFD_RELOC_MMIX_PUSHJ_2",
01566   "BFD_RELOC_MMIX_PUSHJ_3",
01567   "BFD_RELOC_MMIX_PUSHJ_STUBBABLE",
01568   "BFD_RELOC_MMIX_JMP",
01569   "BFD_RELOC_MMIX_JMP_1",
01570   "BFD_RELOC_MMIX_JMP_2",
01571   "BFD_RELOC_MMIX_JMP_3",
01572   "BFD_RELOC_MMIX_ADDR19",
01573   "BFD_RELOC_MMIX_ADDR27",
01574   "BFD_RELOC_MMIX_REG_OR_BYTE",
01575   "BFD_RELOC_MMIX_REG",
01576   "BFD_RELOC_MMIX_BASE_PLUS_OFFSET",
01577   "BFD_RELOC_MMIX_LOCAL",
01578   "BFD_RELOC_AVR_7_PCREL",
01579   "BFD_RELOC_AVR_13_PCREL",
01580   "BFD_RELOC_AVR_16_PM",
01581   "BFD_RELOC_AVR_LO8_LDI",
01582   "BFD_RELOC_AVR_HI8_LDI",
01583   "BFD_RELOC_AVR_HH8_LDI",
01584   "BFD_RELOC_AVR_MS8_LDI",
01585   "BFD_RELOC_AVR_LO8_LDI_NEG",
01586   "BFD_RELOC_AVR_HI8_LDI_NEG",
01587   "BFD_RELOC_AVR_HH8_LDI_NEG",
01588   "BFD_RELOC_AVR_MS8_LDI_NEG",
01589   "BFD_RELOC_AVR_LO8_LDI_PM",
01590   "BFD_RELOC_AVR_LO8_LDI_GS",
01591   "BFD_RELOC_AVR_HI8_LDI_PM",
01592   "BFD_RELOC_AVR_HI8_LDI_GS",
01593   "BFD_RELOC_AVR_HH8_LDI_PM",
01594   "BFD_RELOC_AVR_LO8_LDI_PM_NEG",
01595   "BFD_RELOC_AVR_HI8_LDI_PM_NEG",
01596   "BFD_RELOC_AVR_HH8_LDI_PM_NEG",
01597   "BFD_RELOC_AVR_CALL",
01598   "BFD_RELOC_AVR_LDI",
01599   "BFD_RELOC_AVR_6",
01600   "BFD_RELOC_AVR_6_ADIW",
01601   "BFD_RELOC_390_12",
01602   "BFD_RELOC_390_GOT12",
01603   "BFD_RELOC_390_PLT32",
01604   "BFD_RELOC_390_COPY",
01605   "BFD_RELOC_390_GLOB_DAT",
01606   "BFD_RELOC_390_JMP_SLOT",
01607   "BFD_RELOC_390_RELATIVE",
01608   "BFD_RELOC_390_GOTPC",
01609   "BFD_RELOC_390_GOT16",
01610   "BFD_RELOC_390_PC16DBL",
01611   "BFD_RELOC_390_PLT16DBL",
01612   "BFD_RELOC_390_PC32DBL",
01613   "BFD_RELOC_390_PLT32DBL",
01614   "BFD_RELOC_390_GOTPCDBL",
01615   "BFD_RELOC_390_GOT64",
01616   "BFD_RELOC_390_PLT64",
01617   "BFD_RELOC_390_GOTENT",
01618   "BFD_RELOC_390_GOTOFF64",
01619   "BFD_RELOC_390_GOTPLT12",
01620   "BFD_RELOC_390_GOTPLT16",
01621   "BFD_RELOC_390_GOTPLT32",
01622   "BFD_RELOC_390_GOTPLT64",
01623   "BFD_RELOC_390_GOTPLTENT",
01624   "BFD_RELOC_390_PLTOFF16",
01625   "BFD_RELOC_390_PLTOFF32",
01626   "BFD_RELOC_390_PLTOFF64",
01627   "BFD_RELOC_390_TLS_LOAD",
01628   "BFD_RELOC_390_TLS_GDCALL",
01629   "BFD_RELOC_390_TLS_LDCALL",
01630   "BFD_RELOC_390_TLS_GD32",
01631   "BFD_RELOC_390_TLS_GD64",
01632   "BFD_RELOC_390_TLS_GOTIE12",
01633   "BFD_RELOC_390_TLS_GOTIE32",
01634   "BFD_RELOC_390_TLS_GOTIE64",
01635   "BFD_RELOC_390_TLS_LDM32",
01636   "BFD_RELOC_390_TLS_LDM64",
01637   "BFD_RELOC_390_TLS_IE32",
01638   "BFD_RELOC_390_TLS_IE64",
01639   "BFD_RELOC_390_TLS_IEENT",
01640   "BFD_RELOC_390_TLS_LE32",
01641   "BFD_RELOC_390_TLS_LE64",
01642   "BFD_RELOC_390_TLS_LDO32",
01643   "BFD_RELOC_390_TLS_LDO64",
01644   "BFD_RELOC_390_TLS_DTPMOD",
01645   "BFD_RELOC_390_TLS_DTPOFF",
01646   "BFD_RELOC_390_TLS_TPOFF",
01647   "BFD_RELOC_390_20",
01648   "BFD_RELOC_390_GOT20",
01649   "BFD_RELOC_390_GOTPLT20",
01650   "BFD_RELOC_390_TLS_GOTIE20",
01651   "BFD_RELOC_SCORE_DUMMY1",
01652   "BFD_RELOC_SCORE_GPREL15",
01653   "BFD_RELOC_SCORE_DUMMY2",
01654   "BFD_RELOC_SCORE_JMP",
01655   "BFD_RELOC_SCORE_BRANCH",
01656   "BFD_RELOC_SCORE16_JMP",
01657   "BFD_RELOC_SCORE16_BRANCH",
01658   "BFD_RELOC_SCORE_GOT15",
01659   "BFD_RELOC_SCORE_GOT_LO16",
01660   "BFD_RELOC_SCORE_CALL15",
01661   "BFD_RELOC_SCORE_DUMMY_HI16",
01662   "BFD_RELOC_IP2K_FR9",
01663   "BFD_RELOC_IP2K_BANK",
01664   "BFD_RELOC_IP2K_ADDR16CJP",
01665   "BFD_RELOC_IP2K_PAGE3",
01666   "BFD_RELOC_IP2K_LO8DATA",
01667   "BFD_RELOC_IP2K_HI8DATA",
01668   "BFD_RELOC_IP2K_EX8DATA",
01669   "BFD_RELOC_IP2K_LO8INSN",
01670   "BFD_RELOC_IP2K_HI8INSN",
01671   "BFD_RELOC_IP2K_PC_SKIP",
01672   "BFD_RELOC_IP2K_TEXT",
01673   "BFD_RELOC_IP2K_FR_OFFSET",
01674   "BFD_RELOC_VPE4KMATH_DATA",
01675   "BFD_RELOC_VPE4KMATH_INSN",
01676   "BFD_RELOC_VTABLE_INHERIT",
01677   "BFD_RELOC_VTABLE_ENTRY",
01678   "BFD_RELOC_IA64_IMM14",
01679   "BFD_RELOC_IA64_IMM22",
01680   "BFD_RELOC_IA64_IMM64",
01681   "BFD_RELOC_IA64_DIR32MSB",
01682   "BFD_RELOC_IA64_DIR32LSB",
01683   "BFD_RELOC_IA64_DIR64MSB",
01684   "BFD_RELOC_IA64_DIR64LSB",
01685   "BFD_RELOC_IA64_GPREL22",
01686   "BFD_RELOC_IA64_GPREL64I",
01687   "BFD_RELOC_IA64_GPREL32MSB",
01688   "BFD_RELOC_IA64_GPREL32LSB",
01689   "BFD_RELOC_IA64_GPREL64MSB",
01690   "BFD_RELOC_IA64_GPREL64LSB",
01691   "BFD_RELOC_IA64_LTOFF22",
01692   "BFD_RELOC_IA64_LTOFF64I",
01693   "BFD_RELOC_IA64_PLTOFF22",
01694   "BFD_RELOC_IA64_PLTOFF64I",
01695   "BFD_RELOC_IA64_PLTOFF64MSB",
01696   "BFD_RELOC_IA64_PLTOFF64LSB",
01697   "BFD_RELOC_IA64_FPTR64I",
01698   "BFD_RELOC_IA64_FPTR32MSB",
01699   "BFD_RELOC_IA64_FPTR32LSB",
01700   "BFD_RELOC_IA64_FPTR64MSB",
01701   "BFD_RELOC_IA64_FPTR64LSB",
01702   "BFD_RELOC_IA64_PCREL21B",
01703   "BFD_RELOC_IA64_PCREL21BI",
01704   "BFD_RELOC_IA64_PCREL21M",
01705   "BFD_RELOC_IA64_PCREL21F",
01706   "BFD_RELOC_IA64_PCREL22",
01707   "BFD_RELOC_IA64_PCREL60B",
01708   "BFD_RELOC_IA64_PCREL64I",
01709   "BFD_RELOC_IA64_PCREL32MSB",
01710   "BFD_RELOC_IA64_PCREL32LSB",
01711   "BFD_RELOC_IA64_PCREL64MSB",
01712   "BFD_RELOC_IA64_PCREL64LSB",
01713   "BFD_RELOC_IA64_LTOFF_FPTR22",
01714   "BFD_RELOC_IA64_LTOFF_FPTR64I",
01715   "BFD_RELOC_IA64_LTOFF_FPTR32MSB",
01716   "BFD_RELOC_IA64_LTOFF_FPTR32LSB",
01717   "BFD_RELOC_IA64_LTOFF_FPTR64MSB",
01718   "BFD_RELOC_IA64_LTOFF_FPTR64LSB",
01719   "BFD_RELOC_IA64_SEGREL32MSB",
01720   "BFD_RELOC_IA64_SEGREL32LSB",
01721   "BFD_RELOC_IA64_SEGREL64MSB",
01722   "BFD_RELOC_IA64_SEGREL64LSB",
01723   "BFD_RELOC_IA64_SECREL32MSB",
01724   "BFD_RELOC_IA64_SECREL32LSB",
01725   "BFD_RELOC_IA64_SECREL64MSB",
01726   "BFD_RELOC_IA64_SECREL64LSB",
01727   "BFD_RELOC_IA64_REL32MSB",
01728   "BFD_RELOC_IA64_REL32LSB",
01729   "BFD_RELOC_IA64_REL64MSB",
01730   "BFD_RELOC_IA64_REL64LSB",
01731   "BFD_RELOC_IA64_LTV32MSB",
01732   "BFD_RELOC_IA64_LTV32LSB",
01733   "BFD_RELOC_IA64_LTV64MSB",
01734   "BFD_RELOC_IA64_LTV64LSB",
01735   "BFD_RELOC_IA64_IPLTMSB",
01736   "BFD_RELOC_IA64_IPLTLSB",
01737   "BFD_RELOC_IA64_COPY",
01738   "BFD_RELOC_IA64_LTOFF22X",
01739   "BFD_RELOC_IA64_LDXMOV",
01740   "BFD_RELOC_IA64_TPREL14",
01741   "BFD_RELOC_IA64_TPREL22",
01742   "BFD_RELOC_IA64_TPREL64I",
01743   "BFD_RELOC_IA64_TPREL64MSB",
01744   "BFD_RELOC_IA64_TPREL64LSB",
01745   "BFD_RELOC_IA64_LTOFF_TPREL22",
01746   "BFD_RELOC_IA64_DTPMOD64MSB",
01747   "BFD_RELOC_IA64_DTPMOD64LSB",
01748   "BFD_RELOC_IA64_LTOFF_DTPMOD22",
01749   "BFD_RELOC_IA64_DTPREL14",
01750   "BFD_RELOC_IA64_DTPREL22",
01751   "BFD_RELOC_IA64_DTPREL64I",
01752   "BFD_RELOC_IA64_DTPREL32MSB",
01753   "BFD_RELOC_IA64_DTPREL32LSB",
01754   "BFD_RELOC_IA64_DTPREL64MSB",
01755   "BFD_RELOC_IA64_DTPREL64LSB",
01756   "BFD_RELOC_IA64_LTOFF_DTPREL22",
01757   "BFD_RELOC_M68HC11_HI8",
01758   "BFD_RELOC_M68HC11_LO8",
01759   "BFD_RELOC_M68HC11_3B",
01760   "BFD_RELOC_M68HC11_RL_JUMP",
01761   "BFD_RELOC_M68HC11_RL_GROUP",
01762   "BFD_RELOC_M68HC11_LO16",
01763   "BFD_RELOC_M68HC11_PAGE",
01764   "BFD_RELOC_M68HC11_24",
01765   "BFD_RELOC_M68HC12_5B",
01766   "BFD_RELOC_16C_NUM08",
01767   "BFD_RELOC_16C_NUM08_C",
01768   "BFD_RELOC_16C_NUM16",
01769   "BFD_RELOC_16C_NUM16_C",
01770   "BFD_RELOC_16C_NUM32",
01771   "BFD_RELOC_16C_NUM32_C",
01772   "BFD_RELOC_16C_DISP04",
01773   "BFD_RELOC_16C_DISP04_C",
01774   "BFD_RELOC_16C_DISP08",
01775   "BFD_RELOC_16C_DISP08_C",
01776   "BFD_RELOC_16C_DISP16",
01777   "BFD_RELOC_16C_DISP16_C",
01778   "BFD_RELOC_16C_DISP24",
01779   "BFD_RELOC_16C_DISP24_C",
01780   "BFD_RELOC_16C_DISP24a",
01781   "BFD_RELOC_16C_DISP24a_C",
01782   "BFD_RELOC_16C_REG04",
01783   "BFD_RELOC_16C_REG04_C",
01784   "BFD_RELOC_16C_REG04a",
01785   "BFD_RELOC_16C_REG04a_C",
01786   "BFD_RELOC_16C_REG14",
01787   "BFD_RELOC_16C_REG14_C",
01788   "BFD_RELOC_16C_REG16",
01789   "BFD_RELOC_16C_REG16_C",
01790   "BFD_RELOC_16C_REG20",
01791   "BFD_RELOC_16C_REG20_C",
01792   "BFD_RELOC_16C_ABS20",
01793   "BFD_RELOC_16C_ABS20_C",
01794   "BFD_RELOC_16C_ABS24",
01795   "BFD_RELOC_16C_ABS24_C",
01796   "BFD_RELOC_16C_IMM04",
01797   "BFD_RELOC_16C_IMM04_C",
01798   "BFD_RELOC_16C_IMM16",
01799   "BFD_RELOC_16C_IMM16_C",
01800   "BFD_RELOC_16C_IMM20",
01801   "BFD_RELOC_16C_IMM20_C",
01802   "BFD_RELOC_16C_IMM24",
01803   "BFD_RELOC_16C_IMM24_C",
01804   "BFD_RELOC_16C_IMM32",
01805   "BFD_RELOC_16C_IMM32_C",
01806   "BFD_RELOC_CRX_REL4",
01807   "BFD_RELOC_CRX_REL8",
01808   "BFD_RELOC_CRX_REL8_CMP",
01809   "BFD_RELOC_CRX_REL16",
01810   "BFD_RELOC_CRX_REL24",
01811   "BFD_RELOC_CRX_REL32",
01812   "BFD_RELOC_CRX_REGREL12",
01813   "BFD_RELOC_CRX_REGREL22",
01814   "BFD_RELOC_CRX_REGREL28",
01815   "BFD_RELOC_CRX_REGREL32",
01816   "BFD_RELOC_CRX_ABS16",
01817   "BFD_RELOC_CRX_ABS32",
01818   "BFD_RELOC_CRX_NUM8",
01819   "BFD_RELOC_CRX_NUM16",
01820   "BFD_RELOC_CRX_NUM32",
01821   "BFD_RELOC_CRX_IMM16",
01822   "BFD_RELOC_CRX_IMM32",
01823   "BFD_RELOC_CRX_SWITCH8",
01824   "BFD_RELOC_CRX_SWITCH16",
01825   "BFD_RELOC_CRX_SWITCH32",
01826   "BFD_RELOC_CRIS_BDISP8",
01827   "BFD_RELOC_CRIS_UNSIGNED_5",
01828   "BFD_RELOC_CRIS_SIGNED_6",
01829   "BFD_RELOC_CRIS_UNSIGNED_6",
01830   "BFD_RELOC_CRIS_SIGNED_8",
01831   "BFD_RELOC_CRIS_UNSIGNED_8",
01832   "BFD_RELOC_CRIS_SIGNED_16",
01833   "BFD_RELOC_CRIS_UNSIGNED_16",
01834   "BFD_RELOC_CRIS_LAPCQ_OFFSET",
01835   "BFD_RELOC_CRIS_UNSIGNED_4",
01836   "BFD_RELOC_CRIS_COPY",
01837   "BFD_RELOC_CRIS_GLOB_DAT",
01838   "BFD_RELOC_CRIS_JUMP_SLOT",
01839   "BFD_RELOC_CRIS_RELATIVE",
01840   "BFD_RELOC_CRIS_32_GOT",
01841   "BFD_RELOC_CRIS_16_GOT",
01842   "BFD_RELOC_CRIS_32_GOTPLT",
01843   "BFD_RELOC_CRIS_16_GOTPLT",
01844   "BFD_RELOC_CRIS_32_GOTREL",
01845   "BFD_RELOC_CRIS_32_PLT_GOTREL",
01846   "BFD_RELOC_CRIS_32_PLT_PCREL",
01847   "BFD_RELOC_860_COPY",
01848   "BFD_RELOC_860_GLOB_DAT",
01849   "BFD_RELOC_860_JUMP_SLOT",
01850   "BFD_RELOC_860_RELATIVE",
01851   "BFD_RELOC_860_PC26",
01852   "BFD_RELOC_860_PLT26",
01853   "BFD_RELOC_860_PC16",
01854   "BFD_RELOC_860_LOW0",
01855   "BFD_RELOC_860_SPLIT0",
01856   "BFD_RELOC_860_LOW1",
01857   "BFD_RELOC_860_SPLIT1",
01858   "BFD_RELOC_860_LOW2",
01859   "BFD_RELOC_860_SPLIT2",
01860   "BFD_RELOC_860_LOW3",
01861   "BFD_RELOC_860_LOGOT0",
01862   "BFD_RELOC_860_SPGOT0",
01863   "BFD_RELOC_860_LOGOT1",
01864   "BFD_RELOC_860_SPGOT1",
01865   "BFD_RELOC_860_LOGOTOFF0",
01866   "BFD_RELOC_860_SPGOTOFF0",
01867   "BFD_RELOC_860_LOGOTOFF1",
01868   "BFD_RELOC_860_SPGOTOFF1",
01869   "BFD_RELOC_860_LOGOTOFF2",
01870   "BFD_RELOC_860_LOGOTOFF3",
01871   "BFD_RELOC_860_LOPC",
01872   "BFD_RELOC_860_HIGHADJ",
01873   "BFD_RELOC_860_HAGOT",
01874   "BFD_RELOC_860_HAGOTOFF",
01875   "BFD_RELOC_860_HAPC",
01876   "BFD_RELOC_860_HIGH",
01877   "BFD_RELOC_860_HIGOT",
01878   "BFD_RELOC_860_HIGOTOFF",
01879   "BFD_RELOC_OPENRISC_ABS_26",
01880   "BFD_RELOC_OPENRISC_REL_26",
01881   "BFD_RELOC_H8_DIR16A8",
01882   "BFD_RELOC_H8_DIR16R8",
01883   "BFD_RELOC_H8_DIR24A8",
01884   "BFD_RELOC_H8_DIR24R8",
01885   "BFD_RELOC_H8_DIR32A16",
01886   "BFD_RELOC_XSTORMY16_REL_12",
01887   "BFD_RELOC_XSTORMY16_12",
01888   "BFD_RELOC_XSTORMY16_24",
01889   "BFD_RELOC_XSTORMY16_FPTR16",
01890   "BFD_RELOC_RELC",
01891 
01892   "BFD_RELOC_XC16X_PAG",
01893   "BFD_RELOC_XC16X_POF",
01894   "BFD_RELOC_XC16X_SEG",
01895   "BFD_RELOC_XC16X_SOF",
01896   "BFD_RELOC_VAX_GLOB_DAT",
01897   "BFD_RELOC_VAX_JMP_SLOT",
01898   "BFD_RELOC_VAX_RELATIVE",
01899   "BFD_RELOC_MT_PC16",
01900   "BFD_RELOC_MT_HI16",
01901   "BFD_RELOC_MT_LO16",
01902   "BFD_RELOC_MT_GNU_VTINHERIT",
01903   "BFD_RELOC_MT_GNU_VTENTRY",
01904   "BFD_RELOC_MT_PCINSN8",
01905   "BFD_RELOC_MSP430_10_PCREL",
01906   "BFD_RELOC_MSP430_16_PCREL",
01907   "BFD_RELOC_MSP430_16",
01908   "BFD_RELOC_MSP430_16_PCREL_BYTE",
01909   "BFD_RELOC_MSP430_16_BYTE",
01910   "BFD_RELOC_MSP430_2X_PCREL",
01911   "BFD_RELOC_MSP430_RL_PCREL",
01912   "BFD_RELOC_IQ2000_OFFSET_16",
01913   "BFD_RELOC_IQ2000_OFFSET_21",
01914   "BFD_RELOC_IQ2000_UHI16",
01915   "BFD_RELOC_XTENSA_RTLD",
01916   "BFD_RELOC_XTENSA_GLOB_DAT",
01917   "BFD_RELOC_XTENSA_JMP_SLOT",
01918   "BFD_RELOC_XTENSA_RELATIVE",
01919   "BFD_RELOC_XTENSA_PLT",
01920   "BFD_RELOC_XTENSA_DIFF8",
01921   "BFD_RELOC_XTENSA_DIFF16",
01922   "BFD_RELOC_XTENSA_DIFF32",
01923   "BFD_RELOC_XTENSA_SLOT0_OP",
01924   "BFD_RELOC_XTENSA_SLOT1_OP",
01925   "BFD_RELOC_XTENSA_SLOT2_OP",
01926   "BFD_RELOC_XTENSA_SLOT3_OP",
01927   "BFD_RELOC_XTENSA_SLOT4_OP",
01928   "BFD_RELOC_XTENSA_SLOT5_OP",
01929   "BFD_RELOC_XTENSA_SLOT6_OP",
01930   "BFD_RELOC_XTENSA_SLOT7_OP",
01931   "BFD_RELOC_XTENSA_SLOT8_OP",
01932   "BFD_RELOC_XTENSA_SLOT9_OP",
01933   "BFD_RELOC_XTENSA_SLOT10_OP",
01934   "BFD_RELOC_XTENSA_SLOT11_OP",
01935   "BFD_RELOC_XTENSA_SLOT12_OP",
01936   "BFD_RELOC_XTENSA_SLOT13_OP",
01937   "BFD_RELOC_XTENSA_SLOT14_OP",
01938   "BFD_RELOC_XTENSA_SLOT0_ALT",
01939   "BFD_RELOC_XTENSA_SLOT1_ALT",
01940   "BFD_RELOC_XTENSA_SLOT2_ALT",
01941   "BFD_RELOC_XTENSA_SLOT3_ALT",
01942   "BFD_RELOC_XTENSA_SLOT4_ALT",
01943   "BFD_RELOC_XTENSA_SLOT5_ALT",
01944   "BFD_RELOC_XTENSA_SLOT6_ALT",
01945   "BFD_RELOC_XTENSA_SLOT7_ALT",
01946   "BFD_RELOC_XTENSA_SLOT8_ALT",
01947   "BFD_RELOC_XTENSA_SLOT9_ALT",
01948   "BFD_RELOC_XTENSA_SLOT10_ALT",
01949   "BFD_RELOC_XTENSA_SLOT11_ALT",
01950   "BFD_RELOC_XTENSA_SLOT12_ALT",
01951   "BFD_RELOC_XTENSA_SLOT13_ALT",
01952   "BFD_RELOC_XTENSA_SLOT14_ALT",
01953   "BFD_RELOC_XTENSA_OP0",
01954   "BFD_RELOC_XTENSA_OP1",
01955   "BFD_RELOC_XTENSA_OP2",
01956   "BFD_RELOC_XTENSA_ASM_EXPAND",
01957   "BFD_RELOC_XTENSA_ASM_SIMPLIFY",
01958   "BFD_RELOC_Z80_DISP8",
01959   "BFD_RELOC_Z8K_DISP7",
01960   "BFD_RELOC_Z8K_CALLR",
01961   "BFD_RELOC_Z8K_IMM4L",
01962  "@@overflow: BFD_RELOC_UNUSED@@",
01963 };
01964 #endif
01965 
01966 reloc_howto_type *bfd_default_reloc_type_lookup
01967    (bfd *abfd, bfd_reloc_code_real_type  code);
01968 
01969 bfd_boolean bfd_generic_relax_section
01970    (bfd *abfd,
01971     asection *section,
01972     struct bfd_link_info *,
01973     bfd_boolean *);
01974 
01975 bfd_boolean bfd_generic_gc_sections
01976    (bfd *, struct bfd_link_info *);
01977 
01978 bfd_boolean bfd_generic_merge_sections
01979    (bfd *, struct bfd_link_info *);
01980 
01981 bfd_byte *bfd_generic_get_relocated_section_contents
01982    (bfd *abfd,
01983     struct bfd_link_info *link_info,
01984     struct bfd_link_order *link_order,
01985     bfd_byte *data,
01986     bfd_boolean relocatable,
01987     asymbol **symbols);
01988 
01989 /* Extracted from archures.c.  */
01990 extern const bfd_arch_info_type bfd_default_arch_struct;
01991 bfd_boolean bfd_default_set_arch_mach
01992    (bfd *abfd, enum bfd_architecture arch, unsigned long mach);
01993 
01994 const bfd_arch_info_type *bfd_default_compatible
01995    (const bfd_arch_info_type *a, const bfd_arch_info_type *b);
01996 
01997 bfd_boolean bfd_default_scan
01998    (const struct bfd_arch_info *info, const char *string);
01999 
02000 /* Extracted from elf.c.  */
02001 struct elf_internal_shdr *bfd_elf_find_section (bfd *abfd, char *name);
02002