2010-04-01 Tristan Gingold <gingold@adacore.com>

* 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.
This commit is contained in:
Tristan Gingold
2010-04-01 09:47:14 +00:00
parent 932fd279a9
commit 4b544b6468
16 changed files with 206 additions and 46 deletions

View File

@@ -142,6 +142,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
@@ -356,6 +358,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). */