diff options
author | Ken Raeburn <raeburn@cygnus> | 1993-06-22 02:58:25 +0000 |
---|---|---|
committer | Ken Raeburn <raeburn@cygnus> | 1993-06-22 02:58:25 +0000 |
commit | 2c3b9e4714233549f7569782bc464bb85b3ecd5a (patch) | |
tree | f60d708ad6484cfe6ff0c252be0541f11e43b0dd | |
parent | d429d6064c94dc5dc93401a05440891ff822c903 (diff) | |
download | gdb-2c3b9e4714233549f7569782bc464bb85b3ecd5a.zip gdb-2c3b9e4714233549f7569782bc464bb85b3ecd5a.tar.gz gdb-2c3b9e4714233549f7569782bc464bb85b3ecd5a.tar.bz2 |
(srec_write_symbols): Use sprintf_vma, in case bfd_vma is too wide for
printf to handle.
-rw-r--r-- | bfd/srec.c | 42 |
1 files changed, 31 insertions, 11 deletions
@@ -707,7 +707,7 @@ DEFUN(srec_write_terminator,(abfd, tdata), static void srec_write_symbols(abfd) -bfd *abfd; + bfd *abfd; { char buffer[MAXCHUNK]; /* Dump out the symbols of a bfd */ @@ -747,7 +747,15 @@ bfd *abfd; /* Just dump out non debug symbols */ int l; - sprintf(buffer," %s $%x\n\r", s->name, s->value + s->section->lma); + char buf2[40], *p; + + sprintf (buffer," %s $", s->name); + sprintf_vma (buf2, s->value + s->section->lma); + p = buf2; + while (p[0] == '0' && p[1] != 0) + p++; + strcat (buffer, p); + strcat (buffer, "\n\r"); l = strlen(buffer); bfd_write(buffer, l, 1,abfd); } @@ -841,6 +849,15 @@ DEFUN(srec_get_symtab, (abfd, alocation), } void +DEFUN(srec_get_symbol_info,(ignore_abfd, symbol, ret), + bfd *ignore_abfd AND + asymbol *symbol AND + symbol_info *ret) +{ + bfd_symbol_info (symbol, ret); +} + +void DEFUN(srec_print_symbol,(ignore_abfd, afile, symbol, how), bfd *ignore_abfd AND PTR afile AND @@ -854,7 +871,6 @@ DEFUN(srec_print_symbol,(ignore_abfd, afile, symbol, how), fprintf (file, "%s", symbol->name); break; default: - case bfd_print_symbol_nm: bfd_print_symbol_vandf ((PTR) file, symbol); fprintf (file, " %-5s %s", symbol->section->name, @@ -911,10 +927,12 @@ bfd_target srec_vec = ' ', /* ar_pad_char */ 16, /* ar_max_namelen */ 1, /* minimum alignment */ - _do_getb64, _do_putb64, _do_getb32, - _do_putb32, _do_getb16, _do_putb16, /* data */ - _do_getb64, _do_putb64, _do_getb32, - _do_putb32, _do_getb16, _do_putb16, /* hdrs */ + _do_getb64, _do_getb_signed_64, _do_putb64, + _do_getb32, _do_getb_signed_32, _do_putb32, + _do_getb16, _do_getb_signed_16, _do_putb16, /* data */ + _do_getb64, _do_getb_signed_64, _do_putb64, + _do_getb32, _do_getb_signed_32, _do_putb32, + _do_getb16, _do_getb_signed_16, _do_putb16, /* hdrs */ { _bfd_dummy_target, @@ -954,10 +972,12 @@ bfd_target symbolsrec_vec = ' ', /* ar_pad_char */ 16, /* ar_max_namelen */ 1, /* minimum alignment */ - _do_getb64, _do_putb64, _do_getb32, - _do_putb32, _do_getb16, _do_putb16, /* data */ - _do_getb64, _do_putb64, _do_getb32, - _do_putb32, _do_getb16, _do_putb16, /* hdrs */ + _do_getb64, _do_getb_signed_64, _do_putb64, + _do_getb32, _do_getb_signed_32, _do_putb32, + _do_getb16, _do_getb_signed_16, _do_putb16, /* data */ + _do_getb64, _do_getb_signed_64, _do_putb64, + _do_getb32, _do_getb_signed_32, _do_putb32, + _do_getb16, _do_getb_signed_16, _do_putb16, /* hdrs */ { _bfd_dummy_target, |