| Index: gdb/m32r-rom.c
|
| diff --git a/gdb/m32r-rom.c b/gdb/m32r-rom.c
|
| index 76e4bf12ef7a69ff945fb01cfb57186a6844f89e..4423d26d828e16910a8d7939d115b0cd576d760b 100644
|
| --- a/gdb/m32r-rom.c
|
| +++ b/gdb/m32r-rom.c
|
| @@ -1,8 +1,7 @@
|
| /* Remote debugging interface to m32r and mon2000 ROM monitors for GDB,
|
| the GNU debugger.
|
|
|
| - Copyright (C) 1996-2001, 2004-2005, 2007-2012 Free Software
|
| - Foundation, Inc.
|
| + Copyright (C) 1996-2013 Free Software Foundation, Inc.
|
|
|
| Adapted by Michael Snyder of Cygnus Support.
|
|
|
| @@ -35,11 +34,13 @@
|
| #include "symfile.h" /* for generic load */
|
| #include <sys/time.h>
|
| #include <time.h> /* for time_t */
|
| -#include "gdb_string.h"
|
| +#include <string.h>
|
| #include "objfiles.h" /* for ALL_OBJFILES etc. */
|
| #include "inferior.h"
|
| #include <ctype.h>
|
| #include "regcache.h"
|
| +#include "gdb_bfd.h"
|
| +#include "cli/cli-utils.h"
|
|
|
| /*
|
| * All this stuff just to get my host computer's IP address!
|
| @@ -78,7 +79,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;
|
| + 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;
|
| @@ -88,7 +89,7 @@ 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 (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));
|
| @@ -124,13 +125,15 @@ m32r_load (char *filename, int from_tty)
|
| bfd *abfd;
|
| 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);
|
| @@ -146,7 +149,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 (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);
|
| @@ -164,6 +167,7 @@ m32r_load (char *filename, int from_tty)
|
| if (!(catch_errors (m32r_load_1, abfd, "Load aborted!\n", RETURN_MASK_ALL)))
|
| {
|
| monitor_printf ("q\n");
|
| + do_cleanups (cleanup);
|
| return;
|
| }
|
| #endif
|
| @@ -188,6 +192,7 @@ m32r_load (char *filename, int from_tty)
|
| confused... */
|
|
|
| clear_symtab_users (0);
|
| + do_cleanups (cleanup);
|
| }
|
|
|
| static void
|
| @@ -345,7 +350,6 @@ init_m32r_cmds (void)
|
| /* register_pattern */
|
| m32r_cmds.register_pattern = "\\(\\w+\\) += \\([0-9a-fA-F]+\\b\\)";
|
| m32r_cmds.supply_register = m32r_supply_register;
|
| - m32r_cmds.load_routine = NULL; /* load_routine (defaults to SRECs) */
|
| m32r_cmds.load = NULL; /* download command */
|
| m32r_cmds.loadresp = NULL; /* load response */
|
| m32r_cmds.prompt = "ok "; /* monitor command prompt */
|
| @@ -406,7 +410,6 @@ init_mon2000_cmds (void)
|
| /* register_pattern */
|
| mon2000_cmds.register_pattern = "\\(\\w+\\) += \\([0-9a-fA-F]+\\b\\)";
|
| mon2000_cmds.supply_register = m32r_supply_register;
|
| - mon2000_cmds.load_routine = NULL; /* load_routine (defaults to SRECs) */
|
| mon2000_cmds.load = NULL; /* download command */
|
| mon2000_cmds.loadresp = NULL; /* load response */
|
| mon2000_cmds.prompt = "Mon2000>"; /* monitor command prompt */
|
| @@ -434,6 +437,7 @@ m32r_upload_command (char *args, int from_tty)
|
| 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");
|
| @@ -446,8 +450,7 @@ m32r_upload_command (char *args, int from_tty)
|
| /* Scan second colon in the output from the "ust" command. */
|
| char *myIPaddress = strchr (strchr (buf, ':') + 1, ':') + 1;
|
|
|
| - while (isspace (*myIPaddress))
|
| - myIPaddress++;
|
| + myIPaddress = skip_spaces (myIPaddress);
|
|
|
| if (!strncmp (myIPaddress, "0.0.", 4)) /* empty */
|
| error (_("Please use 'set board-address' to "
|
| @@ -524,7 +527,8 @@ m32r_upload_command (char *args, int from_tty)
|
| 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)
|
| @@ -542,7 +546,7 @@ 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 (target_gdbarch, section_base),
|
| + fputs_filtered (paddress (target_gdbarch (), section_base),
|
| gdb_stdout);
|
| printf_filtered ("\n");
|
| gdb_flush (gdb_stdout);
|
| @@ -565,6 +569,7 @@ m32r_upload_command (char *args, int from_tty)
|
| confused... */
|
|
|
| clear_symtab_users (0);
|
| + do_cleanups (cleanup);
|
| }
|
|
|
| /* Provide a prototype to silence -Wmissing-prototypes. */
|
|
|