aboutsummaryrefslogtreecommitdiff
path: root/bfd/evax-etir.c
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1996-10-02 19:49:01 +0000
committerIan Lance Taylor <ian@airs.com>1996-10-02 19:49:01 +0000
commitbf53bd9faab2babf447b569a03f04663abece21c (patch)
tree9f2442843f6d4b91603aad85a57cd57ff45aab36 /bfd/evax-etir.c
parent1259da3e77b03cb56b4d2a0144587b4f95cce5c9 (diff)
downloadgdb-bf53bd9faab2babf447b569a03f04663abece21c.zip
gdb-bf53bd9faab2babf447b569a03f04663abece21c.tar.gz
gdb-bf53bd9faab2babf447b569a03f04663abece21c.tar.bz2
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.
Diffstat (limited to 'bfd/evax-etir.c')
-rw-r--r--bfd/evax-etir.c61
1 files changed, 7 insertions, 54 deletions
diff --git a/bfd/evax-etir.c b/bfd/evax-etir.c
index cb186f1..067af82 100644
--- a/bfd/evax-etir.c
+++ b/bfd/evax-etir.c
@@ -1121,8 +1121,6 @@ _bfd_evax_write_etir (abfd)
asection *section;
evax_section *sptr;
int nextoffset;
- char uname[200];
- char *nptr, *uptr;
#if EVAX_DEBUG
evax_debug (2, "evax_write_etir(%p)\n", abfd);
@@ -1247,19 +1245,8 @@ _bfd_evax_write_etir (abfd)
_bfd_evax_output_begin (abfd,
ETIR_S_C_STO_GBL_LW,
-1);
- uptr = uname;
- nptr = (char *)sym->name;
- while (*nptr)
- {
- if (islower (*nptr))
- *uptr = toupper (*nptr);
- else
- *uptr = *nptr;
- nptr++;
- uptr++;
- }
- *uptr = 0;
- _bfd_evax_output_counted (abfd, uname);
+ _bfd_evax_output_counted (abfd,
+ _bfd_evax_case_hack_symbol (abfd, sym->name));
_bfd_evax_output_flush (abfd);
}
else if (bfd_is_abs_section (sym->section))
@@ -1324,19 +1311,8 @@ _bfd_evax_write_etir (abfd)
_bfd_evax_output_begin (abfd,
ETIR_S_C_STO_GBL,
-1);
- uptr = uname;
- nptr = (char *)sym->name;
- while (*nptr)
- {
- if (islower (*nptr))
- *uptr = toupper (*nptr);
- else
- *uptr = *nptr;
- nptr++;
- uptr++;
- }
- *uptr = 0;
- _bfd_evax_output_counted (abfd, uname);
+ _bfd_evax_output_counted (abfd,
+ _bfd_evax_case_hack_symbol (abfd, sym->name));
_bfd_evax_output_flush (abfd);
}
else if (bfd_is_abs_section (sym->section))
@@ -1397,20 +1373,8 @@ _bfd_evax_write_etir (abfd)
evax_output_begin(abfd, ETIR_S_C_STO_HINT_GBL, -1);
evax_output_long(abfd, (unsigned long)(sec->index));
evax_output_quad(abfd, (uquad)addr);
- uptr = uname;
- nptr = (char *)(*(*rptr)->sym_ptr_ptr)->name;
- while (*nptr)
- {
- if (islower (*nptr))
- *uptr = toupper (*nptr);
- else
- *uptr = *nptr;
- nptr++;
- uptr++;
- }
- *uptr = 0;
- evax_output_counted(abfd, uname);
+ evax_output_counted(abfd, _bfd_evax_case_hack_symbol (abfd, sym->name));
evax_output_flush(abfd);
#endif
}
@@ -1447,19 +1411,8 @@ _bfd_evax_write_etir (abfd)
_bfd_evax_output_long (abfd,
(unsigned long)PRIV(evax_linkage_index));
PRIV(evax_linkage_index) += 2;
- uptr = uname;
- nptr = (char *)(*(*rptr)->sym_ptr_ptr)->name;
- while (*nptr)
- {
- if (islower (*nptr))
- *uptr = toupper (*nptr);
- else
- *uptr = *nptr;
- nptr++;
- uptr++;
- }
- *uptr = 0;
- _bfd_evax_output_counted (abfd, uname);
+ _bfd_evax_output_counted (abfd,
+ _bfd_evax_case_hack_symbol (abfd, sym->name));
_bfd_evax_output_byte (abfd, 0);
_bfd_evax_output_flush (abfd);
}