/* 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
- Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2004, 2005, 2007, 2008,
+ 2009 Free Software Foundation, Inc.
Adapted by Michael Snyder of Cygnus Support.
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,
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., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* This module defines communication with the Renesas m32r monitor */
#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"
*data_count += section_size;
printf_filtered ("Loading section %s, size 0x%lx lma ",
- bfd_section_name (abfd, s), section_size);
- deprecated_print_address_numeric (section_base, 1, gdb_stdout);
+ bfd_section_name (abfd, s),
+ (unsigned long) section_size);
+ fputs_filtered (paddress (section_base), gdb_stdout);
printf_filtered ("\n");
gdb_flush (gdb_stdout);
monitor_printf ("%s mw\r", paddr_nz (section_base));
printf_filtered ("Loading section %s, size 0x%lx vma ",
bfd_section_name (abfd, s), section_size);
- deprecated_print_address_numeric (section_base, 1, gdb_stdout);
+ fputs_filtered (paddress (section_base), gdb_stdout);
printf_filtered ("\n");
gdb_flush (gdb_stdout);
monitor_printf ("%x mw\r", section_base);
}
#endif
gettimeofday (&end_time, NULL);
- printf_filtered ("Start address 0x%lx\n", 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,
&end_time);
/* 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 */
{
int regno;
int num_regs = sizeof (m32r_regnames) / sizeof (m32r_regnames[0]);
+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
for (regno = 0; regno < num_regs; regno++)
if (strncmp (regname, m32r_regnames[regno], regnamelen) == 0)
stackmode = psw & 0x80;
if (regno == SPI_REGNUM && !stackmode) /* SP == SPI */
- monitor_supply_register (regcache, SP_REGNUM, val);
+ monitor_supply_register (regcache,
+ gdbarch_sp_regnum (gdbarch), val);
else if (regno == SPU_REGNUM && stackmode) /* SP == SPU */
- monitor_supply_register (regcache, SP_REGNUM, val);
+ monitor_supply_register (regcache,
+ gdbarch_sp_regnum (gdbarch), val);
}
}
}
data_count += section_size;
printf_filtered ("Loading section %s, size 0x%lx lma ",
- bfd_section_name (abfd, s), section_size);
- deprecated_print_address_numeric (section_base, 1, gdb_stdout);
+ bfd_section_name (abfd, s),
+ (unsigned long) section_size);
+ fputs_filtered (paddress (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));
- printf_filtered ("Start address 0x%lx\n", 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,
&end_time);
}
clear_symtab_users ();
}
+/* Provide a prototype to silence -Wmissing-prototypes. */
+extern initialize_file_ftype _initialize_m32r_rom;
+
void
_initialize_m32r_rom (void)
{