* ui-out.c (ui_out_get_field_separator): Remove unused function.
[deliverable/binutils-gdb.git] / gdb / dsrec.c
index 3021052203d9071f8c4450f2d9bc1bc54a0a259a..cee2d858c4ae4ed38039b960f8dfc18c6ef11703 100644 (file)
@@ -1,12 +1,12 @@
 /* S-record download support for GDB, the GNU debugger.
-   Copyright 1995, 1996, 1997, 1999, 2000, 2001
-   Free Software Foundation, Inc.
+   Copyright (C) 1995, 1996, 1997, 1999, 2000, 2001, 2003, 2004, 2007, 2008,
+   2009, 2010, 2011 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
@@ -15,9 +15,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
 #include "serial.h"
@@ -64,13 +62,13 @@ load_srec (struct serial *desc, const char *file, bfd_vma load_offset,
   abfd = bfd_openr (file, 0);
   if (!abfd)
     {
-      printf_filtered ("Unable to open file %s\n", file);
+      printf_filtered (_("Unable to open file %s\n"), file);
       return;
     }
 
   if (bfd_check_format (abfd, bfd_object) == 0)
     {
-      printf_filtered ("File is not an object file\n");
+      printf_filtered (_("File is not an object file\n"));
       return;
     }
 
@@ -92,17 +90,18 @@ load_srec (struct serial *desc, const char *file, bfd_vma load_offset,
     if (s->flags & SEC_LOAD)
       {
        int numbytes;
+
        bfd_vma addr = bfd_get_section_vma (abfd, s) + load_offset;
-       bfd_size_type size = bfd_get_section_size_before_reloc (s);
+       bfd_size_type size = bfd_get_section_size (s);
        char *section_name = (char *) bfd_get_section_name (abfd, s);
        /* Both GDB and BFD have mechanisms for printing addresses.
            In the below, GDB's is used so that the address is
            consistent with the rest of GDB.  BFD's printf_vma() could
-           have also been used. cagney 1999-09-01 */
-       printf_filtered ("%s\t: 0x%s .. 0x%s  ",
+           have also been used.  cagney 1999-09-01 */
+       printf_filtered ("%s\t: %s .. %s  ",
                         section_name,
-                        paddr (addr),
-                        paddr (addr + size));
+                        paddress (target_gdbarch, addr),
+                        paddress (target_gdbarch, addr + size));
        gdb_flush (gdb_stdout);
 
        data_count += size;
@@ -127,7 +126,7 @@ load_srec (struct serial *desc, const char *file, bfd_vma load_offset,
                if (deprecated_ui_load_progress_hook)
                  if (deprecated_ui_load_progress_hook (section_name,
                                                        (unsigned long) i))
-                   error ("Canceled the download");
+                   error (_("Canceled the download"));
              }
            while (waitack != NULL && !waitack ());
 
@@ -136,12 +135,12 @@ load_srec (struct serial *desc, const char *file, bfd_vma load_offset,
                putchar_unfiltered ('#');
                gdb_flush (gdb_stdout);
              }
-         }                     /* Per-packet (or S-record) loop */
+         }                     /* Per-packet (or S-record) loop */
 
        if (deprecated_ui_load_progress_hook)
          if (deprecated_ui_load_progress_hook (section_name,
                                                (unsigned long) i))
-           error ("Canceled the download");
+           error (_("Canceled the download"));
        putchar_unfiltered ('\n');
       }
 
@@ -174,7 +173,7 @@ load_srec (struct serial *desc, const char *file, bfd_vma load_offset,
 }
 
 /*
- * make_srec -- make an srecord. This writes each line, one at a
+ * make_srec -- make an srecord.  This writes each line, one at a
  *      time, each with it's own header and trailer line.
  *      An srecord looks like this:
  *
@@ -191,9 +190,9 @@ load_srec (struct serial *desc, const char *file, bfd_vma load_offset,
  *
  *      Where
  *      - length
- *        is the number of bytes following upto the checksum. Note that
- *        this is not the number of chars following, since it takes two
- *        chars to represent a byte.
+ *        is the number of bytes following upto the checksum.  Note
+ *        that this is not the number of chars following, since it
+ *        takes two chars to represent a byte.
  *      - type
  *        is one of:
  *        0) header record
@@ -254,8 +253,8 @@ make_srec (char *srec, CORE_ADDR targ_addr, bfd *abfd, asection *sect,
     addr_size = 4;
   else
     internal_error (__FILE__, __LINE__,
-                   "make_srec:  Bad address (0x%s), or bad flags (0x%x).",
-                   paddr (targ_addr), flags);
+                   _("make_srec:  Bad address (%s), or bad flags (0x%x)."),
+                   paddress (target_gdbarch, targ_addr), flags);
 
   /* Now that we know the address size, we can figure out how much
      data this record can hold.  */
@@ -263,12 +262,12 @@ make_srec (char *srec, CORE_ADDR targ_addr, bfd *abfd, asection *sect,
   if (sect && abfd)
     {
       payload_size = (*maxrecsize - (1 + 1 + 2 + addr_size * 2 + 2)) / 2;
-      payload_size = min (payload_size, sect->_raw_size - sectoff);
+      payload_size = min (payload_size, bfd_get_section_size (sect) - sectoff);
 
       bfd_get_section_contents (abfd, sect, binbuf, sectoff, payload_size);
     }
   else
-    payload_size = 0;          /* Term or header packets have no payload */
+    payload_size = 0;          /* Term or header packets have no payload */
 
   /* Output the header.  */
   snprintf (srec, (*maxrecsize) + 1, "S%c%02X%0*X",
@@ -283,7 +282,7 @@ make_srec (char *srec, CORE_ADDR targ_addr, bfd *abfd, asection *sect,
   checksum = 0;
 
   checksum += (payload_size + addr_size + 1    /* Packet length */
-              + (targ_addr & 0xff)     /* Address... */
+              + (targ_addr & 0xff)             /* Address...  */
               + ((targ_addr >> 8) & 0xff)
               + ((targ_addr >> 16) & 0xff)
               + ((targ_addr >> 24) & 0xff));
This page took 0.028864 seconds and 4 git commands to generate.