diff options
Diffstat (limited to 'bfd/libbfd-in.h')
-rw-r--r-- | bfd/libbfd-in.h | 66 |
1 files changed, 56 insertions, 10 deletions
diff --git a/bfd/libbfd-in.h b/bfd/libbfd-in.h index 7a549c6..ba2050d 100644 --- a/bfd/libbfd-in.h +++ b/bfd/libbfd-in.h @@ -1,6 +1,6 @@ /* libbfd.h -- Declarations used by bfd library *implementation*. (This include file is not for users of the library.) - Copyright 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc. + Copyright 1990, 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. Written by Cygnus Support. ** NOTE: libbfd.h is a GENERATED file. Don't change it; instead, @@ -21,7 +21,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Align an address upward to a boundary, expressed as a number of bytes. E.g. align to an 8-byte boundary with argument of 8. */ @@ -72,6 +72,8 @@ struct areltdata { char *bfd_zmalloc PARAMS ((bfd_size_type size)); +extern bfd_error_handler_type _bfd_error_handler; + /* These routines allocate and free things on the BFD's obstack. Note that realloc can never occur in place. */ @@ -95,15 +97,12 @@ boolean bfd_slurp_bsd_armap_f2 PARAMS ((bfd *abfd)); #define bfd_slurp_bsd_armap bfd_slurp_armap #define bfd_slurp_coff_armap bfd_slurp_armap boolean _bfd_slurp_extended_name_table PARAMS ((bfd *abfd)); +extern boolean _bfd_construct_extended_name_table + PARAMS ((bfd *, boolean, char **, bfd_size_type *)); boolean _bfd_write_archive_contents PARAMS ((bfd *abfd)); bfd *_bfd_get_elt_at_filepos PARAMS ((bfd *archive, file_ptr filepos)); bfd * _bfd_new_bfd PARAMS ((void)); -#define DEFAULT_STRING_SPACE_SIZE 0x2000 -boolean bfd_add_to_string_table PARAMS ((char **table, char *new_string, - unsigned int *table_length, - char **free_ptr)); - boolean bfd_false PARAMS ((bfd *ignore)); boolean bfd_true PARAMS ((bfd *ignore)); PTR bfd_nullvoidptr PARAMS ((bfd *ignore)); @@ -151,8 +150,16 @@ extern boolean _bfd_generic_get_section_contents #define _bfd_generic_bfd_copy_private_bfd_data \ ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_true) +#define _bfd_generic_bfd_merge_private_bfd_data \ + ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_true) +#define _bfd_generic_bfd_set_private_flags \ + ((boolean (*) PARAMS ((bfd *, flagword))) bfd_true) #define _bfd_generic_bfd_copy_private_section_data \ ((boolean (*) PARAMS ((bfd *, asection *, bfd *, asection *))) bfd_true) +#define _bfd_generic_bfd_copy_private_symbol_data \ + ((boolean (*) PARAMS ((bfd *, asymbol *, bfd *, asymbol *))) bfd_true) +#define _bfd_generic_bfd_print_private_bfd_data \ + ((boolean (*) PARAMS ((bfd *, void *))) bfd_true) /* Routines to use for BFD_JUMP_TABLE_CORE when there is no core file support. Use BFD_JUMP_TABLE_CORE (_bfd_nocore). */ @@ -167,6 +174,9 @@ extern boolean _bfd_nocore_core_file_matches_executable_p #define _bfd_noarchive_slurp_armap bfd_false #define _bfd_noarchive_slurp_extended_name_table bfd_false +#define _bfd_noarchive_construct_extended_name_table \ + ((boolean (*) PARAMS ((bfd *, char **, bfd_size_type *, const char **))) \ + bfd_false) #define _bfd_noarchive_truncate_arname \ ((void (*) PARAMS ((bfd *, const char *, char *))) bfd_void) #define _bfd_noarchive_write_armap \ @@ -176,6 +186,7 @@ extern boolean _bfd_nocore_core_file_matches_executable_p #define _bfd_noarchive_openr_next_archived_file \ ((bfd *(*) PARAMS ((bfd *, bfd *))) bfd_nullvoidptr) #define _bfd_noarchive_generic_stat_arch_elt bfd_generic_stat_arch_elt +#define _bfd_noarchive_update_armap_timestamp bfd_false /* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get BSD style archives. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_bsd). */ @@ -183,12 +194,15 @@ extern boolean _bfd_nocore_core_file_matches_executable_p #define _bfd_archive_bsd_slurp_armap bfd_slurp_bsd_armap #define _bfd_archive_bsd_slurp_extended_name_table \ _bfd_slurp_extended_name_table +extern boolean _bfd_archive_bsd_construct_extended_name_table + PARAMS ((bfd *, char **, bfd_size_type *, const char **)); #define _bfd_archive_bsd_truncate_arname bfd_bsd_truncate_arname #define _bfd_archive_bsd_write_armap bsd_write_armap #define _bfd_archive_bsd_openr_next_archived_file \ bfd_generic_openr_next_archived_file #define _bfd_archive_bsd_generic_stat_arch_elt \ bfd_generic_stat_arch_elt +extern boolean _bfd_archive_bsd_update_armap_timestamp PARAMS ((bfd *)); /* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get COFF style archives. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff). */ @@ -196,12 +210,15 @@ extern boolean _bfd_nocore_core_file_matches_executable_p #define _bfd_archive_coff_slurp_armap bfd_slurp_coff_armap #define _bfd_archive_coff_slurp_extended_name_table \ _bfd_slurp_extended_name_table +extern boolean _bfd_archive_coff_construct_extended_name_table + PARAMS ((bfd *, char **, bfd_size_type *, const char **)); #define _bfd_archive_coff_truncate_arname bfd_dont_truncate_arname #define _bfd_archive_coff_write_armap coff_write_armap #define _bfd_archive_coff_openr_next_archived_file \ bfd_generic_openr_next_archived_file #define _bfd_archive_coff_generic_stat_arch_elt \ bfd_generic_stat_arch_elt +#define _bfd_archive_coff_update_armap_timestamp bfd_true /* Routines to use for BFD_JUMP_TABLE_SYMBOLS where there is no symbol support. Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols). */ @@ -226,6 +243,11 @@ extern boolean _bfd_nocore_core_file_matches_executable_p bfd_false) #define _bfd_nosymbols_bfd_make_debug_symbol \ ((asymbol *(*) PARAMS ((bfd *, PTR, unsigned long))) bfd_nullvoidptr) +#define _bfd_nosymbols_read_minisymbols \ + ((long (*) PARAMS ((bfd *, boolean, PTR *, unsigned int *))) _bfd_n1) +#define _bfd_nosymbols_minisymbol_to_symbol \ + ((asymbol *(*) PARAMS ((bfd *, boolean, const PTR, asymbol *))) \ + bfd_nullvoidptr) /* Routines to use for BFD_JUMP_TABLE_RELOCS when there is no reloc support. Use BFD_JUMP_TABLE_RELOCS (_bfd_norelocs). */ @@ -235,7 +257,7 @@ extern boolean _bfd_nocore_core_file_matches_executable_p #define _bfd_norelocs_canonicalize_reloc \ ((long (*) PARAMS ((bfd *, asection *, arelent **, asymbol **))) _bfd_n1) #define _bfd_norelocs_bfd_reloc_type_lookup \ - ((const reloc_howto_type *(*) PARAMS ((bfd *, bfd_reloc_code_real_type))) \ + ((reloc_howto_type *(*) PARAMS ((bfd *, bfd_reloc_code_real_type))) \ bfd_nullvoidptr) /* Routines to use for BFD_JUMP_TABLE_WRITE for targets which may not @@ -274,6 +296,8 @@ extern boolean _bfd_generic_set_section_contents ((boolean (*) PARAMS ((bfd *, struct bfd_link_info *))) bfd_false) #define _bfd_nolink_bfd_final_link \ ((boolean (*) PARAMS ((bfd *, struct bfd_link_info *))) bfd_false) +#define _bfd_nolink_bfd_link_split_section \ + ((boolean (*) PARAMS ((bfd *, struct sec *))) bfd_false) /* Routines to use for BFD_JUMP_TABLE_DYNAMIC for targets which do not have dynamic symbols or relocs. Use BFD_JUMP_TABLE_DYNAMIC @@ -290,6 +314,12 @@ extern boolean _bfd_generic_set_section_contents label. */ extern boolean bfd_generic_is_local_label PARAMS ((bfd *, asymbol *)); +/* Generic minisymbol routines. */ +extern long _bfd_generic_read_minisymbols + PARAMS ((bfd *, boolean, PTR *, unsigned int *)); +extern asymbol *_bfd_generic_minisymbol_to_symbol + PARAMS ((bfd *, boolean, const PTR, asymbol *)); + /* A routine to create entries for a bfd_link_hash_table. */ extern struct bfd_hash_entry *_bfd_link_hash_newfunc PARAMS ((struct bfd_hash_entry *entry, @@ -335,6 +365,9 @@ extern boolean _bfd_generic_link_add_one_symbol extern boolean _bfd_generic_final_link PARAMS ((bfd *, struct bfd_link_info *)); +extern boolean _bfd_generic_link_split_section + PARAMS ((bfd *, struct sec *)); + /* Generic reloc_link_order processing routine. */ extern boolean _bfd_generic_reloc_link_order PARAMS ((bfd *, struct bfd_link_info *, asection *, @@ -351,12 +384,12 @@ extern unsigned int _bfd_count_link_order_relocs /* Final link relocation routine. */ extern bfd_reloc_status_type _bfd_final_link_relocate - PARAMS ((const reloc_howto_type *, bfd *, asection *, bfd_byte *, + PARAMS ((reloc_howto_type *, bfd *, asection *, bfd_byte *, bfd_vma address, bfd_vma value, bfd_vma addend)); /* Relocate a particular location by a howto and a value. */ extern bfd_reloc_status_type _bfd_relocate_contents - PARAMS ((const reloc_howto_type *, bfd *, bfd_vma, bfd_byte *)); + PARAMS ((reloc_howto_type *, bfd *, bfd_vma, bfd_byte *)); /* Create a string table. */ extern struct bfd_strtab_hash *_bfd_stringtab_init PARAMS ((void)); @@ -413,5 +446,18 @@ extern bfd *bfd_last_cache; extern const bfd_target * const bfd_target_vector[]; extern const bfd_target * const bfd_default_vector[]; +/* A function shared by the ECOFF and MIPS ELF backends, which have no + other common header files. */ + +#if defined(__STDC__) || defined(ALMOST_STDC) +struct ecoff_find_line; +#endif + +extern boolean +_bfd_ecoff_locate_line + PARAMS ((bfd *, asection *, bfd_vma, struct ecoff_debug_info * const, + const struct ecoff_debug_swap * const, struct ecoff_find_line *, + const char **, const char **, unsigned int *)); + /* And more follows */ |