libbfd.h revision 94536
189857Sobrien/* DO NOT EDIT! -*- buffer-read-only: t -*- This file is automatically 289857Sobrien generated from "libbfd-in.h", "init.c", "libbfd.c", "cache.c", 389857Sobrien "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.) 878828Sobrien Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 978828Sobrien 2000, 2001 1060484Sobrien Free Software Foundation, Inc. 1133965Sjdp Written by Cygnus Support. 1233965Sjdp 1333965SjdpThis file is part of BFD, the Binary File Descriptor library. 1433965Sjdp 1533965SjdpThis program is free software; you can redistribute it and/or modify 1633965Sjdpit under the terms of the GNU General Public License as published by 1733965Sjdpthe Free Software Foundation; either version 2 of the License, or 1833965Sjdp(at your option) any later version. 1933965Sjdp 2033965SjdpThis program is distributed in the hope that it will be useful, 2133965Sjdpbut WITHOUT ANY WARRANTY; without even the implied warranty of 2233965SjdpMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 2333965SjdpGNU General Public License for more details. 2433965Sjdp 2533965SjdpYou should have received a copy of the GNU General Public License 2633965Sjdpalong with this program; if not, write to the Free Software 2733965SjdpFoundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 2833965Sjdp 2933965Sjdp/* Align an address upward to a boundary, expressed as a number of bytes. 3038889Sjdp E.g. align to an 8-byte boundary with argument of 8. Take care never 3138889Sjdp to wrap around if the address is within boundary-1 of the end of the 3238889Sjdp address space. */ 3389857Sobrien#define BFD_ALIGN(this, boundary) \ 3489857Sobrien ((((bfd_vma) (this) + (boundary) - 1) >= (bfd_vma) (this)) \ 3589857Sobrien ? (((bfd_vma) (this) + ((boundary) - 1)) & ~ (bfd_vma) ((boundary)-1)) \ 3638889Sjdp : ~ (bfd_vma) 0) 3733965Sjdp 3833965Sjdp/* If you want to read and write large blocks, you might want to do it 3933965Sjdp in quanta of this amount */ 4033965Sjdp#define DEFAULT_BUFFERSIZE 8192 4133965Sjdp 4233965Sjdp/* Set a tdata field. Can't use the other macros for this, since they 4333965Sjdp do casts, and casting to the left of assignment isn't portable. */ 4433965Sjdp#define set_tdata(bfd, v) ((bfd)->tdata.any = (PTR) (v)) 4533965Sjdp 4633965Sjdp/* If BFD_IN_MEMORY is set for a BFD, then the iostream fields points 4733965Sjdp to an instance of this structure. */ 4833965Sjdp 4933965Sjdpstruct bfd_in_memory 5033965Sjdp{ 5133965Sjdp /* Size of buffer. */ 5233965Sjdp bfd_size_type size; 5333965Sjdp /* Buffer holding contents of BFD. */ 5433965Sjdp bfd_byte *buffer; 5533965Sjdp}; 5633965Sjdp 5733965Sjdp/* tdata for an archive. For an input archive, cache 5833965Sjdp needs to be free()'d. For an output archive, symdefs do. */ 5933965Sjdp 6033965Sjdpstruct artdata { 6133965Sjdp file_ptr first_file_filepos; 6233965Sjdp /* Speed up searching the armap */ 6333965Sjdp struct ar_cache *cache; 6477298Sobrien bfd *archive_head; /* Only interesting in output routines */ 6533965Sjdp carsym *symdefs; /* the symdef entries */ 6677298Sobrien symindex symdef_count; /* how many there are */ 6733965Sjdp char *extended_names; /* clever intel extension */ 6833965Sjdp /* when more compilers are standard C, this can be a time_t */ 6933965Sjdp long armap_timestamp; /* Timestamp value written into armap. 7033965Sjdp This is used for BSD archives to check 7133965Sjdp that the timestamp is recent enough 7233965Sjdp for the BSD linker to not complain, 7333965Sjdp just before we finish writing an 7433965Sjdp archive. */ 7533965Sjdp file_ptr armap_datepos; /* Position within archive to seek to 7633965Sjdp rewrite the date field. */ 7733965Sjdp PTR tdata; /* Backend specific information. */ 7833965Sjdp}; 7933965Sjdp 8033965Sjdp#define bfd_ardata(bfd) ((bfd)->tdata.aout_ar_data) 8133965Sjdp 8233965Sjdp/* Goes in bfd's arelt_data slot */ 8333965Sjdpstruct areltdata { 8477298Sobrien char * arch_header; /* it's actually a string */ 8577298Sobrien unsigned int parsed_size; /* octets of filesize not including ar_hdr */ 8677298Sobrien char *filename; /* null-terminated */ 8733965Sjdp}; 8833965Sjdp 8933965Sjdp#define arelt_size(bfd) (((struct areltdata *)((bfd)->arelt_data))->parsed_size) 9033965Sjdp 9189857Sobrienextern PTR bfd_malloc PARAMS ((bfd_size_type)); 9289857Sobrienextern PTR bfd_realloc PARAMS ((PTR, bfd_size_type)); 9389857Sobrienextern PTR bfd_zmalloc PARAMS ((bfd_size_type)); 9433965Sjdp 9533965Sjdpextern bfd_error_handler_type _bfd_error_handler; 9633965Sjdp 9733965Sjdp/* These routines allocate and free things on the BFD's objalloc. */ 9833965Sjdp 9989857Sobrienextern PTR bfd_alloc PARAMS ((bfd *, bfd_size_type)); 10089857Sobrienextern PTR bfd_zalloc PARAMS ((bfd *, bfd_size_type)); 10133965Sjdpextern void bfd_release PARAMS ((bfd *, PTR)); 10233965Sjdp 10333965Sjdpbfd * _bfd_create_empty_archive_element_shell PARAMS ((bfd *obfd)); 10489857Sobrienbfd * _bfd_look_for_bfd_in_cache PARAMS ((bfd *, file_ptr)); 10533965Sjdpboolean _bfd_add_bfd_to_archive_cache PARAMS ((bfd *, file_ptr, bfd *)); 10633965Sjdpboolean _bfd_generic_mkarchive PARAMS ((bfd *abfd)); 10733965Sjdpconst bfd_target *bfd_generic_archive_p PARAMS ((bfd *abfd)); 10833965Sjdpboolean bfd_slurp_armap PARAMS ((bfd *abfd)); 10933965Sjdpboolean bfd_slurp_bsd_armap_f2 PARAMS ((bfd *abfd)); 11033965Sjdp#define bfd_slurp_bsd_armap bfd_slurp_armap 11133965Sjdp#define bfd_slurp_coff_armap bfd_slurp_armap 11233965Sjdpboolean _bfd_slurp_extended_name_table PARAMS ((bfd *abfd)); 11333965Sjdpextern boolean _bfd_construct_extended_name_table 11433965Sjdp PARAMS ((bfd *, boolean, char **, bfd_size_type *)); 11533965Sjdpboolean _bfd_write_archive_contents PARAMS ((bfd *abfd)); 11633965Sjdpboolean _bfd_compute_and_write_armap PARAMS ((bfd *, unsigned int elength)); 11733965Sjdpbfd *_bfd_get_elt_at_filepos PARAMS ((bfd *archive, file_ptr filepos)); 11833965Sjdpextern bfd *_bfd_generic_get_elt_at_index PARAMS ((bfd *, symindex)); 11933965Sjdpbfd * _bfd_new_bfd PARAMS ((void)); 12089857Sobrienvoid _bfd_delete_bfd PARAMS ((bfd *)); 12133965Sjdp 12233965Sjdpboolean bfd_false PARAMS ((bfd *ignore)); 12333965Sjdpboolean bfd_true PARAMS ((bfd *ignore)); 12433965SjdpPTR bfd_nullvoidptr PARAMS ((bfd *ignore)); 12533965Sjdpint bfd_0 PARAMS ((bfd *ignore)); 12633965Sjdpunsigned int bfd_0u PARAMS ((bfd *ignore)); 12733965Sjdplong bfd_0l PARAMS ((bfd *ignore)); 12833965Sjdplong _bfd_n1 PARAMS ((bfd *ignore)); 12933965Sjdpvoid bfd_void PARAMS ((bfd *ignore)); 13033965Sjdp 13133965Sjdpbfd *_bfd_new_bfd_contained_in PARAMS ((bfd *)); 13233965Sjdpconst bfd_target *_bfd_dummy_target PARAMS ((bfd *abfd)); 13333965Sjdp 13477298Sobrienvoid bfd_dont_truncate_arname PARAMS ((bfd *abfd, const char *filename, 13533965Sjdp char *hdr)); 13677298Sobrienvoid bfd_bsd_truncate_arname PARAMS ((bfd *abfd, const char *filename, 13733965Sjdp char *hdr)); 13877298Sobrienvoid bfd_gnu_truncate_arname PARAMS ((bfd *abfd, const char *filename, 13933965Sjdp char *hdr)); 14033965Sjdp 14133965Sjdpboolean bsd_write_armap PARAMS ((bfd *arch, unsigned int elength, 14233965Sjdp struct orl *map, unsigned int orl_count, int stridx)); 14333965Sjdp 14433965Sjdpboolean coff_write_armap PARAMS ((bfd *arch, unsigned int elength, 14533965Sjdp struct orl *map, unsigned int orl_count, int stridx)); 14633965Sjdp 14733965Sjdpextern PTR _bfd_generic_read_ar_hdr PARAMS ((bfd *)); 14833965Sjdp 14933965Sjdpextern PTR _bfd_generic_read_ar_hdr_mag PARAMS ((bfd *, const char *)); 15033965Sjdp 15133965Sjdpbfd * bfd_generic_openr_next_archived_file PARAMS ((bfd *archive, 15233965Sjdp bfd *last_file)); 15333965Sjdp 15433965Sjdpint bfd_generic_stat_arch_elt PARAMS ((bfd *, struct stat *)); 15533965Sjdp 15633965Sjdp#define _bfd_read_ar_hdr(abfd) \ 15733965Sjdp BFD_SEND (abfd, _bfd_read_ar_hdr_fn, (abfd)) 15833965Sjdp 15933965Sjdp/* Generic routines to use for BFD_JUMP_TABLE_GENERIC. Use 16033965Sjdp BFD_JUMP_TABLE_GENERIC (_bfd_generic). */ 16133965Sjdp 16233965Sjdp#define _bfd_generic_close_and_cleanup bfd_true 16333965Sjdp#define _bfd_generic_bfd_free_cached_info bfd_true 16433965Sjdp#define _bfd_generic_new_section_hook \ 16533965Sjdp ((boolean (*) PARAMS ((bfd *, asection *))) bfd_true) 16633965Sjdpextern boolean _bfd_generic_get_section_contents 16789857Sobrien PARAMS ((bfd *, asection *, PTR, file_ptr, bfd_size_type)); 16833965Sjdpextern boolean _bfd_generic_get_section_contents_in_window 16933965Sjdp PARAMS ((bfd *, asection *, bfd_window *, file_ptr, bfd_size_type)); 17033965Sjdp 17133965Sjdp/* Generic routines to use for BFD_JUMP_TABLE_COPY. Use 17233965Sjdp BFD_JUMP_TABLE_COPY (_bfd_generic). */ 17333965Sjdp 17433965Sjdp#define _bfd_generic_bfd_copy_private_bfd_data \ 17533965Sjdp ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_true) 17633965Sjdp#define _bfd_generic_bfd_merge_private_bfd_data \ 17733965Sjdp ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_true) 17833965Sjdp#define _bfd_generic_bfd_set_private_flags \ 17933965Sjdp ((boolean (*) PARAMS ((bfd *, flagword))) bfd_true) 18033965Sjdp#define _bfd_generic_bfd_copy_private_section_data \ 18133965Sjdp ((boolean (*) PARAMS ((bfd *, asection *, bfd *, asection *))) bfd_true) 18233965Sjdp#define _bfd_generic_bfd_copy_private_symbol_data \ 18333965Sjdp ((boolean (*) PARAMS ((bfd *, asymbol *, bfd *, asymbol *))) bfd_true) 18433965Sjdp#define _bfd_generic_bfd_print_private_bfd_data \ 18533965Sjdp ((boolean (*) PARAMS ((bfd *, PTR))) bfd_true) 18633965Sjdp 18733965Sjdp/* Routines to use for BFD_JUMP_TABLE_CORE when there is no core file 18833965Sjdp support. Use BFD_JUMP_TABLE_CORE (_bfd_nocore). */ 18933965Sjdp 19033965Sjdpextern char *_bfd_nocore_core_file_failing_command PARAMS ((bfd *)); 19133965Sjdpextern int _bfd_nocore_core_file_failing_signal PARAMS ((bfd *)); 19233965Sjdpextern boolean _bfd_nocore_core_file_matches_executable_p 19333965Sjdp PARAMS ((bfd *, bfd *)); 19433965Sjdp 19533965Sjdp/* Routines to use for BFD_JUMP_TABLE_ARCHIVE when there is no archive 19633965Sjdp file support. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive). */ 19733965Sjdp 19833965Sjdp#define _bfd_noarchive_slurp_armap bfd_false 19933965Sjdp#define _bfd_noarchive_slurp_extended_name_table bfd_false 20033965Sjdp#define _bfd_noarchive_construct_extended_name_table \ 20133965Sjdp ((boolean (*) PARAMS ((bfd *, char **, bfd_size_type *, const char **))) \ 20233965Sjdp bfd_false) 20333965Sjdp#define _bfd_noarchive_truncate_arname \ 20433965Sjdp ((void (*) PARAMS ((bfd *, const char *, char *))) bfd_void) 20533965Sjdp#define _bfd_noarchive_write_armap \ 20633965Sjdp ((boolean (*) \ 20733965Sjdp PARAMS ((bfd *, unsigned int, struct orl *, unsigned int, int))) \ 20833965Sjdp bfd_false) 20933965Sjdp#define _bfd_noarchive_read_ar_hdr bfd_nullvoidptr 21033965Sjdp#define _bfd_noarchive_openr_next_archived_file \ 21133965Sjdp ((bfd *(*) PARAMS ((bfd *, bfd *))) bfd_nullvoidptr) 21233965Sjdp#define _bfd_noarchive_get_elt_at_index \ 21333965Sjdp ((bfd *(*) PARAMS ((bfd *, symindex))) bfd_nullvoidptr) 21433965Sjdp#define _bfd_noarchive_generic_stat_arch_elt bfd_generic_stat_arch_elt 21533965Sjdp#define _bfd_noarchive_update_armap_timestamp bfd_false 21633965Sjdp 21733965Sjdp/* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get BSD style 21833965Sjdp archives. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_bsd). */ 21933965Sjdp 22033965Sjdp#define _bfd_archive_bsd_slurp_armap bfd_slurp_bsd_armap 22133965Sjdp#define _bfd_archive_bsd_slurp_extended_name_table \ 22233965Sjdp _bfd_slurp_extended_name_table 22333965Sjdpextern boolean _bfd_archive_bsd_construct_extended_name_table 22433965Sjdp PARAMS ((bfd *, char **, bfd_size_type *, const char **)); 22533965Sjdp#define _bfd_archive_bsd_truncate_arname bfd_bsd_truncate_arname 22633965Sjdp#define _bfd_archive_bsd_write_armap bsd_write_armap 22733965Sjdp#define _bfd_archive_bsd_read_ar_hdr _bfd_generic_read_ar_hdr 22833965Sjdp#define _bfd_archive_bsd_openr_next_archived_file \ 22933965Sjdp bfd_generic_openr_next_archived_file 23033965Sjdp#define _bfd_archive_bsd_get_elt_at_index _bfd_generic_get_elt_at_index 23133965Sjdp#define _bfd_archive_bsd_generic_stat_arch_elt \ 23233965Sjdp bfd_generic_stat_arch_elt 23333965Sjdpextern boolean _bfd_archive_bsd_update_armap_timestamp PARAMS ((bfd *)); 23433965Sjdp 23533965Sjdp/* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get COFF style 23633965Sjdp archives. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff). */ 23733965Sjdp 23833965Sjdp#define _bfd_archive_coff_slurp_armap bfd_slurp_coff_armap 23933965Sjdp#define _bfd_archive_coff_slurp_extended_name_table \ 24033965Sjdp _bfd_slurp_extended_name_table 24133965Sjdpextern boolean _bfd_archive_coff_construct_extended_name_table 24233965Sjdp PARAMS ((bfd *, char **, bfd_size_type *, const char **)); 24333965Sjdp#define _bfd_archive_coff_truncate_arname bfd_dont_truncate_arname 24433965Sjdp#define _bfd_archive_coff_write_armap coff_write_armap 24533965Sjdp#define _bfd_archive_coff_read_ar_hdr _bfd_generic_read_ar_hdr 24633965Sjdp#define _bfd_archive_coff_openr_next_archived_file \ 24733965Sjdp bfd_generic_openr_next_archived_file 24833965Sjdp#define _bfd_archive_coff_get_elt_at_index _bfd_generic_get_elt_at_index 24933965Sjdp#define _bfd_archive_coff_generic_stat_arch_elt \ 25033965Sjdp bfd_generic_stat_arch_elt 25133965Sjdp#define _bfd_archive_coff_update_armap_timestamp bfd_true 25233965Sjdp 25333965Sjdp/* Routines to use for BFD_JUMP_TABLE_SYMBOLS where there is no symbol 25433965Sjdp support. Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols). */ 25533965Sjdp 25633965Sjdp#define _bfd_nosymbols_get_symtab_upper_bound _bfd_n1 25733965Sjdp#define _bfd_nosymbols_get_symtab \ 25833965Sjdp ((long (*) PARAMS ((bfd *, asymbol **))) _bfd_n1) 25989857Sobrien#define _bfd_nosymbols_make_empty_symbol _bfd_generic_make_empty_symbol 26033965Sjdp#define _bfd_nosymbols_print_symbol \ 26133965Sjdp ((void (*) PARAMS ((bfd *, PTR, asymbol *, bfd_print_symbol_type))) bfd_void) 26233965Sjdp#define _bfd_nosymbols_get_symbol_info \ 26333965Sjdp ((void (*) PARAMS ((bfd *, asymbol *, symbol_info *))) bfd_void) 26433965Sjdp#define _bfd_nosymbols_bfd_is_local_label_name \ 26533965Sjdp ((boolean (*) PARAMS ((bfd *, const char *))) bfd_false) 26633965Sjdp#define _bfd_nosymbols_get_lineno \ 26733965Sjdp ((alent *(*) PARAMS ((bfd *, asymbol *))) bfd_nullvoidptr) 26833965Sjdp#define _bfd_nosymbols_find_nearest_line \ 26933965Sjdp ((boolean (*) \ 27033965Sjdp PARAMS ((bfd *, asection *, asymbol **, bfd_vma, const char **, \ 27133965Sjdp const char **, unsigned int *))) \ 27233965Sjdp bfd_false) 27333965Sjdp#define _bfd_nosymbols_bfd_make_debug_symbol \ 27433965Sjdp ((asymbol *(*) PARAMS ((bfd *, PTR, unsigned long))) bfd_nullvoidptr) 27533965Sjdp#define _bfd_nosymbols_read_minisymbols \ 27633965Sjdp ((long (*) PARAMS ((bfd *, boolean, PTR *, unsigned int *))) _bfd_n1) 27733965Sjdp#define _bfd_nosymbols_minisymbol_to_symbol \ 27833965Sjdp ((asymbol *(*) PARAMS ((bfd *, boolean, const PTR, asymbol *))) \ 27933965Sjdp bfd_nullvoidptr) 28033965Sjdp 28133965Sjdp/* Routines to use for BFD_JUMP_TABLE_RELOCS when there is no reloc 28233965Sjdp support. Use BFD_JUMP_TABLE_RELOCS (_bfd_norelocs). */ 28333965Sjdp 28433965Sjdp#define _bfd_norelocs_get_reloc_upper_bound \ 28533965Sjdp ((long (*) PARAMS ((bfd *, asection *))) _bfd_n1) 28633965Sjdp#define _bfd_norelocs_canonicalize_reloc \ 28733965Sjdp ((long (*) PARAMS ((bfd *, asection *, arelent **, asymbol **))) _bfd_n1) 28833965Sjdp#define _bfd_norelocs_bfd_reloc_type_lookup \ 28933965Sjdp ((reloc_howto_type *(*) PARAMS ((bfd *, bfd_reloc_code_real_type))) \ 29033965Sjdp bfd_nullvoidptr) 29133965Sjdp 29233965Sjdp/* Routines to use for BFD_JUMP_TABLE_WRITE for targets which may not 29333965Sjdp be written. Use BFD_JUMP_TABLE_WRITE (_bfd_nowrite). */ 29433965Sjdp 29533965Sjdp#define _bfd_nowrite_set_arch_mach \ 29633965Sjdp ((boolean (*) PARAMS ((bfd *, enum bfd_architecture, unsigned long))) \ 29733965Sjdp bfd_false) 29833965Sjdp#define _bfd_nowrite_set_section_contents \ 29933965Sjdp ((boolean (*) PARAMS ((bfd *, asection *, PTR, file_ptr, bfd_size_type))) \ 30033965Sjdp bfd_false) 30133965Sjdp 30233965Sjdp/* Generic routines to use for BFD_JUMP_TABLE_WRITE. Use 30333965Sjdp BFD_JUMP_TABLE_WRITE (_bfd_generic). */ 30433965Sjdp 30533965Sjdp#define _bfd_generic_set_arch_mach bfd_default_set_arch_mach 30633965Sjdpextern boolean _bfd_generic_set_section_contents 30733965Sjdp PARAMS ((bfd *, asection *, PTR, file_ptr, bfd_size_type)); 30833965Sjdp 30933965Sjdp/* Routines to use for BFD_JUMP_TABLE_LINK for targets which do not 31033965Sjdp support linking. Use BFD_JUMP_TABLE_LINK (_bfd_nolink). */ 31133965Sjdp 31233965Sjdp#define _bfd_nolink_sizeof_headers ((int (*) PARAMS ((bfd *, boolean))) bfd_0) 31333965Sjdp#define _bfd_nolink_bfd_get_relocated_section_contents \ 31433965Sjdp ((bfd_byte *(*) \ 31533965Sjdp PARAMS ((bfd *, struct bfd_link_info *, struct bfd_link_order *, \ 31633965Sjdp bfd_byte *, boolean, asymbol **))) \ 31733965Sjdp bfd_nullvoidptr) 31833965Sjdp#define _bfd_nolink_bfd_relax_section \ 31933965Sjdp ((boolean (*) \ 32033965Sjdp PARAMS ((bfd *, asection *, struct bfd_link_info *, boolean *))) \ 32133965Sjdp bfd_false) 32260484Sobrien#define _bfd_nolink_bfd_gc_sections \ 32360484Sobrien ((boolean (*) \ 32460484Sobrien PARAMS ((bfd *, struct bfd_link_info *))) \ 32560484Sobrien bfd_false) 32689857Sobrien#define _bfd_nolink_bfd_merge_sections \ 32789857Sobrien ((boolean (*) \ 32889857Sobrien PARAMS ((bfd *, struct bfd_link_info *))) \ 32989857Sobrien bfd_false) 33033965Sjdp#define _bfd_nolink_bfd_link_hash_table_create \ 33133965Sjdp ((struct bfd_link_hash_table *(*) PARAMS ((bfd *))) bfd_nullvoidptr) 33233965Sjdp#define _bfd_nolink_bfd_link_add_symbols \ 33333965Sjdp ((boolean (*) PARAMS ((bfd *, struct bfd_link_info *))) bfd_false) 33433965Sjdp#define _bfd_nolink_bfd_final_link \ 33533965Sjdp ((boolean (*) PARAMS ((bfd *, struct bfd_link_info *))) bfd_false) 33633965Sjdp#define _bfd_nolink_bfd_link_split_section \ 33733965Sjdp ((boolean (*) PARAMS ((bfd *, struct sec *))) bfd_false) 33833965Sjdp 33933965Sjdp/* Routines to use for BFD_JUMP_TABLE_DYNAMIC for targets which do not 34033965Sjdp have dynamic symbols or relocs. Use BFD_JUMP_TABLE_DYNAMIC 34133965Sjdp (_bfd_nodynamic). */ 34233965Sjdp 34333965Sjdp#define _bfd_nodynamic_get_dynamic_symtab_upper_bound _bfd_n1 34433965Sjdp#define _bfd_nodynamic_canonicalize_dynamic_symtab \ 34533965Sjdp ((long (*) PARAMS ((bfd *, asymbol **))) _bfd_n1) 34633965Sjdp#define _bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_n1 34733965Sjdp#define _bfd_nodynamic_canonicalize_dynamic_reloc \ 34833965Sjdp ((long (*) PARAMS ((bfd *, arelent **, asymbol **))) _bfd_n1) 34933965Sjdp 35033965Sjdp/* Generic routine to determine of the given symbol is a local 35133965Sjdp label. */ 35233965Sjdpextern boolean bfd_generic_is_local_label_name PARAMS ((bfd *, const char *)); 35333965Sjdp 35433965Sjdp/* Generic minisymbol routines. */ 35533965Sjdpextern long _bfd_generic_read_minisymbols 35633965Sjdp PARAMS ((bfd *, boolean, PTR *, unsigned int *)); 35733965Sjdpextern asymbol *_bfd_generic_minisymbol_to_symbol 35833965Sjdp PARAMS ((bfd *, boolean, const PTR, asymbol *)); 35933965Sjdp 36033965Sjdp/* Find the nearest line using .stab/.stabstr sections. */ 36133965Sjdpextern boolean _bfd_stab_section_find_nearest_line 36233965Sjdp PARAMS ((bfd *, asymbol **, asection *, bfd_vma, boolean *, const char **, 36333965Sjdp const char **, unsigned int *, PTR *)); 36433965Sjdp 36560484Sobrien/* Find the neaderst line using DWARF 1 debugging information. */ 36660484Sobrienextern boolean _bfd_dwarf1_find_nearest_line 36760484Sobrien PARAMS ((bfd *, asection *, asymbol **, bfd_vma, const char **, 36860484Sobrien const char **, unsigned int *)); 36960484Sobrien 37038889Sjdp/* Find the nearest line using DWARF 2 debugging information. */ 37138889Sjdpextern boolean _bfd_dwarf2_find_nearest_line 37238889Sjdp PARAMS ((bfd *, asection *, asymbol **, bfd_vma, const char **, 37377298Sobrien const char **, unsigned int *, unsigned int, 37477298Sobrien PTR *)); 37538889Sjdp 37689857Sobrien/* Create a new section entry. */ 37789857Sobrienextern struct bfd_hash_entry *bfd_section_hash_newfunc 37889857Sobrien PARAMS ((struct bfd_hash_entry *, struct bfd_hash_table *, const char *)); 37989857Sobrien 38033965Sjdp/* A routine to create entries for a bfd_link_hash_table. */ 38133965Sjdpextern struct bfd_hash_entry *_bfd_link_hash_newfunc 38233965Sjdp PARAMS ((struct bfd_hash_entry *entry, 38333965Sjdp struct bfd_hash_table *table, 38433965Sjdp const char *string)); 38533965Sjdp 38633965Sjdp/* Initialize a bfd_link_hash_table. */ 38733965Sjdpextern boolean _bfd_link_hash_table_init 38833965Sjdp PARAMS ((struct bfd_link_hash_table *, bfd *, 38933965Sjdp struct bfd_hash_entry *(*) (struct bfd_hash_entry *, 39033965Sjdp struct bfd_hash_table *, 39133965Sjdp const char *))); 39233965Sjdp 39333965Sjdp/* Generic link hash table creation routine. */ 39433965Sjdpextern struct bfd_link_hash_table *_bfd_generic_link_hash_table_create 39533965Sjdp PARAMS ((bfd *)); 39633965Sjdp 39733965Sjdp/* Generic add symbol routine. */ 39833965Sjdpextern boolean _bfd_generic_link_add_symbols 39933965Sjdp PARAMS ((bfd *, struct bfd_link_info *)); 40033965Sjdp 40133965Sjdp/* Generic add symbol routine. This version is used by targets for 40233965Sjdp which the linker must collect constructors and destructors by name, 40333965Sjdp as the collect2 program does. */ 40433965Sjdpextern boolean _bfd_generic_link_add_symbols_collect 40533965Sjdp PARAMS ((bfd *, struct bfd_link_info *)); 40633965Sjdp 40733965Sjdp/* Generic archive add symbol routine. */ 40833965Sjdpextern boolean _bfd_generic_link_add_archive_symbols 40933965Sjdp PARAMS ((bfd *, struct bfd_link_info *, 41033965Sjdp boolean (*checkfn) (bfd *, struct bfd_link_info *, boolean *))); 41133965Sjdp 41233965Sjdp 41333965Sjdp 41433965Sjdp/* Forward declaration to avoid prototype errors. */ 41533965Sjdptypedef struct bfd_link_hash_entry _bfd_link_hash_entry; 41633965Sjdp 41733965Sjdp/* Generic routine to add a single symbol. */ 41833965Sjdpextern boolean _bfd_generic_link_add_one_symbol 41933965Sjdp PARAMS ((struct bfd_link_info *, bfd *, const char *name, flagword, 42033965Sjdp asection *, bfd_vma, const char *, boolean copy, 42133965Sjdp boolean constructor, struct bfd_link_hash_entry **)); 42233965Sjdp 42333965Sjdp/* Generic link routine. */ 42433965Sjdpextern boolean _bfd_generic_final_link 42533965Sjdp PARAMS ((bfd *, struct bfd_link_info *)); 42633965Sjdp 42733965Sjdpextern boolean _bfd_generic_link_split_section 42833965Sjdp PARAMS ((bfd *, struct sec *)); 42933965Sjdp 43033965Sjdp/* Generic reloc_link_order processing routine. */ 43133965Sjdpextern boolean _bfd_generic_reloc_link_order 43233965Sjdp PARAMS ((bfd *, struct bfd_link_info *, asection *, 43333965Sjdp struct bfd_link_order *)); 43433965Sjdp 43533965Sjdp/* Default link order processing routine. */ 43633965Sjdpextern boolean _bfd_default_link_order 43733965Sjdp PARAMS ((bfd *, struct bfd_link_info *, asection *, 43833965Sjdp struct bfd_link_order *)); 43933965Sjdp 44033965Sjdp/* Count the number of reloc entries in a link order list. */ 44133965Sjdpextern unsigned int _bfd_count_link_order_relocs 44233965Sjdp PARAMS ((struct bfd_link_order *)); 44333965Sjdp 44433965Sjdp/* Final link relocation routine. */ 44533965Sjdpextern bfd_reloc_status_type _bfd_final_link_relocate 44633965Sjdp PARAMS ((reloc_howto_type *, bfd *, asection *, bfd_byte *, 44789857Sobrien bfd_vma, bfd_vma, bfd_vma)); 44833965Sjdp 44933965Sjdp/* Relocate a particular location by a howto and a value. */ 45033965Sjdpextern bfd_reloc_status_type _bfd_relocate_contents 45133965Sjdp PARAMS ((reloc_howto_type *, bfd *, bfd_vma, bfd_byte *)); 45233965Sjdp 45333965Sjdp/* Link stabs in sections in the first pass. */ 45433965Sjdp 45533965Sjdpextern boolean _bfd_link_section_stabs 45633965Sjdp PARAMS ((bfd *, PTR *, asection *, asection *, PTR *)); 45733965Sjdp 45889857Sobrien/* Eliminate stabs for discarded functions and symbols. */ 45989857Sobrienextern boolean _bfd_discard_section_stabs 46089857Sobrien PARAMS ((bfd *, asection *, PTR, 46189857Sobrien boolean (*) (bfd_vma, PTR), PTR)); 46289857Sobrien 46333965Sjdp/* Write out the .stab section when linking stabs in sections. */ 46433965Sjdp 46533965Sjdpextern boolean _bfd_write_section_stabs 46633965Sjdp PARAMS ((bfd *, PTR *, asection *, PTR *, bfd_byte *)); 46733965Sjdp 46833965Sjdp/* Write out the .stabstr string table when linking stabs in sections. */ 46933965Sjdp 47033965Sjdpextern boolean _bfd_write_stab_strings PARAMS ((bfd *, PTR *)); 47133965Sjdp 47233965Sjdp/* Find an offset within a .stab section when linking stabs in 47333965Sjdp sections. */ 47433965Sjdp 47533965Sjdpextern bfd_vma _bfd_stab_section_offset 47633965Sjdp PARAMS ((bfd *, PTR *, asection *, PTR *, bfd_vma)); 47733965Sjdp 47889857Sobrien/* Attempt to merge a SEC_MERGE section. */ 47989857Sobrien 48089857Sobrienextern boolean _bfd_merge_section 48189857Sobrien PARAMS ((bfd *, PTR *, asection *, PTR *)); 48289857Sobrien 48389857Sobrien/* Attempt to merge SEC_MERGE sections. */ 48489857Sobrien 48589857Sobrienextern boolean _bfd_merge_sections 48689857Sobrien PARAMS ((bfd *, PTR, void (*)(bfd *, asection *))); 48789857Sobrien 48889857Sobrien/* Write out a merged section. */ 48989857Sobrien 49089857Sobrienextern boolean _bfd_write_merged_section 49189857Sobrien PARAMS ((bfd *, asection *, PTR)); 49289857Sobrien 49389857Sobrien/* Find an offset within a modified SEC_MERGE section. */ 49489857Sobrien 49589857Sobrienextern bfd_vma _bfd_merged_section_offset 49689857Sobrien PARAMS ((bfd *, asection **, PTR, bfd_vma, bfd_vma)); 49789857Sobrien 49833965Sjdp/* Create a string table. */ 49933965Sjdpextern struct bfd_strtab_hash *_bfd_stringtab_init PARAMS ((void)); 50033965Sjdp 50133965Sjdp/* Create an XCOFF .debug section style string table. */ 50233965Sjdpextern struct bfd_strtab_hash *_bfd_xcoff_stringtab_init PARAMS ((void)); 50333965Sjdp 50433965Sjdp/* Free a string table. */ 50533965Sjdpextern void _bfd_stringtab_free PARAMS ((struct bfd_strtab_hash *)); 50633965Sjdp 50733965Sjdp/* Get the size of a string table. */ 50833965Sjdpextern bfd_size_type _bfd_stringtab_size PARAMS ((struct bfd_strtab_hash *)); 50933965Sjdp 51033965Sjdp/* Add a string to a string table. */ 51133965Sjdpextern bfd_size_type _bfd_stringtab_add 51233965Sjdp PARAMS ((struct bfd_strtab_hash *, const char *, boolean hash, 51333965Sjdp boolean copy)); 51433965Sjdp 51533965Sjdp/* Write out a string table. */ 51633965Sjdpextern boolean _bfd_stringtab_emit PARAMS ((bfd *, struct bfd_strtab_hash *)); 51760484Sobrien 51860484Sobrien/* Check that endianness of input and output file match. */ 51960484Sobrienextern boolean _bfd_generic_verify_endian_match PARAMS ((bfd *, bfd *)); 52033965Sjdp 52133965Sjdp/* Macros to tell if bfds are read or write enabled. 52233965Sjdp 52333965Sjdp Note that bfds open for read may be scribbled into if the fd passed 52433965Sjdp to bfd_fdopenr is actually open both for read and write 52533965Sjdp simultaneously. However an output bfd will never be open for 52633965Sjdp read. Therefore sometimes you want to check bfd_read_p or 52733965Sjdp !bfd_read_p, and only sometimes bfd_write_p. 52833965Sjdp*/ 52933965Sjdp 53033965Sjdp#define bfd_read_p(abfd) ((abfd)->direction == read_direction || (abfd)->direction == both_direction) 53133965Sjdp#define bfd_write_p(abfd) ((abfd)->direction == write_direction || (abfd)->direction == both_direction) 53233965Sjdp 53333965Sjdpvoid bfd_assert PARAMS ((const char*,int)); 53433965Sjdp 53533965Sjdp#define BFD_ASSERT(x) \ 53633965Sjdp{ if (!(x)) bfd_assert(__FILE__,__LINE__); } 53733965Sjdp 53833965Sjdp#define BFD_FAIL() \ 53933965Sjdp{ bfd_assert(__FILE__,__LINE__); } 54033965Sjdp 54160484Sobrienextern void _bfd_abort PARAMS ((const char *, int, const char *)) 54260484Sobrien ATTRIBUTE_NORETURN; 54360484Sobrien 54460484Sobrien/* if gcc >= 2.6, we can give a function name, too */ 54560484Sobrien#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6) 54660484Sobrien#define __PRETTY_FUNCTION__ ((char *) NULL) 54760484Sobrien#endif 54860484Sobrien 54960484Sobrien#undef abort 55060484Sobrien#define abort() _bfd_abort (__FILE__, __LINE__, __PRETTY_FUNCTION__) 55160484Sobrien 55233965SjdpFILE * bfd_cache_lookup_worker PARAMS ((bfd *)); 55333965Sjdp 55433965Sjdpextern bfd *bfd_last_cache; 55533965Sjdp 55633965Sjdp/* List of supported target vectors, and the default vector (if 55733965Sjdp bfd_default_vector[0] is NULL, there is no default). */ 55878828Sobrienextern const bfd_target * const *bfd_target_vector; 55933965Sjdpextern const bfd_target *bfd_default_vector[]; 56033965Sjdp 56133965Sjdp/* Functions shared by the ECOFF and MIPS ELF backends, which have no 56233965Sjdp other common header files. */ 56333965Sjdp 56433965Sjdp#if defined(__STDC__) || defined(ALMOST_STDC) 56533965Sjdpstruct ecoff_find_line; 56633965Sjdp#endif 56733965Sjdp 56833965Sjdpextern boolean _bfd_ecoff_locate_line 56933965Sjdp PARAMS ((bfd *, asection *, bfd_vma, struct ecoff_debug_info * const, 57033965Sjdp const struct ecoff_debug_swap * const, struct ecoff_find_line *, 57133965Sjdp const char **, const char **, unsigned int *)); 57233965Sjdpextern boolean _bfd_ecoff_get_accumulated_pdr PARAMS ((PTR, bfd_byte *)); 57333965Sjdpextern boolean _bfd_ecoff_get_accumulated_sym PARAMS ((PTR, bfd_byte *)); 57433965Sjdpextern boolean _bfd_ecoff_get_accumulated_ss PARAMS ((PTR, bfd_byte *)); 57533965Sjdp 57633965Sjdpextern bfd_vma _bfd_get_gp_value PARAMS ((bfd *)); 57733965Sjdpextern void _bfd_set_gp_value PARAMS ((bfd *, bfd_vma)); 57833965Sjdp 57933965Sjdp/* Function shared by the COFF and ELF SH backends, which have no 58033965Sjdp other common header files. */ 58133965Sjdp 58233965Sjdpextern boolean _bfd_sh_align_load_span 58333965Sjdp PARAMS ((bfd *, asection *, bfd_byte *, 58433965Sjdp boolean (*) (bfd *, asection *, PTR, bfd_byte *, bfd_vma), 58533965Sjdp PTR, bfd_vma **, bfd_vma *, bfd_vma, bfd_vma, boolean *)); 58633965Sjdp 58733965Sjdp/* And more follows */ 58833965Sjdp 58994536Sobrienboolean 59089857Sobrienbfd_write_bigendian_4byte_int PARAMS ((bfd *, unsigned int)); 59133965Sjdp 59277298Sobrienunsigned int 59333965Sjdpbfd_log2 PARAMS ((bfd_vma x)); 59433965Sjdp 59533965Sjdp#define BFD_CACHE_MAX_OPEN 10 59633965Sjdpextern bfd *bfd_last_cache; 59733965Sjdp 59833965Sjdp#define bfd_cache_lookup(x) \ 59933965Sjdp ((x)==bfd_last_cache? \ 60077298Sobrien (FILE*) (bfd_last_cache->iostream): \ 60133965Sjdp bfd_cache_lookup_worker(x)) 60277298Sobrienboolean 60377298Sobrienbfd_cache_init PARAMS ((bfd *abfd)); 60433965Sjdp 60577298Sobrienboolean 60677298Sobrienbfd_cache_close PARAMS ((bfd *abfd)); 60733965Sjdp 60877298SobrienFILE* 60933965Sjdpbfd_open_file PARAMS ((bfd *abfd)); 61033965Sjdp 61133965SjdpFILE * 61233965Sjdpbfd_cache_lookup_worker PARAMS ((bfd *abfd)); 61333965Sjdp 61433965Sjdp#ifdef _BFD_MAKE_TABLE_bfd_reloc_code_real 61533965Sjdp 61633965Sjdpstatic const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", 61733965Sjdp 61833965Sjdp "BFD_RELOC_64", 61933965Sjdp "BFD_RELOC_32", 62033965Sjdp "BFD_RELOC_26", 62133965Sjdp "BFD_RELOC_24", 62233965Sjdp "BFD_RELOC_16", 62333965Sjdp "BFD_RELOC_14", 62433965Sjdp "BFD_RELOC_8", 62533965Sjdp "BFD_RELOC_64_PCREL", 62633965Sjdp "BFD_RELOC_32_PCREL", 62733965Sjdp "BFD_RELOC_24_PCREL", 62833965Sjdp "BFD_RELOC_16_PCREL", 62933965Sjdp "BFD_RELOC_12_PCREL", 63033965Sjdp "BFD_RELOC_8_PCREL", 63133965Sjdp "BFD_RELOC_32_GOT_PCREL", 63233965Sjdp "BFD_RELOC_16_GOT_PCREL", 63333965Sjdp "BFD_RELOC_8_GOT_PCREL", 63433965Sjdp "BFD_RELOC_32_GOTOFF", 63533965Sjdp "BFD_RELOC_16_GOTOFF", 63633965Sjdp "BFD_RELOC_LO16_GOTOFF", 63733965Sjdp "BFD_RELOC_HI16_GOTOFF", 63833965Sjdp "BFD_RELOC_HI16_S_GOTOFF", 63933965Sjdp "BFD_RELOC_8_GOTOFF", 64089857Sobrien "BFD_RELOC_64_PLT_PCREL", 64133965Sjdp "BFD_RELOC_32_PLT_PCREL", 64233965Sjdp "BFD_RELOC_24_PLT_PCREL", 64333965Sjdp "BFD_RELOC_16_PLT_PCREL", 64433965Sjdp "BFD_RELOC_8_PLT_PCREL", 64589857Sobrien "BFD_RELOC_64_PLTOFF", 64633965Sjdp "BFD_RELOC_32_PLTOFF", 64733965Sjdp "BFD_RELOC_16_PLTOFF", 64833965Sjdp "BFD_RELOC_LO16_PLTOFF", 64933965Sjdp "BFD_RELOC_HI16_PLTOFF", 65033965Sjdp "BFD_RELOC_HI16_S_PLTOFF", 65133965Sjdp "BFD_RELOC_8_PLTOFF", 65233965Sjdp "BFD_RELOC_68K_GLOB_DAT", 65333965Sjdp "BFD_RELOC_68K_JMP_SLOT", 65433965Sjdp "BFD_RELOC_68K_RELATIVE", 65533965Sjdp "BFD_RELOC_32_BASEREL", 65633965Sjdp "BFD_RELOC_16_BASEREL", 65733965Sjdp "BFD_RELOC_LO16_BASEREL", 65833965Sjdp "BFD_RELOC_HI16_BASEREL", 65933965Sjdp "BFD_RELOC_HI16_S_BASEREL", 66033965Sjdp "BFD_RELOC_8_BASEREL", 66133965Sjdp "BFD_RELOC_RVA", 66233965Sjdp "BFD_RELOC_8_FFnn", 66333965Sjdp "BFD_RELOC_32_PCREL_S2", 66433965Sjdp "BFD_RELOC_16_PCREL_S2", 66533965Sjdp "BFD_RELOC_23_PCREL_S2", 66633965Sjdp "BFD_RELOC_HI22", 66733965Sjdp "BFD_RELOC_LO10", 66833965Sjdp "BFD_RELOC_GPREL16", 66933965Sjdp "BFD_RELOC_GPREL32", 67033965Sjdp "BFD_RELOC_I960_CALLJ", 67133965Sjdp "BFD_RELOC_NONE", 67233965Sjdp "BFD_RELOC_SPARC_WDISP22", 67333965Sjdp "BFD_RELOC_SPARC22", 67433965Sjdp "BFD_RELOC_SPARC13", 67533965Sjdp "BFD_RELOC_SPARC_GOT10", 67633965Sjdp "BFD_RELOC_SPARC_GOT13", 67733965Sjdp "BFD_RELOC_SPARC_GOT22", 67833965Sjdp "BFD_RELOC_SPARC_PC10", 67933965Sjdp "BFD_RELOC_SPARC_PC22", 68033965Sjdp "BFD_RELOC_SPARC_WPLT30", 68133965Sjdp "BFD_RELOC_SPARC_COPY", 68233965Sjdp "BFD_RELOC_SPARC_GLOB_DAT", 68333965Sjdp "BFD_RELOC_SPARC_JMP_SLOT", 68433965Sjdp "BFD_RELOC_SPARC_RELATIVE", 68578828Sobrien "BFD_RELOC_SPARC_UA16", 68633965Sjdp "BFD_RELOC_SPARC_UA32", 68778828Sobrien "BFD_RELOC_SPARC_UA64", 68833965Sjdp "BFD_RELOC_SPARC_BASE13", 68933965Sjdp "BFD_RELOC_SPARC_BASE22", 69033965Sjdp "BFD_RELOC_SPARC_10", 69133965Sjdp "BFD_RELOC_SPARC_11", 69233965Sjdp "BFD_RELOC_SPARC_OLO10", 69333965Sjdp "BFD_RELOC_SPARC_HH22", 69433965Sjdp "BFD_RELOC_SPARC_HM10", 69533965Sjdp "BFD_RELOC_SPARC_LM22", 69633965Sjdp "BFD_RELOC_SPARC_PC_HH22", 69733965Sjdp "BFD_RELOC_SPARC_PC_HM10", 69833965Sjdp "BFD_RELOC_SPARC_PC_LM22", 69933965Sjdp "BFD_RELOC_SPARC_WDISP16", 70033965Sjdp "BFD_RELOC_SPARC_WDISP19", 70133965Sjdp "BFD_RELOC_SPARC_7", 70233965Sjdp "BFD_RELOC_SPARC_6", 70333965Sjdp "BFD_RELOC_SPARC_5", 70489857Sobrien "BFD_RELOC_SPARC_PLT32", 70538889Sjdp "BFD_RELOC_SPARC_PLT64", 70638889Sjdp "BFD_RELOC_SPARC_HIX22", 70738889Sjdp "BFD_RELOC_SPARC_LOX10", 70838889Sjdp "BFD_RELOC_SPARC_H44", 70938889Sjdp "BFD_RELOC_SPARC_M44", 71038889Sjdp "BFD_RELOC_SPARC_L44", 71138889Sjdp "BFD_RELOC_SPARC_REGISTER", 71260484Sobrien "BFD_RELOC_SPARC_REV32", 71333965Sjdp "BFD_RELOC_ALPHA_GPDISP_HI16", 71433965Sjdp "BFD_RELOC_ALPHA_GPDISP_LO16", 71533965Sjdp "BFD_RELOC_ALPHA_GPDISP", 71633965Sjdp "BFD_RELOC_ALPHA_LITERAL", 71733965Sjdp "BFD_RELOC_ALPHA_ELF_LITERAL", 71833965Sjdp "BFD_RELOC_ALPHA_LITUSE", 71933965Sjdp "BFD_RELOC_ALPHA_HINT", 72033965Sjdp "BFD_RELOC_ALPHA_LINKAGE", 72133965Sjdp "BFD_RELOC_ALPHA_CODEADDR", 72289857Sobrien "BFD_RELOC_ALPHA_GPREL_HI16", 72389857Sobrien "BFD_RELOC_ALPHA_GPREL_LO16", 72491041Sobrien "BFD_RELOC_ALPHA_BRSGP", 72533965Sjdp "BFD_RELOC_MIPS_JMP", 72633965Sjdp "BFD_RELOC_MIPS16_JMP", 72733965Sjdp "BFD_RELOC_MIPS16_GPREL", 72833965Sjdp "BFD_RELOC_HI16", 72933965Sjdp "BFD_RELOC_HI16_S", 73033965Sjdp "BFD_RELOC_LO16", 73133965Sjdp "BFD_RELOC_PCREL_HI16_S", 73233965Sjdp "BFD_RELOC_PCREL_LO16", 73333965Sjdp "BFD_RELOC_MIPS_LITERAL", 73433965Sjdp "BFD_RELOC_MIPS_GOT16", 73533965Sjdp "BFD_RELOC_MIPS_CALL16", 73633965Sjdp "BFD_RELOC_MIPS_GOT_HI16", 73733965Sjdp "BFD_RELOC_MIPS_GOT_LO16", 73833965Sjdp "BFD_RELOC_MIPS_CALL_HI16", 73933965Sjdp "BFD_RELOC_MIPS_CALL_LO16", 74060484Sobrien "BFD_RELOC_MIPS_SUB", 74160484Sobrien "BFD_RELOC_MIPS_GOT_PAGE", 74260484Sobrien "BFD_RELOC_MIPS_GOT_OFST", 74360484Sobrien "BFD_RELOC_MIPS_GOT_DISP", 74478828Sobrien "BFD_RELOC_MIPS_SHIFT5", 74578828Sobrien "BFD_RELOC_MIPS_SHIFT6", 74678828Sobrien "BFD_RELOC_MIPS_INSERT_A", 74778828Sobrien "BFD_RELOC_MIPS_INSERT_B", 74878828Sobrien "BFD_RELOC_MIPS_DELETE", 74978828Sobrien "BFD_RELOC_MIPS_HIGHEST", 75078828Sobrien "BFD_RELOC_MIPS_HIGHER", 75178828Sobrien "BFD_RELOC_MIPS_SCN_DISP", 75278828Sobrien "BFD_RELOC_MIPS_REL16", 75378828Sobrien "BFD_RELOC_MIPS_RELGOT", 75478828Sobrien "BFD_RELOC_MIPS_JALR", 75591041Sobrien "BFD_RELOC_SH_GOT_LOW16", 75691041Sobrien "BFD_RELOC_SH_GOT_MEDLOW16", 75791041Sobrien "BFD_RELOC_SH_GOT_MEDHI16", 75891041Sobrien "BFD_RELOC_SH_GOT_HI16", 75991041Sobrien "BFD_RELOC_SH_GOTPLT_LOW16", 76091041Sobrien "BFD_RELOC_SH_GOTPLT_MEDLOW16", 76191041Sobrien "BFD_RELOC_SH_GOTPLT_MEDHI16", 76291041Sobrien "BFD_RELOC_SH_GOTPLT_HI16", 76391041Sobrien "BFD_RELOC_SH_PLT_LOW16", 76491041Sobrien "BFD_RELOC_SH_PLT_MEDLOW16", 76591041Sobrien "BFD_RELOC_SH_PLT_MEDHI16", 76691041Sobrien "BFD_RELOC_SH_PLT_HI16", 76791041Sobrien "BFD_RELOC_SH_GOTOFF_LOW16", 76891041Sobrien "BFD_RELOC_SH_GOTOFF_MEDLOW16", 76991041Sobrien "BFD_RELOC_SH_GOTOFF_MEDHI16", 77091041Sobrien "BFD_RELOC_SH_GOTOFF_HI16", 77191041Sobrien "BFD_RELOC_SH_GOTPC_LOW16", 77291041Sobrien "BFD_RELOC_SH_GOTPC_MEDLOW16", 77391041Sobrien "BFD_RELOC_SH_GOTPC_MEDHI16", 77491041Sobrien "BFD_RELOC_SH_GOTPC_HI16", 77591041Sobrien "BFD_RELOC_SH_COPY64", 77691041Sobrien "BFD_RELOC_SH_GLOB_DAT64", 77791041Sobrien "BFD_RELOC_SH_JMP_SLOT64", 77891041Sobrien "BFD_RELOC_SH_RELATIVE64", 77991041Sobrien "BFD_RELOC_SH_GOT10BY4", 78091041Sobrien "BFD_RELOC_SH_GOT10BY8", 78191041Sobrien "BFD_RELOC_SH_GOTPLT10BY4", 78291041Sobrien "BFD_RELOC_SH_GOTPLT10BY8", 78391041Sobrien "BFD_RELOC_SH_GOTPLT32", 78491041Sobrien "BFD_RELOC_SH_SHMEDIA_CODE", 78591041Sobrien "BFD_RELOC_SH_IMMU5", 78691041Sobrien "BFD_RELOC_SH_IMMS6", 78791041Sobrien "BFD_RELOC_SH_IMMS6BY32", 78891041Sobrien "BFD_RELOC_SH_IMMU6", 78991041Sobrien "BFD_RELOC_SH_IMMS10", 79091041Sobrien "BFD_RELOC_SH_IMMS10BY2", 79191041Sobrien "BFD_RELOC_SH_IMMS10BY4", 79291041Sobrien "BFD_RELOC_SH_IMMS10BY8", 79391041Sobrien "BFD_RELOC_SH_IMMS16", 79491041Sobrien "BFD_RELOC_SH_IMMU16", 79591041Sobrien "BFD_RELOC_SH_IMM_LOW16", 79691041Sobrien "BFD_RELOC_SH_IMM_LOW16_PCREL", 79791041Sobrien "BFD_RELOC_SH_IMM_MEDLOW16", 79891041Sobrien "BFD_RELOC_SH_IMM_MEDLOW16_PCREL", 79991041Sobrien "BFD_RELOC_SH_IMM_MEDHI16", 80091041Sobrien "BFD_RELOC_SH_IMM_MEDHI16_PCREL", 80191041Sobrien "BFD_RELOC_SH_IMM_HI16", 80291041Sobrien "BFD_RELOC_SH_IMM_HI16_PCREL", 80391041Sobrien "BFD_RELOC_SH_PT_16", 80438889Sjdp 80533965Sjdp "BFD_RELOC_386_GOT32", 80633965Sjdp "BFD_RELOC_386_PLT32", 80733965Sjdp "BFD_RELOC_386_COPY", 80833965Sjdp "BFD_RELOC_386_GLOB_DAT", 80933965Sjdp "BFD_RELOC_386_JUMP_SLOT", 81033965Sjdp "BFD_RELOC_386_RELATIVE", 81133965Sjdp "BFD_RELOC_386_GOTOFF", 81233965Sjdp "BFD_RELOC_386_GOTPC", 81377298Sobrien "BFD_RELOC_X86_64_GOT32", 81477298Sobrien "BFD_RELOC_X86_64_PLT32", 81577298Sobrien "BFD_RELOC_X86_64_COPY", 81677298Sobrien "BFD_RELOC_X86_64_GLOB_DAT", 81777298Sobrien "BFD_RELOC_X86_64_JUMP_SLOT", 81877298Sobrien "BFD_RELOC_X86_64_RELATIVE", 81977298Sobrien "BFD_RELOC_X86_64_GOTPCREL", 82077298Sobrien "BFD_RELOC_X86_64_32S", 82133965Sjdp "BFD_RELOC_NS32K_IMM_8", 82233965Sjdp "BFD_RELOC_NS32K_IMM_16", 82333965Sjdp "BFD_RELOC_NS32K_IMM_32", 82433965Sjdp "BFD_RELOC_NS32K_IMM_8_PCREL", 82533965Sjdp "BFD_RELOC_NS32K_IMM_16_PCREL", 82633965Sjdp "BFD_RELOC_NS32K_IMM_32_PCREL", 82733965Sjdp "BFD_RELOC_NS32K_DISP_8", 82833965Sjdp "BFD_RELOC_NS32K_DISP_16", 82933965Sjdp "BFD_RELOC_NS32K_DISP_32", 83033965Sjdp "BFD_RELOC_NS32K_DISP_8_PCREL", 83133965Sjdp "BFD_RELOC_NS32K_DISP_16_PCREL", 83233965Sjdp "BFD_RELOC_NS32K_DISP_32_PCREL", 83389857Sobrien "BFD_RELOC_PDP11_DISP_8_PCREL", 83489857Sobrien "BFD_RELOC_PDP11_DISP_6_PCREL", 83560484Sobrien "BFD_RELOC_PJ_CODE_HI16", 83660484Sobrien "BFD_RELOC_PJ_CODE_LO16", 83760484Sobrien "BFD_RELOC_PJ_CODE_DIR16", 83860484Sobrien "BFD_RELOC_PJ_CODE_DIR32", 83960484Sobrien "BFD_RELOC_PJ_CODE_REL16", 84060484Sobrien "BFD_RELOC_PJ_CODE_REL32", 84133965Sjdp "BFD_RELOC_PPC_B26", 84233965Sjdp "BFD_RELOC_PPC_BA26", 84333965Sjdp "BFD_RELOC_PPC_TOC16", 84433965Sjdp "BFD_RELOC_PPC_B16", 84533965Sjdp "BFD_RELOC_PPC_B16_BRTAKEN", 84633965Sjdp "BFD_RELOC_PPC_B16_BRNTAKEN", 84733965Sjdp "BFD_RELOC_PPC_BA16", 84833965Sjdp "BFD_RELOC_PPC_BA16_BRTAKEN", 84933965Sjdp "BFD_RELOC_PPC_BA16_BRNTAKEN", 85033965Sjdp "BFD_RELOC_PPC_COPY", 85133965Sjdp "BFD_RELOC_PPC_GLOB_DAT", 85233965Sjdp "BFD_RELOC_PPC_JMP_SLOT", 85333965Sjdp "BFD_RELOC_PPC_RELATIVE", 85433965Sjdp "BFD_RELOC_PPC_LOCAL24PC", 85533965Sjdp "BFD_RELOC_PPC_EMB_NADDR32", 85633965Sjdp "BFD_RELOC_PPC_EMB_NADDR16", 85733965Sjdp "BFD_RELOC_PPC_EMB_NADDR16_LO", 85833965Sjdp "BFD_RELOC_PPC_EMB_NADDR16_HI", 85933965Sjdp "BFD_RELOC_PPC_EMB_NADDR16_HA", 86033965Sjdp "BFD_RELOC_PPC_EMB_SDAI16", 86133965Sjdp "BFD_RELOC_PPC_EMB_SDA2I16", 86233965Sjdp "BFD_RELOC_PPC_EMB_SDA2REL", 86333965Sjdp "BFD_RELOC_PPC_EMB_SDA21", 86433965Sjdp "BFD_RELOC_PPC_EMB_MRKREF", 86533965Sjdp "BFD_RELOC_PPC_EMB_RELSEC16", 86633965Sjdp "BFD_RELOC_PPC_EMB_RELST_LO", 86733965Sjdp "BFD_RELOC_PPC_EMB_RELST_HI", 86833965Sjdp "BFD_RELOC_PPC_EMB_RELST_HA", 86933965Sjdp "BFD_RELOC_PPC_EMB_BIT_FLD", 87033965Sjdp "BFD_RELOC_PPC_EMB_RELSDA", 87189857Sobrien "BFD_RELOC_PPC64_HIGHER", 87289857Sobrien "BFD_RELOC_PPC64_HIGHER_S", 87389857Sobrien "BFD_RELOC_PPC64_HIGHEST", 87489857Sobrien "BFD_RELOC_PPC64_HIGHEST_S", 87589857Sobrien "BFD_RELOC_PPC64_TOC16_LO", 87689857Sobrien "BFD_RELOC_PPC64_TOC16_HI", 87789857Sobrien "BFD_RELOC_PPC64_TOC16_HA", 87889857Sobrien "BFD_RELOC_PPC64_TOC", 87989857Sobrien "BFD_RELOC_PPC64_PLTGOT16", 88089857Sobrien "BFD_RELOC_PPC64_PLTGOT16_LO", 88189857Sobrien "BFD_RELOC_PPC64_PLTGOT16_HI", 88289857Sobrien "BFD_RELOC_PPC64_PLTGOT16_HA", 88389857Sobrien "BFD_RELOC_PPC64_ADDR16_DS", 88489857Sobrien "BFD_RELOC_PPC64_ADDR16_LO_DS", 88589857Sobrien "BFD_RELOC_PPC64_GOT16_DS", 88689857Sobrien "BFD_RELOC_PPC64_GOT16_LO_DS", 88789857Sobrien "BFD_RELOC_PPC64_PLT16_LO_DS", 88889857Sobrien "BFD_RELOC_PPC64_SECTOFF_DS", 88989857Sobrien "BFD_RELOC_PPC64_SECTOFF_LO_DS", 89089857Sobrien "BFD_RELOC_PPC64_TOC16_DS", 89189857Sobrien "BFD_RELOC_PPC64_TOC16_LO_DS", 89289857Sobrien "BFD_RELOC_PPC64_PLTGOT16_DS", 89389857Sobrien "BFD_RELOC_PPC64_PLTGOT16_LO_DS", 89460484Sobrien "BFD_RELOC_I370_D12", 89533965Sjdp "BFD_RELOC_CTOR", 89633965Sjdp "BFD_RELOC_ARM_PCREL_BRANCH", 89777298Sobrien "BFD_RELOC_ARM_PCREL_BLX", 89877298Sobrien "BFD_RELOC_THUMB_PCREL_BLX", 89933965Sjdp "BFD_RELOC_ARM_IMMEDIATE", 90060484Sobrien "BFD_RELOC_ARM_ADRL_IMMEDIATE", 90133965Sjdp "BFD_RELOC_ARM_OFFSET_IMM", 90233965Sjdp "BFD_RELOC_ARM_SHIFT_IMM", 90333965Sjdp "BFD_RELOC_ARM_SWI", 90433965Sjdp "BFD_RELOC_ARM_MULTI", 90533965Sjdp "BFD_RELOC_ARM_CP_OFF_IMM", 90633965Sjdp "BFD_RELOC_ARM_ADR_IMM", 90733965Sjdp "BFD_RELOC_ARM_LDR_IMM", 90833965Sjdp "BFD_RELOC_ARM_LITERAL", 90933965Sjdp "BFD_RELOC_ARM_IN_POOL", 91033965Sjdp "BFD_RELOC_ARM_OFFSET_IMM8", 91133965Sjdp "BFD_RELOC_ARM_HWLITERAL", 91233965Sjdp "BFD_RELOC_ARM_THUMB_ADD", 91333965Sjdp "BFD_RELOC_ARM_THUMB_IMM", 91433965Sjdp "BFD_RELOC_ARM_THUMB_SHIFT", 91533965Sjdp "BFD_RELOC_ARM_THUMB_OFFSET", 91660484Sobrien "BFD_RELOC_ARM_GOT12", 91760484Sobrien "BFD_RELOC_ARM_GOT32", 91860484Sobrien "BFD_RELOC_ARM_JUMP_SLOT", 91960484Sobrien "BFD_RELOC_ARM_COPY", 92060484Sobrien "BFD_RELOC_ARM_GLOB_DAT", 92160484Sobrien "BFD_RELOC_ARM_PLT32", 92260484Sobrien "BFD_RELOC_ARM_RELATIVE", 92360484Sobrien "BFD_RELOC_ARM_GOTOFF", 92460484Sobrien "BFD_RELOC_ARM_GOTPC", 92533965Sjdp "BFD_RELOC_SH_PCDISP8BY2", 92633965Sjdp "BFD_RELOC_SH_PCDISP12BY2", 92733965Sjdp "BFD_RELOC_SH_IMM4", 92833965Sjdp "BFD_RELOC_SH_IMM4BY2", 92933965Sjdp "BFD_RELOC_SH_IMM4BY4", 93033965Sjdp "BFD_RELOC_SH_IMM8", 93133965Sjdp "BFD_RELOC_SH_IMM8BY2", 93233965Sjdp "BFD_RELOC_SH_IMM8BY4", 93333965Sjdp "BFD_RELOC_SH_PCRELIMM8BY2", 93433965Sjdp "BFD_RELOC_SH_PCRELIMM8BY4", 93533965Sjdp "BFD_RELOC_SH_SWITCH16", 93633965Sjdp "BFD_RELOC_SH_SWITCH32", 93733965Sjdp "BFD_RELOC_SH_USES", 93833965Sjdp "BFD_RELOC_SH_COUNT", 93933965Sjdp "BFD_RELOC_SH_ALIGN", 94033965Sjdp "BFD_RELOC_SH_CODE", 94133965Sjdp "BFD_RELOC_SH_DATA", 94233965Sjdp "BFD_RELOC_SH_LABEL", 94377298Sobrien "BFD_RELOC_SH_LOOP_START", 94477298Sobrien "BFD_RELOC_SH_LOOP_END", 94577298Sobrien "BFD_RELOC_SH_COPY", 94677298Sobrien "BFD_RELOC_SH_GLOB_DAT", 94777298Sobrien "BFD_RELOC_SH_JMP_SLOT", 94877298Sobrien "BFD_RELOC_SH_RELATIVE", 94977298Sobrien "BFD_RELOC_SH_GOTPC", 95038889Sjdp "BFD_RELOC_THUMB_PCREL_BRANCH9", 95138889Sjdp "BFD_RELOC_THUMB_PCREL_BRANCH12", 95238889Sjdp "BFD_RELOC_THUMB_PCREL_BRANCH23", 95338889Sjdp "BFD_RELOC_ARC_B22_PCREL", 95438889Sjdp "BFD_RELOC_ARC_B26", 95533965Sjdp "BFD_RELOC_D10V_10_PCREL_R", 95633965Sjdp "BFD_RELOC_D10V_10_PCREL_L", 95733965Sjdp "BFD_RELOC_D10V_18", 95833965Sjdp "BFD_RELOC_D10V_18_PCREL", 95960484Sobrien "BFD_RELOC_D30V_6", 96060484Sobrien "BFD_RELOC_D30V_9_PCREL", 96160484Sobrien "BFD_RELOC_D30V_9_PCREL_R", 96260484Sobrien "BFD_RELOC_D30V_15", 96360484Sobrien "BFD_RELOC_D30V_15_PCREL", 96460484Sobrien "BFD_RELOC_D30V_15_PCREL_R", 96560484Sobrien "BFD_RELOC_D30V_21", 96660484Sobrien "BFD_RELOC_D30V_21_PCREL", 96760484Sobrien "BFD_RELOC_D30V_21_PCREL_R", 96860484Sobrien "BFD_RELOC_D30V_32", 96960484Sobrien "BFD_RELOC_D30V_32_PCREL", 97033965Sjdp "BFD_RELOC_M32R_24", 97133965Sjdp "BFD_RELOC_M32R_10_PCREL", 97233965Sjdp "BFD_RELOC_M32R_18_PCREL", 97333965Sjdp "BFD_RELOC_M32R_26_PCREL", 97433965Sjdp "BFD_RELOC_M32R_HI16_ULO", 97533965Sjdp "BFD_RELOC_M32R_HI16_SLO", 97633965Sjdp "BFD_RELOC_M32R_LO16", 97733965Sjdp "BFD_RELOC_M32R_SDA16", 97838889Sjdp "BFD_RELOC_V850_9_PCREL", 97938889Sjdp "BFD_RELOC_V850_22_PCREL", 98038889Sjdp "BFD_RELOC_V850_SDA_16_16_OFFSET", 98138889Sjdp "BFD_RELOC_V850_SDA_15_16_OFFSET", 98238889Sjdp "BFD_RELOC_V850_ZDA_16_16_OFFSET", 98338889Sjdp "BFD_RELOC_V850_ZDA_15_16_OFFSET", 98438889Sjdp "BFD_RELOC_V850_TDA_6_8_OFFSET", 98538889Sjdp "BFD_RELOC_V850_TDA_7_8_OFFSET", 98638889Sjdp "BFD_RELOC_V850_TDA_7_7_OFFSET", 98738889Sjdp "BFD_RELOC_V850_TDA_16_16_OFFSET", 98860484Sobrien "BFD_RELOC_V850_TDA_4_5_OFFSET", 98960484Sobrien "BFD_RELOC_V850_TDA_4_4_OFFSET", 99060484Sobrien "BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET", 99160484Sobrien "BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET", 99260484Sobrien "BFD_RELOC_V850_CALLT_6_7_OFFSET", 99360484Sobrien "BFD_RELOC_V850_CALLT_16_16_OFFSET", 99433965Sjdp 99533965Sjdp "BFD_RELOC_MN10300_32_PCREL", 99633965Sjdp "BFD_RELOC_MN10300_16_PCREL", 99738889Sjdp "BFD_RELOC_TIC30_LDP", 99877298Sobrien "BFD_RELOC_TIC54X_PARTLS7", 99977298Sobrien "BFD_RELOC_TIC54X_PARTMS9", 100077298Sobrien "BFD_RELOC_TIC54X_23", 100177298Sobrien "BFD_RELOC_TIC54X_16_OF_23", 100277298Sobrien "BFD_RELOC_TIC54X_MS7_OF_23", 100360484Sobrien "BFD_RELOC_FR30_48", 100460484Sobrien "BFD_RELOC_FR30_20", 100560484Sobrien "BFD_RELOC_FR30_6_IN_4", 100660484Sobrien "BFD_RELOC_FR30_8_IN_8", 100760484Sobrien "BFD_RELOC_FR30_9_IN_8", 100860484Sobrien "BFD_RELOC_FR30_10_IN_8", 100960484Sobrien "BFD_RELOC_FR30_9_PCREL", 101060484Sobrien "BFD_RELOC_FR30_12_PCREL", 101160484Sobrien "BFD_RELOC_MCORE_PCREL_IMM8BY4", 101260484Sobrien "BFD_RELOC_MCORE_PCREL_IMM11BY2", 101360484Sobrien "BFD_RELOC_MCORE_PCREL_IMM4BY2", 101460484Sobrien "BFD_RELOC_MCORE_PCREL_32", 101560484Sobrien "BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2", 101660484Sobrien "BFD_RELOC_MCORE_RVA", 101789857Sobrien "BFD_RELOC_MMIX_GETA", 101889857Sobrien "BFD_RELOC_MMIX_GETA_1", 101989857Sobrien "BFD_RELOC_MMIX_GETA_2", 102089857Sobrien "BFD_RELOC_MMIX_GETA_3", 102189857Sobrien "BFD_RELOC_MMIX_CBRANCH", 102289857Sobrien "BFD_RELOC_MMIX_CBRANCH_J", 102389857Sobrien "BFD_RELOC_MMIX_CBRANCH_1", 102489857Sobrien "BFD_RELOC_MMIX_CBRANCH_2", 102589857Sobrien "BFD_RELOC_MMIX_CBRANCH_3", 102689857Sobrien "BFD_RELOC_MMIX_PUSHJ", 102789857Sobrien "BFD_RELOC_MMIX_PUSHJ_1", 102889857Sobrien "BFD_RELOC_MMIX_PUSHJ_2", 102989857Sobrien "BFD_RELOC_MMIX_PUSHJ_3", 103089857Sobrien "BFD_RELOC_MMIX_JMP", 103189857Sobrien "BFD_RELOC_MMIX_JMP_1", 103289857Sobrien "BFD_RELOC_MMIX_JMP_2", 103389857Sobrien "BFD_RELOC_MMIX_JMP_3", 103489857Sobrien "BFD_RELOC_MMIX_ADDR19", 103589857Sobrien "BFD_RELOC_MMIX_ADDR27", 103689857Sobrien "BFD_RELOC_MMIX_REG_OR_BYTE", 103789857Sobrien "BFD_RELOC_MMIX_REG", 103889857Sobrien "BFD_RELOC_MMIX_BASE_PLUS_OFFSET", 103989857Sobrien "BFD_RELOC_MMIX_LOCAL", 104060484Sobrien "BFD_RELOC_AVR_7_PCREL", 104160484Sobrien "BFD_RELOC_AVR_13_PCREL", 104260484Sobrien "BFD_RELOC_AVR_16_PM", 104360484Sobrien "BFD_RELOC_AVR_LO8_LDI", 104460484Sobrien "BFD_RELOC_AVR_HI8_LDI", 104560484Sobrien "BFD_RELOC_AVR_HH8_LDI", 104660484Sobrien "BFD_RELOC_AVR_LO8_LDI_NEG", 104760484Sobrien "BFD_RELOC_AVR_HI8_LDI_NEG", 104860484Sobrien "BFD_RELOC_AVR_HH8_LDI_NEG", 104960484Sobrien "BFD_RELOC_AVR_LO8_LDI_PM", 105060484Sobrien "BFD_RELOC_AVR_HI8_LDI_PM", 105160484Sobrien "BFD_RELOC_AVR_HH8_LDI_PM", 105260484Sobrien "BFD_RELOC_AVR_LO8_LDI_PM_NEG", 105360484Sobrien "BFD_RELOC_AVR_HI8_LDI_PM_NEG", 105460484Sobrien "BFD_RELOC_AVR_HH8_LDI_PM_NEG", 105560484Sobrien "BFD_RELOC_AVR_CALL", 105689857Sobrien "BFD_RELOC_390_12", 105789857Sobrien "BFD_RELOC_390_GOT12", 105889857Sobrien "BFD_RELOC_390_PLT32", 105989857Sobrien "BFD_RELOC_390_COPY", 106089857Sobrien "BFD_RELOC_390_GLOB_DAT", 106189857Sobrien "BFD_RELOC_390_JMP_SLOT", 106289857Sobrien "BFD_RELOC_390_RELATIVE", 106389857Sobrien "BFD_RELOC_390_GOTPC", 106489857Sobrien "BFD_RELOC_390_GOT16", 106589857Sobrien "BFD_RELOC_390_PC16DBL", 106689857Sobrien "BFD_RELOC_390_PLT16DBL", 106789857Sobrien "BFD_RELOC_390_PC32DBL", 106889857Sobrien "BFD_RELOC_390_PLT32DBL", 106989857Sobrien "BFD_RELOC_390_GOTPCDBL", 107089857Sobrien "BFD_RELOC_390_GOT64", 107189857Sobrien "BFD_RELOC_390_PLT64", 107289857Sobrien "BFD_RELOC_390_GOTENT", 107360484Sobrien "BFD_RELOC_VTABLE_INHERIT", 107460484Sobrien "BFD_RELOC_VTABLE_ENTRY", 107577298Sobrien "BFD_RELOC_IA64_IMM14", 107677298Sobrien "BFD_RELOC_IA64_IMM22", 107777298Sobrien "BFD_RELOC_IA64_IMM64", 107877298Sobrien "BFD_RELOC_IA64_DIR32MSB", 107977298Sobrien "BFD_RELOC_IA64_DIR32LSB", 108077298Sobrien "BFD_RELOC_IA64_DIR64MSB", 108177298Sobrien "BFD_RELOC_IA64_DIR64LSB", 108277298Sobrien "BFD_RELOC_IA64_GPREL22", 108377298Sobrien "BFD_RELOC_IA64_GPREL64I", 108477298Sobrien "BFD_RELOC_IA64_GPREL32MSB", 108577298Sobrien "BFD_RELOC_IA64_GPREL32LSB", 108677298Sobrien "BFD_RELOC_IA64_GPREL64MSB", 108777298Sobrien "BFD_RELOC_IA64_GPREL64LSB", 108877298Sobrien "BFD_RELOC_IA64_LTOFF22", 108977298Sobrien "BFD_RELOC_IA64_LTOFF64I", 109077298Sobrien "BFD_RELOC_IA64_PLTOFF22", 109177298Sobrien "BFD_RELOC_IA64_PLTOFF64I", 109277298Sobrien "BFD_RELOC_IA64_PLTOFF64MSB", 109377298Sobrien "BFD_RELOC_IA64_PLTOFF64LSB", 109477298Sobrien "BFD_RELOC_IA64_FPTR64I", 109577298Sobrien "BFD_RELOC_IA64_FPTR32MSB", 109677298Sobrien "BFD_RELOC_IA64_FPTR32LSB", 109777298Sobrien "BFD_RELOC_IA64_FPTR64MSB", 109877298Sobrien "BFD_RELOC_IA64_FPTR64LSB", 109977298Sobrien "BFD_RELOC_IA64_PCREL21B", 110077298Sobrien "BFD_RELOC_IA64_PCREL21BI", 110177298Sobrien "BFD_RELOC_IA64_PCREL21M", 110277298Sobrien "BFD_RELOC_IA64_PCREL21F", 110377298Sobrien "BFD_RELOC_IA64_PCREL22", 110477298Sobrien "BFD_RELOC_IA64_PCREL60B", 110577298Sobrien "BFD_RELOC_IA64_PCREL64I", 110677298Sobrien "BFD_RELOC_IA64_PCREL32MSB", 110777298Sobrien "BFD_RELOC_IA64_PCREL32LSB", 110877298Sobrien "BFD_RELOC_IA64_PCREL64MSB", 110977298Sobrien "BFD_RELOC_IA64_PCREL64LSB", 111077298Sobrien "BFD_RELOC_IA64_LTOFF_FPTR22", 111177298Sobrien "BFD_RELOC_IA64_LTOFF_FPTR64I", 111289857Sobrien "BFD_RELOC_IA64_LTOFF_FPTR32MSB", 111389857Sobrien "BFD_RELOC_IA64_LTOFF_FPTR32LSB", 111477298Sobrien "BFD_RELOC_IA64_LTOFF_FPTR64MSB", 111577298Sobrien "BFD_RELOC_IA64_LTOFF_FPTR64LSB", 111677298Sobrien "BFD_RELOC_IA64_SEGREL32MSB", 111777298Sobrien "BFD_RELOC_IA64_SEGREL32LSB", 111877298Sobrien "BFD_RELOC_IA64_SEGREL64MSB", 111977298Sobrien "BFD_RELOC_IA64_SEGREL64LSB", 112077298Sobrien "BFD_RELOC_IA64_SECREL32MSB", 112177298Sobrien "BFD_RELOC_IA64_SECREL32LSB", 112277298Sobrien "BFD_RELOC_IA64_SECREL64MSB", 112377298Sobrien "BFD_RELOC_IA64_SECREL64LSB", 112477298Sobrien "BFD_RELOC_IA64_REL32MSB", 112577298Sobrien "BFD_RELOC_IA64_REL32LSB", 112677298Sobrien "BFD_RELOC_IA64_REL64MSB", 112777298Sobrien "BFD_RELOC_IA64_REL64LSB", 112877298Sobrien "BFD_RELOC_IA64_LTV32MSB", 112977298Sobrien "BFD_RELOC_IA64_LTV32LSB", 113077298Sobrien "BFD_RELOC_IA64_LTV64MSB", 113177298Sobrien "BFD_RELOC_IA64_LTV64LSB", 113277298Sobrien "BFD_RELOC_IA64_IPLTMSB", 113377298Sobrien "BFD_RELOC_IA64_IPLTLSB", 113477298Sobrien "BFD_RELOC_IA64_COPY", 113577298Sobrien "BFD_RELOC_IA64_TPREL22", 113677298Sobrien "BFD_RELOC_IA64_TPREL64MSB", 113777298Sobrien "BFD_RELOC_IA64_TPREL64LSB", 113877298Sobrien "BFD_RELOC_IA64_LTOFF_TP22", 113977298Sobrien "BFD_RELOC_IA64_LTOFF22X", 114077298Sobrien "BFD_RELOC_IA64_LDXMOV", 114177298Sobrien "BFD_RELOC_M68HC11_HI8", 114277298Sobrien "BFD_RELOC_M68HC11_LO8", 114377298Sobrien "BFD_RELOC_M68HC11_3B", 114477298Sobrien "BFD_RELOC_CRIS_BDISP8", 114577298Sobrien "BFD_RELOC_CRIS_UNSIGNED_5", 114677298Sobrien "BFD_RELOC_CRIS_SIGNED_6", 114777298Sobrien "BFD_RELOC_CRIS_UNSIGNED_6", 114877298Sobrien "BFD_RELOC_CRIS_UNSIGNED_4", 114989857Sobrien "BFD_RELOC_CRIS_COPY", 115089857Sobrien "BFD_RELOC_CRIS_GLOB_DAT", 115189857Sobrien "BFD_RELOC_CRIS_JUMP_SLOT", 115289857Sobrien "BFD_RELOC_CRIS_RELATIVE", 115389857Sobrien "BFD_RELOC_CRIS_32_GOT", 115489857Sobrien "BFD_RELOC_CRIS_16_GOT", 115589857Sobrien "BFD_RELOC_CRIS_32_GOTPLT", 115689857Sobrien "BFD_RELOC_CRIS_16_GOTPLT", 115789857Sobrien "BFD_RELOC_CRIS_32_GOTREL", 115889857Sobrien "BFD_RELOC_CRIS_32_PLT_GOTREL", 115989857Sobrien "BFD_RELOC_CRIS_32_PLT_PCREL", 116077298Sobrien "BFD_RELOC_860_COPY", 116177298Sobrien "BFD_RELOC_860_GLOB_DAT", 116277298Sobrien "BFD_RELOC_860_JUMP_SLOT", 116377298Sobrien "BFD_RELOC_860_RELATIVE", 116477298Sobrien "BFD_RELOC_860_PC26", 116577298Sobrien "BFD_RELOC_860_PLT26", 116677298Sobrien "BFD_RELOC_860_PC16", 116777298Sobrien "BFD_RELOC_860_LOW0", 116877298Sobrien "BFD_RELOC_860_SPLIT0", 116977298Sobrien "BFD_RELOC_860_LOW1", 117077298Sobrien "BFD_RELOC_860_SPLIT1", 117177298Sobrien "BFD_RELOC_860_LOW2", 117277298Sobrien "BFD_RELOC_860_SPLIT2", 117377298Sobrien "BFD_RELOC_860_LOW3", 117477298Sobrien "BFD_RELOC_860_LOGOT0", 117577298Sobrien "BFD_RELOC_860_SPGOT0", 117677298Sobrien "BFD_RELOC_860_LOGOT1", 117777298Sobrien "BFD_RELOC_860_SPGOT1", 117877298Sobrien "BFD_RELOC_860_LOGOTOFF0", 117977298Sobrien "BFD_RELOC_860_SPGOTOFF0", 118077298Sobrien "BFD_RELOC_860_LOGOTOFF1", 118177298Sobrien "BFD_RELOC_860_SPGOTOFF1", 118277298Sobrien "BFD_RELOC_860_LOGOTOFF2", 118377298Sobrien "BFD_RELOC_860_LOGOTOFF3", 118477298Sobrien "BFD_RELOC_860_LOPC", 118577298Sobrien "BFD_RELOC_860_HIGHADJ", 118677298Sobrien "BFD_RELOC_860_HAGOT", 118777298Sobrien "BFD_RELOC_860_HAGOTOFF", 118877298Sobrien "BFD_RELOC_860_HAPC", 118977298Sobrien "BFD_RELOC_860_HIGH", 119077298Sobrien "BFD_RELOC_860_HIGOT", 119177298Sobrien "BFD_RELOC_860_HIGOTOFF", 119289857Sobrien "BFD_RELOC_OPENRISC_ABS_26", 119389857Sobrien "BFD_RELOC_OPENRISC_REL_26", 119489857Sobrien "BFD_RELOC_H8_DIR16A8", 119589857Sobrien "BFD_RELOC_H8_DIR16R8", 119689857Sobrien "BFD_RELOC_H8_DIR24A8", 119789857Sobrien "BFD_RELOC_H8_DIR24R8", 119889857Sobrien "BFD_RELOC_H8_DIR32A16", 119989857Sobrien "BFD_RELOC_XSTORMY16_REL_12", 120089857Sobrien "BFD_RELOC_XSTORMY16_24", 120189857Sobrien "BFD_RELOC_XSTORMY16_FPTR16", 120233965Sjdp "@@overflow: BFD_RELOC_UNUSED@@", 120333965Sjdp}; 120433965Sjdp#endif 120533965Sjdp 120633965Sjdpreloc_howto_type * 120777298Sobrienbfd_default_reloc_type_lookup PARAMS ((bfd *abfd, bfd_reloc_code_real_type code)); 120833965Sjdp 120977298Sobrienboolean 121077298Sobrienbfd_generic_relax_section PARAMS ((bfd *abfd, 121133965Sjdp asection *section, 121233965Sjdp struct bfd_link_info *, 121333965Sjdp boolean *)); 121433965Sjdp 121577298Sobrienboolean 121677298Sobrienbfd_generic_gc_sections PARAMS ((bfd *, struct bfd_link_info *)); 121760484Sobrien 121889857Sobrienboolean 121989857Sobrienbfd_generic_merge_sections PARAMS ((bfd *, struct bfd_link_info *)); 122089857Sobrien 122133965Sjdpbfd_byte * 122277298Sobrienbfd_generic_get_relocated_section_contents PARAMS ((bfd *abfd, 122333965Sjdp struct bfd_link_info *link_info, 122433965Sjdp struct bfd_link_order *link_order, 122533965Sjdp bfd_byte *data, 122633965Sjdp boolean relocateable, 122733965Sjdp asymbol **symbols)); 122833965Sjdp 122933965Sjdpextern const bfd_arch_info_type bfd_default_arch_struct; 123077298Sobrienboolean 123133965Sjdpbfd_default_set_arch_mach PARAMS ((bfd *abfd, 123233965Sjdp enum bfd_architecture arch, 123333965Sjdp unsigned long mach)); 123433965Sjdp 123533965Sjdpconst bfd_arch_info_type * 123677298Sobrienbfd_default_compatible PARAMS ((const bfd_arch_info_type *a, 123733965Sjdp const bfd_arch_info_type *b)); 123833965Sjdp 123977298Sobrienboolean 124033965Sjdpbfd_default_scan PARAMS ((const struct bfd_arch_info *info, const char *string)); 124133965Sjdp 124233965Sjdpstruct elf_internal_shdr * 124377298Sobrienbfd_elf_find_section PARAMS ((bfd *abfd, char *name)); 124433965Sjdp 1245