summaryrefslogtreecommitdiff
path: root/bfd/libbfd-in.h
diff options
context:
space:
mode:
authorTristan Gingold <gingold@adacore.com>2010-04-01 09:47:13 +0000
committerTristan Gingold <gingold@adacore.com>2010-04-01 09:47:13 +0000
commit053dc88b3991f981f5b0611ea2dc1463e4f584fc (patch)
treee24d38ce706abd8ea3b41915e71281630d6627e0 /bfd/libbfd-in.h
parent9e6a0106accda9d9485485a9d074eb0ec6230ae7 (diff)
downloadbinutils-redhat-053dc88b3991f981f5b0611ea2dc1463e4f584fc.tar.gz
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.
Diffstat (limited to 'bfd/libbfd-in.h')
-rw-r--r--bfd/libbfd-in.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/bfd/libbfd-in.h b/bfd/libbfd-in.h
index d74ebbbf65..89d0df6905 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). */