Commit Graph

72 Commits

Author SHA1 Message Date
Tristan Gingold 81bb31c0d9 2010-06-11 Tristan Gingold <gingold@adacore.com>
* vms-misc.c (_bfd_vms_output_counted): Make VALUE argument const.
	Adjust cast.
	(_bfd_vms_output_dump): Make DATA argument const, adjust cast.
	* vms.h (_bfd_vms_output_counted, _bfd_vms_output_dump): Adjust.
	* vms-alpha.c (evax_section_flags): Make it const.
	(vms_secflag_by_name): Remove unused ABFD argument.
	Make SECTION_FLAGS and NAME arguments const. Clarify comment.
	(vms_esecflag_by_name): Make SECTION_FLAGS and NAME arguments const.
	(_bfd_vms_slurp_egsd): Adjust call to vms_secflag_by_name.
	(_bfd_vms_write_egsd): Remove useless cast.
2010-06-11 15:13:32 +00:00
Tristan Gingold d0ef7741c5 2010-06-02 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (alpha_vms_bfd_final_link): Fix 64bit constant.
2010-06-02 08:01:30 +00:00
Tristan Gingold 46d00b8af1 bfd/
2010-06-01  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c (struct vms_private_data_struct): Add
	transfer_address field.  Remove unused dst_info field.
	(alpha_vms_write_exec): Use transfer_address.
	(_bfd_vms_write_egsd): Add a comment about LIB$INITIALIZE.
	(alpha_vms_bfd_final_link): Set transfer_address.

ld/
2010-06-01  Tristan Gingold  <gingold@adacore.com>

	* scripttempl/alphavms.sc: Add comments. Move $LINK$ to the
	readonly output-section. Handle LIB$INITIALIZE and sections
	created by gcc.
	* emultempl/vms.em (vms_place_orphan): Add comments.
2010-06-01 09:52:28 +00:00
Tristan Gingold 7d5ee7d7b7 2010-05-31 Tristan Gingold <gingold@adacore.com>
* vms-lib.c (credat_lo, credat_hi): New fields.
	(vms_read_block): Adjust comments.
	(vms_write_block): New function.
	(_bfd_vms_lib_archive_p): Decode majorid once.  Replace some
	hard-coded values with constants.  Set credat_lo and credat_hi.
	(_bfd_vms_lib_mkarchive): Add argument kind.
	Set ver, mhd_size and type according to kind.
	(_bfd_vms_lib_alpha_mkarchive): New function.
	(struct lib_index): Renamed from struct vms_index
	(lib_index_cmp): Renamed from vms_index_cmp.  Adjusted.
	(get_idxlen): Type of idx argument adjusted.  Add is_elfidx
	argument and handle it.
	(vms_write_index): Adjust argument idx.  Handle elf indexes.
	(_bfd_vms_lib_build_map): Adjust type of arguments modules and res.
	(_bfd_vms_lib_write_archive_contents): Add is_elfidx variable and
	use it.  Handle elf indexes.  Set credat.
	* libbfd-in.h (_bfd_vms_lib_mkarchive): Renamed to ...
	(_bfd_vms_lib_alpha_mkarchive): ... this.
	* libbfd.h: Regenerated.
	* vms-alpha.c (vms_alpha_vec): Adjust after previous renaming.
2010-05-31 15:03:14 +00:00
Tristan Gingold f9eeb9c926 2010-05-26 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c: Update comments.
	(alpha_vms_write_exec): Set lnkflags.  Write the GST.
	(alpha_vms_link_output_symbol): New function.
	(alpha_vms_bfd_final_link): Generate the VMS symbol table.
	Set dst_section private field.
	(alpha_vms_bfd_final_link): Remove code that set dst_section.
2010-05-26 08:55:22 +00:00
Tristan Gingold a928f1d7a2 2010-05-25 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (struct vms_symbol_entry): Field section is
	now an asection pointer.  Ditto for code_section.
	(_bfd_vms_slurp_egsd): Adjust for above change.
	(vms_get_symbol_info): Ditto.
	(alpha_vms_convert_symbol): Ditto.  Remove special dwarf2 case.
	Remove commented out code.
	(alpha_vms_get_synthetic_symtab): Simplify thanks to the above
	change.
	(alpha_vms_get_sym_value): Remove struct alpha_vms_link_hash_entry
	parameter.  Simplify the code.
	(_bfd_vms_slurp_etir): Adjust for above change.
2010-05-25 12:41:16 +00:00
Nick Clifton 9fcd9da679 PR ld/11624
* archive.c (_bfd_calloc_wrapper): New function.
        (_bfd_add_bfd_to_archive_cache): Use it.

        * configure.in: Add alpha*-*-*vms* to list of natives.
        * configure: Regenerate.

        * vms-misc.c: Define globalref if necessary.
        (vms_convert_to_var_unix_filename): Rename to
        _bfd_vms_convert_to_var_unix_filename and export.
        * vms.h: Add prototype for _bfd_vms_convert_to_var_unix_filename.
        * vms-alpha.c (vms_close_and_cleanup): Update invocation of
        vms_convert_to_var_unix_filename.
2010-05-25 10:14:16 +00:00
Tristan Gingold ce76e55c68 2010-05-24 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (add_symbol_entry): New function extrated from ...
	(add_symbol): ... adjusted.
2010-05-24 10:50:27 +00:00
Tristan Gingold c734eb83b8 2010-05-24 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (struct vms_private_data_struct): Add section_max
	field.
	(_bfd_vms_slurp_egsd): Put PSC into the sections array.
	(vms_new_section_hook): Do not put section in the sections
	array.
2010-05-24 10:41:52 +00:00
Tristan Gingold 5fe88cfb86 2010-05-24 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (_bfd_vms_slurp_egsd): Fix indentation.
	(alpha_vms_write_exec): Add a comment.
	(_bfd_vms_write_egsd): Ditto.
	(alpha_vms_convert_symbol): Remove a blank line.
2010-05-24 10:24:36 +00:00
Tristan Gingold 6a286118b5 2010-05-21 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (_bfd_vms_slurp_eihs): Do not create a bfd section
	for the GST.
2010-05-21 15:11:06 +00:00
Tristan Gingold c068d5be63 2010-05-21 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (_bfd_vms_slurp_eisd): Set SEC_HAS_CONTENTS and
	SEC_LOAD if isect has data.
	(vms_get_symbol_info): Refine the condition for 'T' type.
2010-05-21 13:19:34 +00:00
Tristan Gingold bd7b51b4c6 2010-05-18 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (_bfd_vms_write_emh): New function.
	(_bfd_vms_write_lmn): New function.
	(_bfd_vms_write_eeom): Moved.
	(hash_string): Likewise.
	(_bfd_vms_length_hash_symbol): Likewise.
	(_bfd_vms_write_ehdr): Code moved to _bfd_vms_write_emh
	and _bfd_vms_write_lmn, and call these functions.
2010-05-18 09:37:05 +00:00
Tristan Gingold 0fca53b78d 2010-05-18 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (evax_bfd_print_dst): Handle INCR_LINUM_L.
	Add details in the messages.
	(evax_bfd_print_image): Change message.
2010-05-18 09:23:43 +00:00
Tristan Gingold 9a1b4480b4 bfd/
2010-05-17  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c: Include esgps.h and eidc.h.
	(_bfd_vms_slurp_egsd): Ignore SPSC and IDC sub-records.
	(evax_bfd_print_egsd_flags): New function, extracted from ...
	(evax_bfd_print_egsd): ..., calls evax_bfd_print_egsd_flags.  Handles
	EGSD__C_SPSC and EGSD__C_IDC.

include/vms:
2010-05-17  Tristan Gingold  <gingold@adacore.com>

	* eidc.h: New file.
	* esgps.h: New file.
2010-05-17 08:07:46 +00:00
Tristan Gingold af47dcbf0d 2010-05-14 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (alpha_vms_object_p): Accept header size of 0.
	(_bfd_vms_get_object_record): Handle align byte only in the
	foreign case.
2010-05-14 07:45:02 +00:00
Tristan Gingold fa23f0f49a bfd/
2010-05-03  Tristan Gingold  <gingold@adacore.com>

	* vms-lib.c (vms_lib_bopen): Fix the size threshold to read
	selective_search flag.
	Add comments.
	* vms-alpha.c (alpha_vms_bfd_final_link): Create the DMT section
	before output_has_begun is set.
2010-05-03 16:04:32 +00:00
Tristan Gingold 44273c5bcc bfd/
2010-05-03  Tristan Gingold  <gingold@adacore.com>

	* vms-alpha.c: Add comments.
	(struct vms_private_data_struct): Remove image_autoextend field.
	(dst_check_allocation): Removed.
	(image_write): Remove call to dst_check_allocation.
	(vms_slurp_debug): Do not set image_autoextend.  Adjust section
	size.
	(_bfd_vms_slurp_object_records): Remove useless new_type variable.
	(alpha_vms_write_exec): Use dst_section to get the dst section.
	Write the dmt section.
	(evax_bfd_print_image): Also print the dst size in hexa.  Fix typo.
	(alpha_vms_read_sections_content): Do not set image_autoextend.

include/vms/
2010-05-03  Tristan Gingold  <gingold@adacore.com>

	* dmt.h: Improve comments.
2010-05-03 12:16:46 +00:00
Tristan Gingold 8e57e1d134 bfd/
2010-04-30  Tristan Gingold  <gingold@adacore.com>

	* vms-lib.c (struct lib_tdata): Field artdata added, fields nbr_syms
	and syms removed.
	(struct carsym_mem): New structure.
	(vms_add_index): New function.
	(vms_add_indexes_from_list): New function.
	(vms_traverse_index): Parameter carsym changed to carsym_mem.
	Code adjusted to handle elfidx.
	(vms_lib_read_index): Adjusted for vms_traverse_index changes.
	Parameter NBREL is now a pointer.
	(_bfd_vms_lib_archive_p): Adjust for above change.  Handle ia64
	archives.
	(_bfd_vms_lib_mkarchive): Adjusted for changes in struct lib_tdata.
	(_bfd_vms_lib_find_symbol): Ditto.
	(vms_lib_bopen): Fix two typos: return FALSE in case of error,
	check MHD id.
	* vms-alpha.c (alpha_vms_link_add_archive_symbols): Adjust for
	changes of _bfd_vms_lib_find_symbol.

include/vms
2010-04-30  Tristan Gingold  <gingold@adacore.com>

	* lbr.h (LBR__C_TYP_ISHSTB): Added.
	(LHD_SANEID4): Renamed to ...
	(LHD_SANEID6): ...  this.
	(LBR_MAJORID, LBR_ELFMAJORID): New macros.
	(struct vms_rfa): New structure.
	(struct vms_idxdef): Renamed to ...
	(struct vms_idx): ... this.
	(struct vms_idxdef2): Renamed to ...
	(struct vms_elfidx): ... this.
	(ELFIDX__WEAK, ELFIDX__GROUP, ELFIDX__LISTRFA, ELFIDX__SYMESC): New
	macros.
	(struct vms_lhs, struct vms_lns): New structures.
	(struct vms_mhd): Add missing fields.
	(MHD__C_MHDLEN): New macro.
2010-04-30 09:40:42 +00:00
Tristan Gingold 11afaedaad 2010-04-16 Andreas Schwab <schwab@redhat.com>
* vms-alpha.c (alpha_vms_link_add_object_symbols): Avoid breaking
	strict-aliasing rules.
2010-04-16 14:38:54 +00:00
Tristan Gingold ddfb684a2f 2010-04-16 Tristan Gingold <gingold@adacore.com>
* vms-alpha.c (_bfd_vms_slurp_eihd): Fix typo.
	(_bfd_vms_get_object_record): Always assume there is a pad byte
	for alignment.
	* vms-lib.c: Add a few comments.
2010-04-16 14:23:41 +00:00
Tristan Gingold 95e34ef763 2010-04-14 Tristan Gingold <gingold@adacore.com>
* Makefile.am (BFD32_BACKENDS): Remove vms-gsd.lo, vms-hdr.lo,
	vms-tir.lo, vms.lo and add vms-alpha.lo
	(BFD32_BACKENDS_CFILES): Remove vms-gsd.c, vms-hdr.c,
	vms-tir.c, vms.c and add vms-alpha.c
	* Makefile.in: Regenerate.
	* configure.in (TDEFINES): Adjust file list for vms_alpha_vec.
	Remove vms_vax_vec.
	* configure: Regenerate.
	* targets.c (vms_vax_vec): Remove the declaration.
	(_bfd_target_vector): Remove vms_vax_vec.
	* vms-alpha.c: New file.
	* vms-gsd.c: Removed, rewritten in vms-alpha.c
	* vms-hdr.c: Ditto.
	* vms-tir.c: Ditto.
	* vms.c: Ditto.
	* vms-misc.c: Fix indentation and comments.  Replace most of
	#if VMS_DEBUG/vms_debug with vms_debug2.
	(_bfd_vms_hash_newfunc): Moved to vms-alpha.c
	(hash_string): Ditto.
	(_bfd_vms_length_hash_symbol): Ditto.
	(maybe_adjust_record_pointer_for_object): Ditto.
	(_bfd_vms_get_object_record): Ditto.
	(vms_get_remaining_object_record): Ditto.
	(_bfd_vms_push): Ditto.
	(_bfd_vms_pop): Ditto.
	(_bfd_vms_get_header_values): Removed.
	(_bfd_vms_get_first_record): Removed.
	(vms_get_remaining_image_record): Removed.
	(new_symbol): Removed.
	(_bfd_vms_enter_symbol): Removed.
	(_bfd_vms_save_sized_string): Use memcpy instead of strncpy.
	(_bfd_vms_output_begin): Remove rechead parameter.  Replace bfd
	parameter with struct vms_rec_wr.
	(_bfd_vms_output_push): Removed and replaced by ...
	(_bfd_vms_output_begin_subrec): ... new function.
	(_bfd_vms_output_alignment): Replace bfd parameter with
	struct vms_rec_wr, and adjust.
	(_bfd_vms_output_check): Ditto
	(_bfd_vms_output_byte): Ditto.
	(_bfd_vms_output_short): Ditto.
	(_bfd_vms_output_long): Ditto.
	(_bfd_vms_output_quad): Ditto.
	(_bfd_vms_output_counted): Ditto.
	(_bfd_vms_output_dump): Ditto.
	(_bfd_vms_output_fill): Ditto.
	(_bfd_vms_output_pop): Removed and replaced by ...
	(_bfd_vms_output_end_subrec): ... new function.
	(_bfd_vms_output_flush): Removed.
	(_bfd_vms_output_align): New function.
	(_bfd_vms_output_end): Add recwr parameter.  Adjust for this new
	parameter.
	(vms_convert_to_var): New function imported from vms.c
	(vms_convert_to_var_1): Ditto.
	(vms_convert_to_var_unix_filename): Ditto.
	(vms_get_module_name): Ditto.
	(get_vms_time_string): Ditto.
	(vms_time_to_time_t): Ditto.
	(vms_rawtime_to_time_t): Ditto.
	* vms.h: All macros for the VMS file format are now in include/vms.
	Prototypes for vms.c, vms-gsd.c, vms-misc.c, vms-hdr.c, vms-tir.c
	have been removed.
	(struct vms_symbol_struct, struct stack_struct): Moved to vms-alpha.c
	(struct fileinfo, struct srecinfo, struct lineinfo): Ditto.
	(struct funcinfo, struct vms_private_data_struct): Ditto.
	(struct vms_section_data_struct): Ditto.
	(struct vms_rec_rd, stryct vms_rec_wr): New declarations.
	(vms_get_module_name, get_vms_time_string): New declarations.
	(vms_time_to_time_t, vms_rawtime_to_time_t): Ditto.
	(_bfd_vms_output_begin_subrec, _bfd_vms_output_end_subrec): Ditto.
	(_bfd_vms_save_sized_string, _bfd_vms_save_counted_string): Adjusted.
	(_bfd_vms_output_begin, _bfd_vms_output_alignment): Ditto.
	(_bfd_vms_output_end,_bfd_vms_output_check): Ditto.
	(_bfd_vms_output_byte, _bfd_vms_output_short): Ditto.
	(_bfd_vms_output_long, _bfd_vms_output_quad): Ditto.
	(_bfd_vms_output_counted, _bfd_vms_output_dump): Ditto.
	(_bfd_vms_output_fill): Ditto.
	(bfd_vms_set_section_flags): Ditto.
2010-04-14 09:24:59 +00:00