From 4b544b64681eec335bef3d3383772a7a38278fa9 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Thu, 1 Apr 2010 09:47:14 +0000 Subject: 2010-04-01 Tristan Gingold * vms.h: Include time.h. Add prototypes for vms_get_module_name, vms_time_to_time_t and vms_rawtime_to_time_t. * vms.c (vms_alpha_vec): Add archives support. * vms-misc.c: Include safe-ctype.h (vms_get_module_name): New function. (vms_time_to_time_t, vms_rawtime_to_time_t): Ditto. * vms-hdr.c (_bfd_vms_write_hdr): Put module name creation to the vms_get_module_name function. Use this function. * targets.c: Declare vms_lib_txt_vec. Add it to _bfd_target_vector. * libbfd-in.h: Add prototype for _bfd_append_relative_path. Add prototypes for vms-lib.c * libbfd.h: Regenerate. * configure.in (TDEFINES): Add an entry for vms_lib_txt_vec. Add vms-lib.lo to vms_alpha_vec. * config.bfd (targ_cpu): Add targ_selvecs for alpha*-*-*vms*. * configure: Regenerate. * bfd.c: Add selective_search field. * bfd-in2.h: Regenerate. * archive.c (append_relative_path): Rename to _bfd_append_relative_path and make it public. (_bfd_get_elt_at_filepos): Adjust for above renaming. * Makefile.am (BFD32_BACKENDS): Add vms-lib.lo (BFD32_BACKENDS_CFILES): Add vms-lib.c * Makefile.in: Regenerate. --- bfd/libbfd-in.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'bfd/libbfd-in.h') diff --git a/bfd/libbfd-in.h b/bfd/libbfd-in.h index d74ebbb..89d0df6 100644 --- a/bfd/libbfd-in.h +++ b/bfd/libbfd-in.h @@ -137,6 +137,8 @@ bfd_boolean _bfd_add_bfd_to_archive_cache (bfd *, file_ptr, bfd *); bfd_boolean _bfd_generic_mkarchive (bfd *abfd); +char *_bfd_append_relative_path + (bfd *arch, char *elt_name); const bfd_target *bfd_generic_archive_p (bfd *abfd); bfd_boolean bfd_slurp_armap @@ -351,6 +353,30 @@ extern bfd_boolean _bfd_archive_bsd44_construct_extended_name_table #define _bfd_archive_bsd44_update_armap_timestamp \ _bfd_archive_bsd_update_armap_timestamp +/* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get VMS style + archives. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_vms_lib). Some of them + are irrelevant and never called, so defined as NULL. */ + +extern bfd_boolean _bfd_vms_lib_write_archive_contents (bfd *arch); +#define _bfd_vms_lib_slurp_armap NULL +#define _bfd_vms_lib_slurp_extended_name_table NULL +#define _bfd_vms_lib_construct_extended_name_table NULL +#define _bfd_vms_lib_truncate_arname NULL +#define _bfd_vms_lib_write_armap NULL +#define _bfd_vms_lib_read_ar_hdr NULL +#define _bfd_vms_lib_write_ar_hdr NULL +extern bfd *_bfd_vms_lib_openr_next_archived_file (bfd *, bfd *); +extern bfd *_bfd_vms_lib_get_elt_at_index (bfd *, symindex); +extern int _bfd_vms_lib_generic_stat_arch_elt (bfd *, struct stat *); +#define _bfd_vms_lib_update_armap_timestamp bfd_true + +/* Extra routines for VMS style archives. */ + +extern symindex _bfd_vms_lib_find_symbol (bfd *, const char *); +extern bfd *_bfd_vms_lib_get_imagelib_file (bfd *); +extern const bfd_target *_bfd_vms_lib_alpha_archive_p (bfd *abfd); +extern bfd_boolean _bfd_vms_lib_mkarchive (bfd *abfd); + /* Routines to use for BFD_JUMP_TABLE_SYMBOLS where there is no symbol support. Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols). */ -- cgit v1.1