X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fm32r-rom.c;h=4423d26d828e16910a8d7939d115b0cd576d760b;hb=2dd4d4224afba558be14b39e2886ba47b2132678;hp=92a73d0513ed90cb643745befe606e36d38b5847;hpb=cbb099e88685f8aa80b9a958ba35988d8dbb8721;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/m32r-rom.c b/gdb/m32r-rom.c index 92a73d0513..4423d26d82 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,12 +34,13 @@ #include "symfile.h" /* for generic load */ #include #include /* for time_t */ -#include "gdb_string.h" +#include #include "objfiles.h" /* for ALL_OBJFILES etc. */ #include "inferior.h" #include #include "regcache.h" #include "gdb_bfd.h" +#include "cli/cli-utils.h" /* * All this stuff just to get my host computer's IP address! @@ -79,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; @@ -89,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)); @@ -125,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 = gdb_bfd_ref (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); @@ -147,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); @@ -165,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 @@ -189,6 +192,7 @@ m32r_load (char *filename, int from_tty) confused... */ clear_symtab_users (0); + do_cleanups (cleanup); } static void @@ -346,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 */ @@ -407,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 */ @@ -435,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"); @@ -447,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 " @@ -525,7 +527,8 @@ m32r_upload_command (char *args, int from_tty) printf_filtered (" -- Ethernet load complete.\n"); gettimeofday (&end_time, NULL); - abfd = gdb_bfd_ref (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) @@ -543,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); @@ -566,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. */