46
46
static int vms_slurp_module (bfd *abfd);
47
47
static int vms_slurp_image (bfd *abfd);
48
48
static const struct bfd_target *vms_object_p (bfd *abfd);
49
static const struct bfd_target *vms_archive_p (bfd *abfd);
50
49
static bfd_boolean vms_mkobject (bfd *abfd);
51
50
static bfd_boolean vms_write_object_contents (bfd *abfd);
52
51
static void free_reloc_stream (bfd *abfd, asection *section, void *data);
53
52
static bfd_boolean vms_close_and_cleanup (bfd *abfd);
54
static bfd_boolean vms_bfd_free_cached_info (bfd *abfd);
55
53
static bfd_boolean vms_new_section_hook (bfd *abfd, asection *section);
56
54
static bfd_boolean vms_get_section_contents
57
55
(bfd *abfd, asection *section, PTR x1, file_ptr x2, bfd_size_type x3);
58
static bfd_boolean vms_get_section_contents_in_window
59
(bfd *abfd, asection *section, bfd_window *w, file_ptr offset,
61
static bfd_boolean vms_bfd_copy_private_bfd_data (bfd *src, bfd *dest);
62
static bfd_boolean vms_bfd_copy_private_section_data
63
(bfd *srcbfd, asection *srcsec, bfd *dstbfd, asection *dstsec);
64
static bfd_boolean vms_bfd_copy_private_symbol_data
65
(bfd *ibfd, asymbol *isym, bfd *obfd, asymbol *osym);
66
static bfd_boolean vms_bfd_print_private_bfd_data (bfd *abfd, void *file);
67
static char *vms_core_file_failing_command (bfd *abfd);
68
static int vms_core_file_failing_signal (bfd *abfd);
69
static bfd_boolean vms_core_file_matches_executable_p (bfd *abfd, bfd *bbfd);
70
static bfd_boolean vms_slurp_armap (bfd *abfd);
71
static bfd_boolean vms_slurp_extended_name_table (bfd *abfd);
72
static bfd_boolean vms_construct_extended_name_table
73
(bfd *abfd, char **tabloc, bfd_size_type *tablen, const char **name);
74
static void vms_truncate_arname (bfd *abfd, const char *pathname, char *arhdr);
75
static bfd_boolean vms_write_armap
76
(bfd *arch, unsigned int elen, struct orl *map, unsigned int cnt, int idx);
77
static PTR vms_read_ar_hdr (bfd *abfd);
78
static bfd *vms_get_elt_at_index (bfd *abfd, symindex index);
79
static bfd *vms_openr_next_archived_file (bfd *arch, bfd *prev);
80
static bfd_boolean vms_update_armap_timestamp (bfd *abfd);
81
static int vms_generic_stat_arch_elt (bfd *, struct stat *);
82
56
static long vms_get_symtab_upper_bound (bfd *abfd);
83
57
static long vms_canonicalize_symtab (bfd *abfd, asymbol **symbols);
84
58
static void vms_print_symbol (bfd *abfd, PTR file, asymbol *symbol,
85
59
bfd_print_symbol_type how);
86
60
static void vms_get_symbol_info (bfd *abfd, asymbol *symbol, symbol_info *ret);
87
61
static bfd_boolean vms_bfd_is_local_label_name (bfd *abfd, const char *);
88
static alent *vms_get_lineno (bfd *abfd, asymbol *symbol);
89
62
static bfd_boolean vms_find_nearest_line
90
63
(bfd *abfd, asection *section, asymbol **symbols, bfd_vma offset,
91
64
const char **file, const char **func, unsigned int *line);
92
static asymbol *vms_bfd_make_debug_symbol (bfd *abfd, void *ptr,
94
static long vms_read_minisymbols (bfd *abfd, bfd_boolean dynamic,
95
PTR *minisymsp, unsigned int *sizep);
96
static asymbol *vms_minisymbol_to_symbol
97
(bfd *abfd, bfd_boolean dynamic, const PTR minisym, asymbol *sym);
98
65
static void alloc_reloc_stream (bfd *abfd, asection *section,
99
66
void *alloc_error);
100
67
static bfd_boolean vms_slurp_reloc_table (bfd *abfd, asection *section,
109
76
static bfd_boolean vms_set_section_contents
110
77
(bfd *abfd, asection *section, const PTR location, file_ptr offset,
111
78
bfd_size_type count);
112
static int vms_sizeof_headers (bfd *abfd,
113
struct bfd_link_info *info ATTRIBUTE_UNUSED);
114
static bfd_byte *vms_bfd_get_relocated_section_contents
115
(bfd *abfd, struct bfd_link_info *link_info,
116
struct bfd_link_order *link_order, bfd_byte *data,
117
bfd_boolean relocatable, asymbol **symbols);
118
static bfd_boolean vms_bfd_relax_section
119
(bfd *abfd, asection *section, struct bfd_link_info *link_info,
121
static bfd_boolean vms_bfd_gc_sections
122
(bfd *abfd, struct bfd_link_info *link_info);
123
static bfd_boolean vms_bfd_merge_sections
124
(bfd *abfd, struct bfd_link_info *link_info);
125
static struct bfd_link_hash_table *vms_bfd_link_hash_table_create (bfd *abfd);
126
static void vms_bfd_link_hash_table_free (struct bfd_link_hash_table *hash);
127
static bfd_boolean vms_bfd_link_add_symbols
128
(bfd *abfd, struct bfd_link_info *link_info);
129
static bfd_boolean vms_bfd_final_link (bfd *abfd,
130
struct bfd_link_info *link_info);
131
static bfd_boolean vms_bfd_link_split_section (bfd *abfd, asection *section);
132
static long vms_get_dynamic_symtab_upper_bound (bfd *abfd);
133
static long vms_canonicalize_dynamic_symtab (bfd *abfd, asymbol **symbols);
134
static long vms_get_dynamic_reloc_upper_bound (bfd *abfd);
135
static long vms_canonicalize_dynamic_reloc
136
(bfd *abfd, arelent **arel, asymbol **symbols);
137
static bfd_boolean vms_bfd_merge_private_bfd_data (bfd *ibfd, bfd *obfd);
138
static bfd_boolean vms_bfd_set_private_flags (bfd *abfd, flagword flags);
140
80
#define vms_bfd_is_target_special_symbol ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
141
81
#define vms_make_empty_symbol _bfd_generic_make_empty_symbol
142
82
#define vms_bfd_link_just_syms _bfd_generic_link_just_syms
83
#define vms_bfd_copy_link_hash_symbol_type \
84
_bfd_generic_copy_link_hash_symbol_type
143
85
#define vms_bfd_is_group_section bfd_generic_is_group_section
144
86
#define vms_bfd_discard_group bfd_generic_discard_group
145
87
#define vms_section_already_linked _bfd_generic_section_already_linked
774
/* Read the contents of a section.
775
buf points to a buffer of buf_size bytes to be filled with
776
section data (starting at offset into section). */
779
vms_get_section_contents_in_window (bfd * abfd ATTRIBUTE_UNUSED,
780
asection *section ATTRIBUTE_UNUSED,
781
bfd_window *w ATTRIBUTE_UNUSED,
782
file_ptr offset ATTRIBUTE_UNUSED,
783
bfd_size_type count ATTRIBUTE_UNUSED)
786
vms_debug (1, "vms_get_section_contents_in_window (%p, %s, %p, off %ld, count %d)\n",
787
abfd, section->name, w, offset, (int)count);
790
/* Shouldn't be called, since all sections are IN_MEMORY. */
794
/* Part 4.2, copy private data. */
796
/* Called to copy BFD general private data from one object file
800
vms_bfd_copy_private_bfd_data (bfd *src ATTRIBUTE_UNUSED,
801
bfd *dest ATTRIBUTE_UNUSED)
804
vms_debug (1, "vms_bfd_copy_private_bfd_data (%p, %p)\n", src, dest);
809
/* Merge private BFD information from the BFD @var{ibfd} to the
810
the output file BFD @var{obfd} when linking. Return <<TRUE>>
811
on success, <<FALSE>> on error. Possible error returns are:
813
o <<bfd_error_no_memory>> -
814
Not enough memory exists to create private data for @var{obfd}. */
817
vms_bfd_merge_private_bfd_data (bfd * ibfd ATTRIBUTE_UNUSED,
818
bfd * obfd ATTRIBUTE_UNUSED)
821
vms_debug (1,"vms_bfd_merge_private_bfd_data (%p, %p)\n", ibfd, obfd);
826
/* Set private BFD flag information in the BFD @var{abfd}.
827
Return <<TRUE>> on success, <<FALSE>> on error. Possible error
830
o <<bfd_error_no_memory>> -
831
Not enough memory exists to create private data for @var{obfd}. */
834
vms_bfd_set_private_flags (bfd * abfd ATTRIBUTE_UNUSED,
835
flagword flags ATTRIBUTE_UNUSED)
838
vms_debug (1,"vms_bfd_set_private_flags (%p, %lx)\n", abfd, (long)flags);
843
/* Called to copy BFD private section data from one object file
847
vms_bfd_copy_private_section_data (bfd *srcbfd ATTRIBUTE_UNUSED,
848
asection *srcsec ATTRIBUTE_UNUSED,
849
bfd *dstbfd ATTRIBUTE_UNUSED,
850
asection *dstsec ATTRIBUTE_UNUSED)
853
vms_debug (1, "vms_bfd_copy_private_section_data (%p, %s, %p, %s)\n",
854
srcbfd, srcsec->name, dstbfd, dstsec->name);
859
/* Called to copy BFD private symbol data from one object file
863
vms_bfd_copy_private_symbol_data (bfd *ibfd ATTRIBUTE_UNUSED,
864
asymbol *isym ATTRIBUTE_UNUSED,
865
bfd *obfd ATTRIBUTE_UNUSED,
866
asymbol *osym ATTRIBUTE_UNUSED)
869
vms_debug (1, "vms_bfd_copy_private_symbol_data (%p, %s, %p, %s)\n",
870
ibfd, isym->name, obfd, osym->name);
875
/* Part 4.3, core file. */
877
/* Return a read-only string explaining which program was running
878
when it failed and produced the core file abfd. */
881
vms_core_file_failing_command (bfd * abfd ATTRIBUTE_UNUSED)
884
vms_debug (1, "vms_core_file_failing_command (%p)\n", abfd);
889
/* Returns the signal number which caused the core dump which
890
generated the file the BFD abfd is attached to. */
893
vms_core_file_failing_signal (bfd * abfd ATTRIBUTE_UNUSED)
896
vms_debug (1, "vms_core_file_failing_signal (%p)\n", abfd);
901
/* Return TRUE if the core file attached to core_bfd was generated
902
by a run of the executable file attached to exec_bfd, FALSE otherwise. */
905
vms_core_file_matches_executable_p (bfd * abfd ATTRIBUTE_UNUSED,
906
bfd *bbfd ATTRIBUTE_UNUSED)
909
vms_debug (1, "vms_core_file_matches_executable_p (%p, %p)\n", abfd, bbfd);
914
/* Part 4.4, archive. */
916
/* ??? do something with an archive map.
917
Return FALSE on error, TRUE otherwise. */
920
vms_slurp_armap (bfd * abfd ATTRIBUTE_UNUSED)
923
vms_debug (1, "vms_slurp_armap (%p)\n", abfd);
928
/* ??? do something with an extended name table.
929
Return FALSE on error, TRUE otherwise. */
932
vms_slurp_extended_name_table (bfd * abfd ATTRIBUTE_UNUSED)
935
vms_debug (1, "vms_slurp_extended_name_table (%p)\n", abfd);
940
/* ??? do something with an extended name table.
941
Return FALSE on error, TRUE otherwise. */
944
vms_construct_extended_name_table (bfd * abfd ATTRIBUTE_UNUSED,
945
char **tabloc ATTRIBUTE_UNUSED,
946
bfd_size_type *tablen ATTRIBUTE_UNUSED,
947
const char **name ATTRIBUTE_UNUSED)
950
vms_debug (1, "vms_construct_extended_name_table (%p)\n", abfd);
955
/* Truncate the name of an archive to match system-dependent restrictions. */
958
vms_truncate_arname (bfd * abfd ATTRIBUTE_UNUSED,
959
const char *pathname ATTRIBUTE_UNUSED,
960
char *arhdr ATTRIBUTE_UNUSED)
963
vms_debug (1, "vms_truncate_arname (%p, %s, %s)\n", abfd, pathname, arhdr);
967
/* ??? write archive map. */
970
vms_write_armap (bfd *arch ATTRIBUTE_UNUSED,
971
unsigned int elength ATTRIBUTE_UNUSED,
972
struct orl *map ATTRIBUTE_UNUSED,
973
unsigned int orl_count ATTRIBUTE_UNUSED,
974
int stridx ATTRIBUTE_UNUSED)
977
vms_debug (1, "vms_write_armap (%p, %d, %p, %d %d)\n",
978
arch, elength, map, orl_count, stridx);
983
/* Read archive header ??? */
986
vms_read_ar_hdr (bfd * abfd ATTRIBUTE_UNUSED)
989
vms_debug (1, "vms_read_ar_hdr (%p)\n", abfd);
994
/* Provided a BFD, @var{archive}, containing an archive and NULL, open
995
an input BFD on the first contained element and returns that.
996
Subsequent calls should pass the archive and the previous return value
997
to return a created BFD to the next contained element.
998
NULL is returned when there are no more. */
1001
vms_openr_next_archived_file (bfd *arch ATTRIBUTE_UNUSED,
1002
bfd *prev ATTRIBUTE_UNUSED)
1005
vms_debug (1, "vms_openr_next_archived_file (%p, %p)\n", arch, prev);
1010
/* Return the BFD which is referenced by the symbol in ABFD indexed by
1011
INDEX. INDEX should have been returned by bfd_get_next_mapent. */
1014
vms_get_elt_at_index (bfd * abfd, symindex index)
1017
vms_debug (1, "vms_get_elt_at_index (%p, %p)\n", abfd, index);
1019
return _bfd_generic_get_elt_at_index (abfd, index);
1023
-> bfd_generic_stat_arch_elt. */
1026
vms_generic_stat_arch_elt (bfd * abfd, struct stat *st)
1029
vms_debug (1, "vms_generic_stat_arch_elt (%p, %p)\n", abfd, st);
1031
return bfd_generic_stat_arch_elt (abfd, st);
1034
/* This is a new function in bfd 2.5. */
1037
vms_update_armap_timestamp (bfd * abfd ATTRIBUTE_UNUSED)
1040
vms_debug (1, "vms_update_armap_timestamp (%p)\n", abfd);
1045
674
/* Part 4.5, symbols. */
1047
676
/* Return the number of bytes required to store a vector of pointers
1228
838
const char **func ATTRIBUTE_UNUSED,
1229
839
unsigned int *line ATTRIBUTE_UNUSED)
1232
vms_debug (1, "vms_find_nearest_line (%p, %s, %p, %ld, <ret>, <ret>, <ret>)\n",
1233
abfd, section->name, symbols, (long int)offset);
841
vms_debug2 ((1, "vms_find_nearest_line (%p, %s, %p, %ld, ...)\n",
842
abfd, section->name, symbols, (long int)offset));
1235
843
return _bfd_vms_find_nearest_dst_line (abfd, section, symbols, offset, file, func, line);
1239
vms_find_inliner_info (bfd * abfd ATTRIBUTE_UNUSED,
1240
const char **file ATTRIBUTE_UNUSED,
1241
const char **func ATTRIBUTE_UNUSED,
1242
unsigned int *line ATTRIBUTE_UNUSED)
1245
vms_debug (1, "vms_find_inliner_info (%p, <ret>, <ret>, <ret>)\n",
1251
/* Back-door to allow format-aware applications to create debug symbols
1252
while using BFD for everything else. Currently used by the assembler
1253
when creating COFF files. */
1256
vms_bfd_make_debug_symbol (bfd * abfd ATTRIBUTE_UNUSED,
1257
void *ptr ATTRIBUTE_UNUSED,
1258
unsigned long size ATTRIBUTE_UNUSED)
1261
vms_debug (1, "vms_bfd_make_debug_symbol (%p, %p, %ld)\n", abfd, ptr, size);
1266
/* Read minisymbols. For minisymbols, we use the unmodified a.out
1267
symbols. The minisymbol_to_symbol function translates these into
1268
BFD asymbol structures. */
1271
vms_read_minisymbols (bfd * abfd,
1272
bfd_boolean dynamic,
1274
unsigned int *sizep)
1277
vms_debug (1, "vms_read_minisymbols (%p, %d, %p, %d)\n", abfd, dynamic, minisymsp, *sizep);
1279
return _bfd_generic_read_minisymbols (abfd, dynamic, minisymsp, sizep);
1282
/* Convert a minisymbol to a BFD asymbol. A minisymbol is just an
1283
unmodified a.out symbol. The SYM argument is a structure returned
1284
by bfd_make_empty_symbol, which we fill in here. */
1287
vms_minisymbol_to_symbol (bfd * abfd,
1288
bfd_boolean dynamic,
1289
const void * minisym,
1293
vms_debug (1, "vms_minisymbol_to_symbol (%p, %d, %p, %p)\n", abfd, dynamic, minisym, sym);
1295
return _bfd_generic_minisymbol_to_symbol (abfd, dynamic, minisym, sym);
1298
846
/* Part 4.6, relocations. */
1300
848
/* Allocate the reloc buffer for the specified section. */
1876
/* Part 4.8, linker. */
1878
/* Get the size of the section headers. */
1881
vms_sizeof_headers (bfd * abfd ATTRIBUTE_UNUSED,
1882
struct bfd_link_info *info ATTRIBUTE_UNUSED)
1885
vms_debug (1, "vms_sizeof_headers (%p, %s)\n", abfd, (reloc)?"True":"False");
1890
/* Provides default handling of relocation effort for back ends
1891
which can't be bothered to do it efficiently. */
1894
vms_bfd_get_relocated_section_contents (bfd * abfd ATTRIBUTE_UNUSED,
1895
struct bfd_link_info *link_info ATTRIBUTE_UNUSED,
1896
struct bfd_link_order *link_order ATTRIBUTE_UNUSED,
1897
bfd_byte *data ATTRIBUTE_UNUSED,
1898
bfd_boolean relocatable ATTRIBUTE_UNUSED,
1899
asymbol **symbols ATTRIBUTE_UNUSED)
1902
vms_debug (1, "vms_bfd_get_relocated_section_contents (%p, %p, %p, %p, %s, %p)\n",
1903
abfd, link_info, link_order, data, (relocatable)?"True":"False", symbols);
1911
vms_bfd_relax_section (bfd * abfd ATTRIBUTE_UNUSED,
1912
asection *section ATTRIBUTE_UNUSED,
1913
struct bfd_link_info *link_info ATTRIBUTE_UNUSED,
1914
bfd_boolean *again ATTRIBUTE_UNUSED)
1916
if (link_info->relocatable)
1917
(*link_info->callbacks->einfo)
1918
(_("%P%F: --relax and -r may not be used together\n"));
1921
vms_debug (1, "vms_bfd_relax_section (%p, %s, %p, <ret>)\n",
1922
abfd, section->name, link_info);
1928
vms_bfd_gc_sections (bfd * abfd ATTRIBUTE_UNUSED,
1929
struct bfd_link_info *link_info ATTRIBUTE_UNUSED)
1932
vms_debug (1, "vms_bfd_gc_sections (%p, %p)\n", abfd, link_info);
1938
vms_bfd_merge_sections (bfd * abfd ATTRIBUTE_UNUSED,
1939
struct bfd_link_info *link_info ATTRIBUTE_UNUSED)
1942
vms_debug (1, "vms_bfd_merge_sections (%p, %p)\n", abfd, link_info);
1947
/* Create a hash table for the linker. Different backends store
1948
different information in this table. */
1950
static struct bfd_link_hash_table *
1951
vms_bfd_link_hash_table_create (bfd * abfd ATTRIBUTE_UNUSED)
1954
vms_debug (1, "vms_bfd_link_hash_table_create (%p)\n", abfd);
1959
/* Free a linker hash table. */
1962
vms_bfd_link_hash_table_free (struct bfd_link_hash_table *hash ATTRIBUTE_UNUSED)
1965
vms_debug (1, "vms_bfd_link_hash_table_free (%p)\n", abfd);
1969
/* Add symbols from this object file into the hash table. */
1972
vms_bfd_link_add_symbols (bfd * abfd ATTRIBUTE_UNUSED,
1973
struct bfd_link_info *link_info ATTRIBUTE_UNUSED)
1976
vms_debug (1, "vms_bfd_link_add_symbols (%p, %p)\n", abfd, link_info);
1981
/* Do a link based on the link_order structures attached to each
1982
section of the BFD. */
1985
vms_bfd_final_link (bfd * abfd ATTRIBUTE_UNUSED,
1986
struct bfd_link_info *link_info ATTRIBUTE_UNUSED)
1989
vms_debug (1, "vms_bfd_final_link (%p, %p)\n", abfd, link_info);
1994
/* Should this section be split up into smaller pieces during linking. */
1997
vms_bfd_link_split_section (bfd * abfd ATTRIBUTE_UNUSED,
1998
asection *section ATTRIBUTE_UNUSED)
2001
vms_debug (1, "vms_bfd_link_split_section (%p, %s)\n", abfd, section->name);
2006
/* Part 4.9, dynamic symbols and relocations. */
2008
/* Get the amount of memory required to hold the dynamic symbols. */
2011
vms_get_dynamic_symtab_upper_bound (bfd * abfd ATTRIBUTE_UNUSED)
2014
vms_debug (1, "vms_get_dynamic_symtab_upper_bound (%p)\n", abfd);
2020
vms_bfd_print_private_bfd_data (bfd * abfd ATTRIBUTE_UNUSED,
2021
void *file ATTRIBUTE_UNUSED)
2024
vms_debug (1, "vms_bfd_print_private_bfd_data (%p)\n", abfd);
2029
/* Read in the dynamic symbols. */
2032
vms_canonicalize_dynamic_symtab (bfd * abfd ATTRIBUTE_UNUSED,
2033
asymbol **symbols ATTRIBUTE_UNUSED)
2036
vms_debug (1, "vms_canonicalize_dynamic_symtab (%p, <ret>)\n", abfd);
2041
/* Get the amount of memory required to hold the dynamic relocs. */
2044
vms_get_dynamic_reloc_upper_bound (bfd * abfd ATTRIBUTE_UNUSED)
2047
vms_debug (1, "vms_get_dynamic_reloc_upper_bound (%p)\n", abfd);
2052
/* Read in the dynamic relocs. */
2055
vms_canonicalize_dynamic_reloc (bfd * abfd ATTRIBUTE_UNUSED,
2056
arelent **arel ATTRIBUTE_UNUSED,
2057
asymbol **symbols ATTRIBUTE_UNUSED)
2060
vms_debug (1, "vms_canonicalize_dynamic_reloc (%p)\n", abfd);
1415
vms_bfd_print_private_bfd_data (bfd *abfd, void *ptr)
1417
FILE *file = (FILE *)ptr;
1419
fprintf (file, _("structure level: %d\n"), PRIV(hdr_data.hdr_b_strlvl));
1420
fprintf (file, _("module name : %s\n"), PRIV(hdr_data.hdr_t_name));
1421
fprintf (file, _("module version : %s\n"), PRIV(hdr_data.hdr_t_version));
1422
fprintf (file, _("module date : %s\n"), PRIV(hdr_data.hdr_t_date));
1423
fprintf (file, _("language name : %s\n"), PRIV(hdr_data.hdr_c_lnm));
1424
fprintf (file, _("source files : %s\n"), PRIV(hdr_data.hdr_c_src));
1425
fprintf (file, _("title : %s\n"), PRIV(hdr_data.hdr_c_ttl));
2065
1430
const bfd_target vms_alpha_vec =
2085
1450
bfd_getl16, bfd_getl_signed_16, bfd_putl16,
2087
1452
{_bfd_dummy_target, vms_object_p, /* bfd_check_format. */
2088
vms_archive_p, _bfd_dummy_target},
1453
_bfd_dummy_target, _bfd_dummy_target},
2089
1454
{bfd_false, vms_mkobject, /* bfd_set_format. */
2090
_bfd_generic_mkarchive, bfd_false},
1455
bfd_false, bfd_false},
2091
1456
{bfd_false, vms_write_object_contents, /* bfd_write_contents. */
2092
_bfd_write_archive_contents, bfd_false},
1457
bfd_false, bfd_false},
2094
1459
BFD_JUMP_TABLE_GENERIC (vms),
2095
1460
BFD_JUMP_TABLE_COPY (vms),
2096
BFD_JUMP_TABLE_CORE (vms),
2097
BFD_JUMP_TABLE_ARCHIVE (vms),
1461
BFD_JUMP_TABLE_CORE (_bfd_nocore),
1462
BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive),
2098
1463
BFD_JUMP_TABLE_SYMBOLS (vms),
2099
1464
BFD_JUMP_TABLE_RELOCS (vms),
2100
1465
BFD_JUMP_TABLE_WRITE (vms),
2101
BFD_JUMP_TABLE_LINK (vms),
2102
BFD_JUMP_TABLE_DYNAMIC (vms),
1466
BFD_JUMP_TABLE_LINK (_bfd_nolink),
1467
BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),
2131
1496
bfd_getl16, bfd_getl_signed_16, bfd_putl16, /* Hdrs. */
2133
1498
{_bfd_dummy_target, vms_object_p, /* bfd_check_format. */
2134
vms_archive_p, _bfd_dummy_target},
1499
_bfd_dummy_target, _bfd_dummy_target},
2135
1500
{bfd_false, vms_mkobject, /* bfd_set_format. */
2136
_bfd_generic_mkarchive, bfd_false},
1501
bfd_false, bfd_false},
2137
1502
{bfd_false, vms_write_object_contents, /* bfd_write_contents. */
2138
_bfd_write_archive_contents, bfd_false},
1503
bfd_false, bfd_false},
2140
1505
BFD_JUMP_TABLE_GENERIC (vms),
2141
1506
BFD_JUMP_TABLE_COPY (vms),
2142
BFD_JUMP_TABLE_CORE (vms),
2143
BFD_JUMP_TABLE_ARCHIVE (vms),
1507
BFD_JUMP_TABLE_CORE (_bfd_nocore),
1508
BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive),
2144
1509
BFD_JUMP_TABLE_SYMBOLS (vms),
2145
1510
BFD_JUMP_TABLE_RELOCS (vms),
2146
1511
BFD_JUMP_TABLE_WRITE (vms),
2147
BFD_JUMP_TABLE_LINK (vms),
2148
BFD_JUMP_TABLE_DYNAMIC (vms),
1512
BFD_JUMP_TABLE_LINK (_bfd_nolink),
1513
BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic),