/* 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,
- 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 1996-2013 Free Software Foundation, Inc.
Adapted by Michael Snyder of Cygnus Support.
#include "inferior.h"
#include <ctype.h>
#include "regcache.h"
+#include "gdb_bfd.h"
/*
* All this stuff just to get my host computer's IP address!
unsigned int *data_count = obj;
if (s->flags & SEC_LOAD)
{
- int addr_size = gdbarch_addr_bit (target_gdbarch) / 8;
+ 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 (target_gdbarch, 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", phex_nz (section_base, addr_size));
m32r_load (char *filename, int from_tty)
{
bfd *abfd;
- asection *s;
- unsigned int i, data_count = 0;
+ unsigned int data_count = 0;
struct timeval start_time, end_time;
+ struct cleanup *cleanup;
if (filename == NULL || filename[0] == 0)
filename = get_exec_file (1);
- abfd = bfd_openr (filename, 0);
+ abfd = gdb_bfd_open (filename, NULL, -1);
if (!abfd)
error (_("Unable to open file %s."), filename);
+ cleanup = make_cleanup_bfd_unref (abfd);
if (bfd_check_format (abfd, bfd_object) == 0)
error (_("File is not an object file."));
gettimeofday (&start_time, NULL);
printf_filtered ("Loading section %s, size 0x%lx vma ",
bfd_section_name (abfd, s), section_size);
- fputs_filtered (paddress (target_gdbarch, 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);
confused... */
clear_symtab_users (0);
+ do_cleanups (cleanup);
}
static void
monitor_supply_register (regcache, regno, val);
if (regno == PSW_REGNUM)
{
+#if (defined SM_REGNUM || defined BSM_REGNUM || defined IE_REGNUM \
+ || defined BIE_REGNUM || defined COND_REGNUM || defined CBR_REGNUM \
+ || defined BPC_REGNUM || defined BCARRY_REGNUM)
unsigned long psw = strtoul (val, NULL, 16);
char *zero = "00000000", *one = "00000001";
+#endif
#ifdef SM_REGNUM
/* Stack mode bit */
char buf[1024];
struct hostent *hostent;
struct in_addr inet_addr;
+ struct cleanup *cleanup;
/* First check to see if there's an ethernet port! */
monitor_printf ("ust\r");
myIPaddress++;
if (!strncmp (myIPaddress, "0.0.", 4)) /* empty */
- error ("Please use 'set board-address' to "
- "set the M32R-EVA board's IP address.");
+ error (_("Please use 'set board-address' to "
+ "set the M32R-EVA board's IP address."));
if (strchr (myIPaddress, '('))
*(strchr (myIPaddress, '(')) = '\0'; /* delete trailing junk */
board_addr = xstrdup (myIPaddress);
}
}
if (server_addr == 0) /* failed? */
- error ("Need to know gdb host computer's "
- "IP address (use 'set server-address')");
+ error (_("Need to know gdb host computer's "
+ "IP address (use 'set server-address')"));
}
if (args == 0 || args[0] == 0) /* No args: upload the current
if (current_directory)
download_path = xstrdup (current_directory);
else
- error ("Need to know default download "
- "path (use 'set download-path')");
+ error (_("Need to know default download "
+ "path (use 'set download-path')"));
}
gettimeofday (&start_time, NULL);
resp_len = monitor_expect_prompt (buf, sizeof (buf)); /* parse result? */
if (buf[0] == 0 || strstr (buf, "complete") == 0)
- error ("Upload file not found: %s.srec\n"
- "Check IP addresses and download path.",
- args);
+ error (_("Upload file not found: %s.srec\n"
+ "Check IP addresses and download path."),
+ args);
else
printf_filtered (" -- Ethernet load complete.\n");
gettimeofday (&end_time, NULL);
- abfd = bfd_openr (args, 0);
+ abfd = gdb_bfd_open (args, NULL, -1);
+ cleanup = make_cleanup_bfd_unref (abfd);
if (abfd != NULL)
{ /* Download is done -- print section statistics. */
if (bfd_check_format (abfd, bfd_object) == 0)
{
bfd_size_type section_size = bfd_section_size (abfd, s);
bfd_vma section_base = bfd_section_lma (abfd, s);
- unsigned int buffer;
data_count += section_size;
printf_filtered ("Loading section %s, size 0x%lx lma ",
bfd_section_name (abfd, s),
(unsigned long) section_size);
- fputs_filtered (paddress (target_gdbarch, section_base),
+ fputs_filtered (paddress (target_gdbarch (), section_base),
gdb_stdout);
printf_filtered ("\n");
gdb_flush (gdb_stdout);
confused... */
clear_symtab_users (0);
+ do_cleanups (cleanup);
}
/* Provide a prototype to silence -Wmissing-prototypes. */