Wed Oct 2 15:46:45 1996 Klaus Kaempf <kkaempf@progis.de>

openVMS/Alpha: Provide filename and case_hack flags via
	symbol table from gas.
	Add case_hack code for symbol output from vax/vms.
	* evax-alpha.c (evax_initialize): Remove filename handling,
	filename is provided via symbol table.
	(evax_get_symtab): Use local symbol count when setting up table.
	* evax-egsd.c (_bfd_evax_slurp_egsd): Print correct name when
	debugging.
	(_bfd_evax_write_egsd): Skip file name symbol.
	* evax-emh.c (get_vms_time_string): Local function now.
	(_bfd_evax_write_emh): Extract source filename and case_hack flags
	from symbol table.
	* evax_write_etir (_bfd_evax_write_etir): Pass all symbol names
	through _bfd_evax_case_hack_symbol.
	* evax-misc.c (hash_string, _bfd_evax_case_hack_symbol): New
	functions.
	(_bfd_evax_basename): Removed.
	(_bfd_get_vms_time_string): Moved to evax-emh.c.
	* evax.h (evax_private_data_struct): Remove filename.
	(flag_hash_long_names, flag_show_after_trunc,
	flag_no_hash_mixed_case, vms_name_mapping): New flags for
	vms_case_hack.
This commit is contained in:
Ian Lance Taylor 1996-10-02 19:49:01 +00:00
parent 1259da3e77
commit bf53bd9faa
7 changed files with 306 additions and 173 deletions

View file

@ -279,7 +279,6 @@ struct location_struct {
#define EVAX_SECTION_COUNT 32
struct evax_private_data_struct {
char *filename; /* Filename of object file */
boolean fixup_done; /* Flag to indicate if all
section pointers and PRIV(sections)
are set up correctly */
@ -328,6 +327,11 @@ struct evax_private_data_struct {
int evax_linkage_index;
/* see tc-alpha.c of gas for a description. */
int flag_hash_long_names; /* -+ */
int flag_show_after_trunc; /* -H */
int flag_no_hash_mixed_case; /* -h NUM */
char vms_name_mapping;
};
#define PRIV(name) ((struct evax_private_data_struct *)abfd->tdata.any)->name
@ -373,7 +377,6 @@ extern void _bfd_evax_output_counted PARAMS ((bfd *abfd, char *value));
extern void _bfd_evax_output_dump PARAMS ((bfd *abfd, unsigned char *data,
int length));
extern void _bfd_evax_output_fill PARAMS ((bfd *abfd, int value, int length));
extern char *_bfd_get_vms_time_string PARAMS ((void));
extern char *_bfd_evax_basename PARAMS ((char *name));
extern char *_bfd_evax_case_hack_symbol PARAMS ((bfd *abfd, const char *in));
#endif /* EVAX_H */