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:
parent
1259da3e77
commit
bf53bd9faa
7 changed files with 306 additions and 173 deletions
|
@ -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 */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue