2005-02-21 Andrew Cagney <cagney@gnu.org>
[deliverable/binutils-gdb.git] / gdb / remote-e7000.c
index 405a6b53411a2ac2da620a55d92bb63a576ddef2..451d260c79e195e740981336ad7e32f58b324b8a 100644 (file)
@@ -43,6 +43,7 @@
 #include "value.h"
 #include "command.h"
 #include "gdb_string.h"
+#include "exceptions.h"
 #include "gdbcmd.h"
 #include <sys/types.h>
 #include "serial.h"
@@ -151,7 +152,7 @@ static void
 puts_e7000debug (char *buf)
 {
   if (!e7000_desc)
-    error ("Use \"target e7000 ...\" first.");
+    error (_("Use \"target e7000 ...\" first."));
 
   if (remote_debug)
     printf_unfiltered ("Sending %s\n", buf);
@@ -209,10 +210,10 @@ readchar (int timeout)
       if (timeout == 0)
        return -1;
       echo = 0;
-      error ("Timeout reading from remote system.");
+      error (_("Timeout reading from remote system."));
     }
   else if (c < 0)
-    error ("Serial communication error");
+    error (_("Serial communication error"));
 
   if (remote_debug)
     {
@@ -377,10 +378,10 @@ e7000_create_inferior (char *execfile, char *args, char **env,
   int entry_pt;
 
   if (args && *args)
-    error ("Can't pass arguments to remote E7000DEBUG process");
+    error (_("Can't pass arguments to remote E7000DEBUG process"));
 
   if (execfile == 0 || exec_bfd == 0)
-    error ("No executable file specified");
+    error (_("No executable file specified"));
 
   entry_pt = (int) bfd_get_start_address (exec_bfd);
 
@@ -459,7 +460,7 @@ e7000_login_command (char *args, int from_tty)
     }
   else
     {
-      error ("Syntax is ftplogin <machine> <user> <passwd> <directory>");
+      error (_("Syntax is ftplogin <machine> <user> <passwd> <directory>"));
     }
 }
 
@@ -523,10 +524,10 @@ e7000_parse_device (char *args, char *dev_name, int baudrate)
 
       if (n != 1 && n != 2)
        {
-         error ("Bad arguments.  Usage:\ttarget e7000 <device> <speed>\n\
+         error (_("Bad arguments.  Usage:\ttarget e7000 <device> <speed>\n\
 or \t\ttarget e7000 <host>[:<port>]\n\
 or \t\ttarget e7000 tcp_remote <host>[:<port>]\n\
-or \t\ttarget e7000 pc\n");
+or \t\ttarget e7000 pc\n"));
        }
 
 #if !defined(__GO32__) && !defined(_WIN32) && !defined(__CYGWIN__)
@@ -613,7 +614,7 @@ e7000_start_remote (void *dummy)
   if (!sync)
     {
       fprintf_unfiltered (gdb_stderr, "Giving up after %d tries...\n", try);
-      error ("Unable to synchronize with target.\n");
+      error (_("Unable to synchronize with target."));
     }
 
   puts_e7000debug ("\r");
@@ -630,7 +631,7 @@ e7000_start_remote (void *dummy)
   flush_cached_frames ();
   registers_changed ();
   stop_pc = read_pc ();
-  print_stack_frame (get_selected_frame (), 0, SRC_AND_LOC);
+  print_stack_frame (get_selected_frame (NULL), 0, SRC_AND_LOC);
 
   return 1;
 }
@@ -787,7 +788,7 @@ fetch_regs_from_dump (int (*nextchar) (), char *want)
   int thischar = nextchar ();
 
   if (want == NULL)
-    internal_error (__FILE__, __LINE__, "Register set not selected.");
+    internal_error (__FILE__, __LINE__, _("Register set not selected."));
 
   while (*want)
     {
@@ -825,7 +826,7 @@ fetch_regs_from_dump (int (*nextchar) (), char *want)
            }
          else
            {
-             error ("out of sync in fetch registers wanted <%s>, got <%c 0x%x>",
+             error (_("out of sync in fetch registers wanted <%s>, got <%c 0x%x>"),
                     want, thischar, thischar);
            }
 
@@ -876,7 +877,7 @@ fetch_regs_from_dump (int (*nextchar) (), char *want)
                }
 
              else
-               internal_error (__FILE__, __LINE__, "failed internal consistency check");
+               internal_error (__FILE__, __LINE__, _("failed internal consistency check"));
            }
          store_signed_integer (buf,
                                register_size (current_gdbarch, regno),
@@ -892,12 +893,14 @@ e7000_fetch_registers (void)
 {
   int regno;
   char *wanted = NULL;
+  int realregs = 0;
 
   puts_e7000debug ("R\r");
 
   if (TARGET_ARCHITECTURE->arch == bfd_arch_sh)
     {
       wanted = want_sh;
+      realregs = 59;
       switch (TARGET_ARCHITECTURE->mach)
        {
        case bfd_mach_sh3:
@@ -909,6 +912,7 @@ e7000_fetch_registers (void)
   if (TARGET_ARCHITECTURE->arch == bfd_arch_h8300)
     {
       wanted = want_h8300h;
+      realregs = 10;
       switch (TARGET_ARCHITECTURE->mach)
        {
        case bfd_mach_h8300s:
@@ -916,13 +920,14 @@ e7000_fetch_registers (void)
        case bfd_mach_h8300sx:
        case bfd_mach_h8300sxn:
          wanted = want_h8300s;
+         realregs = 11;
        }
     }
 
   fetch_regs_from_dump (gch, wanted);
 
   /* And supply the extra ones the simulator uses */
-  for (regno = NUM_REALREGS; regno < NUM_REGS; regno++)
+  for (regno = realregs; regno < NUM_REGS; regno++)
     {
       int buf = 0;
 
@@ -945,8 +950,18 @@ static void
 e7000_store_registers (void)
 {
   int regno;
+  int realregs = 0;
 
-  for (regno = 0; regno < NUM_REALREGS; regno++)
+  if (TARGET_ARCHITECTURE->arch == bfd_arch_sh)
+    realregs = 59;
+  if (TARGET_ARCHITECTURE->arch == bfd_arch_h8300) {
+    realregs = ((TARGET_ARCHITECTURE->mach == bfd_mach_h8300s ||
+                TARGET_ARCHITECTURE->mach == bfd_mach_h8300sn ||
+                TARGET_ARCHITECTURE->mach == bfd_mach_h8300sx ||
+                TARGET_ARCHITECTURE->mach == bfd_mach_h8300sxn) ? 11 : 10);
+  }
+
+  for (regno = 0; regno < realregs; regno++)
     e7000_store_register (regno);
 
   registers_changed ();
@@ -1180,7 +1195,7 @@ write_large (CORE_ADDR memaddr, unsigned char *myaddr, int len)
        {
          /* Hmm, it's trying to tell us something */
          expect (":");
-         error ("Error writing memory");
+         error (_("Error writing memory"));
        }
       else
        {
@@ -1389,7 +1404,7 @@ fast_but_for_the_pause_e7000_read_inferior_memory (CORE_ADDR memaddr,
   if (c != ENQ)
     {
       /* Got an error */
-      error ("Memory read error");
+      error (_("Memory read error"));
     }
   putchar_e7000 (ACK);
   expect ("SV s");
@@ -1535,7 +1550,7 @@ e7000_load (char *args, int from_tty)
       else if (strncmp (arg, "-nostart", strlen (arg)) == 0)
        nostart = 1;
       else
-       error ("unknown option `%s'", arg);
+       error (_("unknown option `%s'"), arg);
     }
 
   if (!filename)
@@ -1550,7 +1565,7 @@ e7000_load (char *args, int from_tty)
   old_chain = make_cleanup_bfd_close (pbfd);
 
   if (!bfd_check_format (pbfd, bfd_object))
-    error ("\"%s\" is not an object file: %s", filename,
+    error (_("\"%s\" is not an object file: %s"), filename,
           bfd_errmsg (bfd_get_error ()));
 
   start_time = time (NULL);
@@ -1724,7 +1739,7 @@ e7000_insert_breakpoint (CORE_ADDR addr, char *shadow)
        return 0;
       }
 
-  error ("Too many breakpoints ( > %d) for the E7000\n",
+  error (_("Too many breakpoints ( > %d) for the E7000."),
         MAX_E7000DEBUG_BREAKPOINTS);
   return 1;
 }
@@ -1765,7 +1780,7 @@ e7000_remove_breakpoint (CORE_ADDR addr, char *shadow)
        return 0;
       }
  
-  warning ("Can't find breakpoint associated with 0x%s\n", paddr_nz (addr));
+  warning (_("Can't find breakpoint associated with 0x%s."), paddr_nz (addr));
   return 1;
 }
 
@@ -1781,7 +1796,7 @@ e7000_command (char *args, int fromtty)
   echo = 0;
 
   if (!e7000_desc)
-    error ("e7000 target not open.");
+    error (_("e7000 target not open."));
   if (!args)
     {
       puts_e7000debug ("\r");
@@ -1997,6 +2012,7 @@ e7000_wait (ptid_t ptid, struct target_waitstatus *status)
   int had_sleep = 0;
   int loop = 1;
   char *wanted_nopc = NULL;
+  int realregs = 0;
 
   /* Then echo chars until PC= string seen */
   gch ();                      /* Drop cr */
@@ -2038,6 +2054,7 @@ e7000_wait (ptid_t ptid, struct target_waitstatus *status)
   if (TARGET_ARCHITECTURE->arch == bfd_arch_sh)
     {
       wanted_nopc = want_nopc_sh;
+      realregs = 59;
       switch (TARGET_ARCHITECTURE->mach)
        {
        case bfd_mach_sh3:
@@ -2049,6 +2066,7 @@ e7000_wait (ptid_t ptid, struct target_waitstatus *status)
   if (TARGET_ARCHITECTURE->arch == bfd_arch_h8300)
     {
       wanted_nopc = want_nopc_h8300h;
+      realregs = 10;
       switch (TARGET_ARCHITECTURE->mach)
        {
        case bfd_mach_h8300s:
@@ -2056,12 +2074,13 @@ e7000_wait (ptid_t ptid, struct target_waitstatus *status)
        case bfd_mach_h8300sx:
        case bfd_mach_h8300sxn:
          wanted_nopc = want_nopc_h8300s;
+         realregs = 11;
        }
     }
   fetch_regs_from_dump (gch, wanted_nopc);
 
   /* And supply the extra ones the simulator uses */
-  for (regno = NUM_REALREGS; regno < NUM_REGS; regno++)
+  for (regno = realregs; regno < NUM_REGS; regno++)
     {
       int buf = 0;
       regcache_raw_supply (current_regcache, regno, (char *) &buf);
@@ -2111,7 +2130,7 @@ e7000_wait (ptid_t ptid, struct target_waitstatus *status)
       break;
     default:
       /* Get the user's attention - this should never happen. */
-      internal_error (__FILE__, __LINE__, "failed internal consistency check");
+      internal_error (__FILE__, __LINE__, _("failed internal consistency check"));
     }
 
   return inferior_ptid;
@@ -2177,20 +2196,22 @@ _initialize_remote_e7000 (void)
   add_target (&e7000_ops);
 
   add_com ("e7000", class_obscure, e7000_command,
-          "Send a command to the e7000 monitor.");
+          _("Send a command to the e7000 monitor."));
 
   add_com ("ftplogin", class_obscure, e7000_login_command,
-          "Login to machine and change to directory.");
+          _("Login to machine and change to directory."));
 
   add_com ("ftpload", class_obscure, e7000_ftp_command,
-          "Fetch and load a file from previously described place.");
+          _("Fetch and load a file from previously described place."));
 
   add_com ("drain", class_obscure, e7000_drain_command,
-          "Drain pending e7000 text buffers.");
-
-  deprecated_add_show_from_set
-    (add_set_cmd ("usehardbreakpoints", no_class,
-                 var_integer, (char *) &use_hard_breakpoints, "\
-Set use of hardware breakpoints for all breakpoints.\n", &setlist),
-     &showlist);
+          _("Drain pending e7000 text buffers."));
+
+  add_setshow_integer_cmd ("usehardbreakpoints", no_class,
+                          &use_hard_breakpoints, _("\
+Set use of hardware breakpoints for all breakpoints."), _("\
+Show use of hardware breakpoints for all breakpoints."), NULL,
+                          NULL,
+                          NULL, /* FIXME: i18n: */
+                          &setlist, &showlist);
 }
This page took 0.029444 seconds and 4 git commands to generate.