/* Remote debugging interface to m32r and mon2000 ROM monitors for GDB,
the GNU debugger.
- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2004, 2005, 2007, 2008
- Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2004, 2005, 2007, 2008,
+ 2009, 2010 Free Software Foundation, Inc.
Adapted by Michael Snyder of Cygnus Support.
#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"
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;
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;
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);
/* 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 */
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,
clear_symtab_users ();
}
+/* Provide a prototype to silence -Wmissing-prototypes. */
+extern initialize_file_ftype _initialize_m32r_rom;
+
void
_initialize_m32r_rom (void)
{