gdb/
[binutils-gdb.git] / gdb / m32r-rom.c
index a078be6a587856603da8573bca5076c01adc809b..5f0126bb95a11d88acbfe7de00df4d04e96c7058 100644 (file)
@@ -2,7 +2,7 @@
    the GNU debugger.
 
    Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2004, 2005, 2007, 2008,
-   2009 Free Software Foundation, Inc.
+   2009, 2010 Free Software Foundation, Inc.
 
    Adapted by Michael Snyder of Cygnus Support.
 
@@ -37,7 +37,7 @@
 #include <time.h>              /* for time_t */
 #include "gdb_string.h"
 #include "objfiles.h"          /* for ALL_OBJFILES etc. */
-#include "inferior.h"          /* for write_pc() */
+#include "inferior.h"
 #include <ctype.h>
 #include "regcache.h"
 
@@ -45,7 +45,7 @@
  * All this stuff just to get my host computer's IP address!
  */
 #ifdef __MINGW32__
-#include <winsock.h>
+#include <winsock2.h>
 #else
 #include <sys/types.h>
 #include <netdb.h>             /* for hostent */
@@ -78,6 +78,7 @@ m32r_load_section (bfd *abfd, asection *s, void *obj)
   unsigned int *data_count = obj;
   if (s->flags & SEC_LOAD)
     {
+      int addr_size = gdbarch_addr_bit (target_gdbarch) / 8;
       bfd_size_type section_size = bfd_section_size (abfd, s);
       bfd_vma section_base = bfd_section_lma (abfd, s);
       unsigned int buffer, i;
@@ -87,10 +88,10 @@ m32r_load_section (bfd *abfd, asection *s, void *obj)
       printf_filtered ("Loading section %s, size 0x%lx lma ",
                       bfd_section_name (abfd, s),
                       (unsigned long) section_size);
-      fputs_filtered (paddress (section_base), gdb_stdout);
+      fputs_filtered (paddress (target_gdbarch, section_base), gdb_stdout);
       printf_filtered ("\n");
       gdb_flush (gdb_stdout);
-      monitor_printf ("%s mw\r", paddr_nz (section_base));
+      monitor_printf ("%s mw\r", phex_nz (section_base, addr_size));
       for (i = 0; i < section_size; i += 4)
        {
          QUIT;
@@ -146,7 +147,7 @@ m32r_load (char *filename, int from_tty)
 
        printf_filtered ("Loading section %s, size 0x%lx vma ",
                         bfd_section_name (abfd, s), section_size);
-       fputs_filtered (paddress (section_base), gdb_stdout);
+       fputs_filtered (paddress (target_gdbarch, section_base), gdb_stdout);
        printf_filtered ("\n");
        gdb_flush (gdb_stdout);
        monitor_printf ("%x mw\r", section_base);
@@ -175,7 +176,8 @@ m32r_load (char *filename, int from_tty)
 
   /* Finally, make the PC point at the start address */
   if (exec_bfd)
-    write_pc (bfd_get_start_address (exec_bfd));
+    regcache_write_pc (get_current_regcache (),
+                      bfd_get_start_address (exec_bfd));
 
   inferior_ptid = null_ptid;   /* No process now */
 
@@ -186,7 +188,7 @@ m32r_load (char *filename, int from_tty)
      the stack may not be valid, and things would get horribly
      confused... */
 
-  clear_symtab_users ();
+  clear_symtab_users (0);
 }
 
 static void
@@ -527,12 +529,14 @@ m32r_upload_command (char *args, int from_tty)
            printf_filtered ("Loading section %s, size 0x%lx lma ",
                             bfd_section_name (abfd, s),
                             (unsigned long) section_size);
-           fputs_filtered (paddress (section_base), gdb_stdout);
+           fputs_filtered (paddress (target_gdbarch, section_base),
+                           gdb_stdout);
            printf_filtered ("\n");
            gdb_flush (gdb_stdout);
          }
       /* Finally, make the PC point at the start address */
-      write_pc (bfd_get_start_address (abfd));
+      regcache_write_pc (get_current_regcache (),
+                        bfd_get_start_address (abfd));
       printf_filtered ("Start address 0x%lx\n", 
                       (unsigned long) bfd_get_start_address (abfd));
       print_transfer_performance (gdb_stdout, data_count, 0, &start_time,
@@ -547,7 +551,7 @@ m32r_upload_command (char *args, int from_tty)
      the stack may not be valid, and things would get horribly
      confused... */
 
-  clear_symtab_users ();
+  clear_symtab_users (0);
 }
 
 /* Provide a prototype to silence -Wmissing-prototypes.  */