* elf-hppa.h (elf_hppa_reloc_final_type): Handle selectors for
[deliverable/binutils-gdb.git] / bfd / srec.c
index f792d971d9f69a0731e433c1d957b8bf7b625a11..c0a3d585b437e824fffc026069ca9b604209fccf 100644 (file)
@@ -1,6 +1,6 @@
 /* BFD back-end for s-record objects.
    Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-   2000, 2001, 2002
+   2000, 2001, 2002, 2003
    Free Software Foundation, Inc.
    Written by Steve Chamberlain of Cygnus Support <sac@cygnus.com>.
 
@@ -132,13 +132,13 @@ static bfd_boolean srec_get_section_contents
 static bfd_boolean srec_set_arch_mach
   PARAMS ((bfd *, enum bfd_architecture, unsigned long));
 static bfd_boolean srec_set_section_contents
-  PARAMS ((bfd *, sec_ptr, PTR, file_ptr, bfd_size_type));
+  PARAMS ((bfd *, sec_ptr, const PTR, file_ptr, bfd_size_type));
 static bfd_boolean internal_srec_write_object_contents PARAMS ((bfd *, int));
 static bfd_boolean srec_write_object_contents PARAMS ((bfd *));
 static bfd_boolean symbolsrec_write_object_contents PARAMS ((bfd *));
 static int srec_sizeof_headers PARAMS ((bfd *, bfd_boolean));
 static long srec_get_symtab_upper_bound PARAMS ((bfd *));
-static long srec_get_symtab PARAMS ((bfd *, asymbol **));
+static long srec_canonicalize_symtab PARAMS ((bfd *, asymbol **));
 
 /* Macros for converting between hex and binary.  */
 
@@ -872,7 +872,7 @@ static bfd_boolean
 srec_set_section_contents (abfd, section, location, offset, bytes_to_do)
      bfd *abfd;
      sec_ptr section;
-     PTR location;
+     const PTR location;
      file_ptr offset;
      bfd_size_type bytes_to_do;
 {
@@ -1009,7 +1009,7 @@ srec_write_header (abfd)
 {
   unsigned int len = strlen (abfd->filename);
 
-  /* I'll put an arbitary 40 char limit on header size.  */
+  /* I'll put an arbitrary 40 char limit on header size.  */
   if (len > 40)
     len = 40;
 
@@ -1095,24 +1095,25 @@ srec_write_symbols (abfd)
              && (s->flags & BSF_DEBUGGING) == 0)
            {
              /* Just dump out non debug symbols.  */
-             char buf[42], *p;
+             char buf[43], *p;
 
              len = strlen (s->name);
              if (bfd_bwrite ("  ", (bfd_size_type) 2, abfd) != 2
                  || bfd_bwrite (s->name, len, abfd) != len)
                return FALSE;
 
-             sprintf_vma (buf + 1, (s->value
+             sprintf_vma (buf + 2, (s->value
                                     + s->section->output_section->lma
                                     + s->section->output_offset));
-             p = buf + 1;
+             p = buf + 2;
              while (p[0] == '0' && p[1] != 0)
                p++;
              len = strlen (p);
              p[len] = '\r';
              p[len + 1] = '\n';
+             *--p = '$';
              *--p = ' ';
-             len += 3;
+             len += 4;
              if (bfd_bwrite (p, len, abfd) != len)
                return FALSE;
            }
@@ -1187,7 +1188,7 @@ srec_get_symtab_upper_bound (abfd)
 /* Return the symbol table.  */
 
 static long
-srec_get_symtab (abfd, alocation)
+srec_canonicalize_symtab (abfd, alocation)
      bfd *abfd;
      asymbol **alocation;
 {
@@ -1203,7 +1204,7 @@ srec_get_symtab (abfd, alocation)
 
       csymbols = (asymbol *) bfd_alloc (abfd, symcount * sizeof (asymbol));
       if (csymbols == NULL && symcount != 0)
-       return (long) FALSE;
+       return 0;
       abfd->tdata.srec_data->csymbols = csymbols;
 
       for (s = abfd->tdata.srec_data->symbols, c = csymbols;
This page took 0.024051 seconds and 4 git commands to generate.