Replace calls to abort() with calls to internal_error().
[deliverable/binutils-gdb.git] / gdb / remote-e7000.c
index c5ced876caf880c9da3e7c34579452f13307a3c4..904ce1f4e54c19428c3fe195ee7c629ecf1669e3 100644 (file)
@@ -1,5 +1,5 @@
 /* Remote debugging interface for Hitachi E7000 ICE, for GDB
-   Copyright 1993, 1994, 1996, 1997, 1998 Free Software Foundation, Inc.
+   Copyright 1993, 1994, 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
    Contributed by Cygnus Support. 
 
    Written by Steve Chamberlain for Cygnus Support.
 #include "gdbarch.h"
 #include "inferior.h"
 #include "target.h"
-#include "gdb_wait.h"
 #include "value.h"
 #include "command.h"
-#include <signal.h>
 #include "gdb_string.h"
 #include "gdbcmd.h"
 #include <sys/types.h>
 #define ACK  0x06
 #define CTRLZ 0x1a
 
-extern void notice_quit PARAMS ((void));
+/* This file is used by 2 different targets, sh-elf and h8300. The
+   h8300 is not multiarched and doesn't use the registers defined in
+   tm-sh.h. To avoid using a macro GDB_TARGET_IS_SH, we do runtime check
+   of the target, which requires that these namse below are always
+   defined also in the h8300 case. */
 
-extern void report_transfer_performance PARAMS ((unsigned long,
-                                                time_t, time_t));
+#if !defined (PR_REGNUM)
+#define PR_REGNUM      -1
+#endif
+#if !defined (GBR_REGNUM)
+#define GBR_REGNUM     -1
+#endif
+#if !defined (VBR_REGNUM)
+#define VBR_REGNUM     -1
+#endif
+#if !defined (MACH_REGNUM)
+#define MACH_REGNUM    -1
+#endif
+#if !defined (MACL_REGNUM)
+#define MACL_REGNUM    -1
+#endif
+#if !defined (SR_REGNUM)
+#define SR_REGNUM      -1
+#endif
+
+extern void notice_quit (void);
+
+extern void report_transfer_performance (unsigned long, time_t, time_t);
 
 extern char *sh_processor_type;
 
 /* Local function declarations.  */
 
-static void e7000_close PARAMS ((int));
+static void e7000_close (int);
 
-static void e7000_fetch_register PARAMS ((int));
+static void e7000_fetch_register (int);
 
-static void e7000_store_register PARAMS ((int));
+static void e7000_store_register (int);
 
-static void e7000_command PARAMS ((char *, int));
+static void e7000_command (char *, int);
 
-static void e7000_login_command PARAMS ((char *, int));
+static void e7000_login_command (char *, int);
 
-static void e7000_ftp_command PARAMS ((char *, int));
+static void e7000_ftp_command (char *, int);
 
-static void e7000_drain_command PARAMS ((char *, int));
+static void e7000_drain_command (char *, int);
 
-static void expect PARAMS ((char *));
+static void expect (char *);
 
-static void expect_full_prompt PARAMS ((void));
+static void expect_full_prompt (void);
 
-static void expect_prompt PARAMS ((void));
+static void expect_prompt (void);
 
-static int e7000_parse_device PARAMS ((char *args, char *dev_name,
-                                      int baudrate));
+static int e7000_parse_device (char *args, char *dev_name, int baudrate);
 /* Variables. */
 
 static serial_t e7000_desc;
@@ -125,8 +146,7 @@ static int timeout = 20;
 /* Send data to e7000debug.  */
 
 static void
-puts_e7000debug (buf)
-     char *buf;
+puts_e7000debug (char *buf)
 {
   if (!e7000_desc)
     error ("Use \"target e7000 ...\" first.");
@@ -145,8 +165,7 @@ puts_e7000debug (buf)
 }
 
 static void
-putchar_e7000 (x)
-     int x;
+putchar_e7000 (int x)
 {
   char b[1];
 
@@ -155,15 +174,13 @@ putchar_e7000 (x)
 }
 
 static void
-write_e7000 (s)
-     char *s;
+write_e7000 (char *s)
 {
   SERIAL_WRITE (e7000_desc, s, strlen (s));
 }
 
 static int
-normal (x)
-     int x;
+normal (int x)
 {
   if (x == '\n')
     return '\r';
@@ -175,8 +192,7 @@ normal (x)
    returns -1, else returns next char.  Discards chars > 127.  */
 
 static int
-readchar (timeout)
-     int timeout;
+readchar (int timeout)
 {
   int c;
 
@@ -207,7 +223,7 @@ readchar (timeout)
 
 #if 0
 char *
-tl (x)
+tl (int x)
 {
   static char b[8][10];
   static int p;
@@ -233,8 +249,7 @@ tl (x)
    out.  Let the user break out immediately.  */
 
 static void
-expect (string)
-     char *string;
+expect (char *string)
 {
   char *p = string;
   int c;
@@ -304,20 +319,19 @@ expect (string)
    into states from which we can't recover.  */
 
 static void
-expect_prompt ()
+expect_prompt (void)
 {
   expect (":");
 }
 
 static void
-expect_full_prompt ()
+expect_full_prompt (void)
 {
   expect ("\r:");
 }
 
 static int
-convert_hex_digit (ch)
-     int ch;
+convert_hex_digit (int ch)
 {
   if (ch >= '0' && ch <= '9')
     return ch - '0';
@@ -329,8 +343,7 @@ convert_hex_digit (ch)
 }
 
 static int
-get_hex (start)
-     int *start;
+get_hex (int *start)
 {
   int value = convert_hex_digit (*start);
   int try;
@@ -350,9 +363,7 @@ get_hex (start)
    them in registers starting at REGNO.  */
 
 static void
-get_hex_regs (n, regno)
-     int n;
-     int regno;
+get_hex_regs (int n, int regno)
 {
   long val;
   int i;
@@ -373,10 +384,7 @@ get_hex_regs (n, regno)
    user types "run" after having attached.  */
 
 static void
-e7000_create_inferior (execfile, args, env)
-     char *execfile;
-     char *args;
-     char **env;
+e7000_create_inferior (char *execfile, char *args, char **env)
 {
   int entry_pt;
 
@@ -425,8 +433,7 @@ static char *dir = "";
 /* Grab the next token and buy some space for it */
 
 static char *
-next (ptr)
-     char **ptr;
+next (char **ptr)
 {
   char *p = *ptr;
   char *s;
@@ -449,9 +456,7 @@ next (ptr)
 }
 
 static void
-e7000_login_command (args, from_tty)
-     char *args;
-     int from_tty;
+e7000_login_command (char *args, int from_tty)
 {
   if (args)
     {
@@ -473,9 +478,7 @@ e7000_login_command (args, from_tty)
 /* Start an ftp transfer from the E7000 to a host */
 
 static void
-e7000_ftp_command (args, from_tty)
-     char *args;
-     int from_tty;
+e7000_ftp_command (char *args, int from_tty)
 {
   /* FIXME: arbitrary limit on machine names and such.  */
   char buf[200];
@@ -505,10 +508,7 @@ e7000_ftp_command (args, from_tty)
 }
 
 static int
-e7000_parse_device (args, dev_name, baudrate)
-     char *args;
-     char *dev_name;
-     int baudrate;
+e7000_parse_device (char *args, char *dev_name, int baudrate)
 {
   char junk[128];
   int n = 0;
@@ -560,15 +560,14 @@ or \t\ttarget e7000 pc\n");
 /* Stub for catch_errors.  */
 
 static int
-e7000_start_remote (dummy)
-     char *dummy;
+e7000_start_remote (void *dummy)
 {
   int loop;
   int sync;
   int try;
   int quit_trying;
 
-  immediate_quit = 1;          /* Allow user to interrupt it */
+  immediate_quit++;            /* Allow user to interrupt it */
 
   /* Hello?  Are you there?  */
   sync = 0;
@@ -626,7 +625,7 @@ e7000_start_remote (dummy)
   if (!sync)
     {
       fprintf_unfiltered (gdb_stderr, "Giving up after %d tries...\n", try);
-      error ("Unable to syncronize with target.\n");
+      error ("Unable to synchronize with target.\n");
     }
 
   puts_e7000debug ("\r");
@@ -634,7 +633,7 @@ e7000_start_remote (dummy)
   puts_e7000debug ("b -\r");   /* Clear breakpoints */
   expect_prompt ();
 
-  immediate_quit = 0;
+  immediate_quit--;
 
 /* This is really the job of start_remote however, that makes an assumption
    that the target is about to print out a status message of some sort.  That
@@ -651,9 +650,7 @@ e7000_start_remote (dummy)
 }
 
 static void
-e7000_open (args, from_tty)
-     char *args;
-     int from_tty;
+e7000_open (char *args, int from_tty)
 {
   int n;
 
@@ -688,8 +685,7 @@ e7000_open (args, from_tty)
 /* Close out all files and local state before this target loses control. */
 
 static void
-e7000_close (quitting)
-     int quitting;
+e7000_close (int quitting)
 {
   if (e7000_desc)
     {
@@ -702,8 +698,7 @@ e7000_close (quitting)
    when you want to detach and do something else with your gdb.  */
 
 static void
-e7000_detach (from_tty)
-     int from_tty;
+e7000_detach (char *arg, int from_tty)
 {
   pop_target ();               /* calls e7000_close to do the real work */
   if (from_tty)
@@ -713,8 +708,7 @@ e7000_detach (from_tty)
 /* Tell the remote machine to resume.  */
 
 static void
-e7000_resume (pid, step, sig)
-     int pid, step, sig;
+e7000_resume (int pid, int step, enum target_signal sigal)
 {
   if (step)
     puts_e7000debug ("S\r");
@@ -734,8 +728,6 @@ e7000_resume (pid, step, sig)
    BREAK POINT
  */
 
-#ifdef GDB_TARGET_IS_H8300
-
 char *want_h8300h = "PC=%p CCR=%c\n\
  ER0 - ER3  %0 %1 %2 %3\n\
  ER4 - ER7  %4 %5 %6 %7\n";
@@ -753,17 +745,13 @@ char *want_nopc_h8300s = "%p CCR=%c EXR=%9\n\
  ER0 - ER3  %0 %1 %2 %3\n\
  ER4 - ER7  %4 %5 %6 %7";
 
-#endif
-
-#ifdef GDB_TARGET_IS_SH
-
-char *want = "PC=%16 SR=%22\n\
+char *want_sh = "PC=%16 SR=%22\n\
 PR=%17 GBR=%18 VBR=%19\n\
 MACH=%20 MACL=%21\n\
 R0-7  %0 %1 %2 %3 %4 %5 %6 %7\n\
 R8-15 %8 %9 %10 %11 %12 %13 %14 %15\n";
 
-char *want_nopc = "%16 SR=%22\n\
+char *want_nopc_sh = "%16 SR=%22\n\
  PR=%17 GBR=%18 VBR=%19\n\
  MACH=%20 MACL=%21\n\
  R0-7  %0 %1 %2 %3 %4 %5 %6 %7\n\
@@ -779,7 +767,7 @@ R4_BANK0-R7_BANK0 %29 %30 %31 %32\n\
 R0_BANK1-R3_BANK1 %33 %34 %35 %36\n\
 R4_BANK1-R7_BANK1 %37 %38 %39 %40";
 
-char *want_sh3_nopc = "%16 SR=%22\n\
+char *want_nopc_sh3 = "%16 SR=%22\n\
  PR=%17 GBR=%18 VBR=%19\n\
  MACH=%20 MACL=%21 SSR=%22 SPC=%23\n\
  R0-7  %0 %1 %2 %3 %4 %5 %6 %7\n\
@@ -789,16 +777,14 @@ char *want_sh3_nopc = "%16 SR=%22\n\
  R0_BANK1-R3_BANK1 %33 %34 %35 %36\n\
  R4_BANK1-R7_BANK1 %37 %38 %39 %40";
 
-#endif
-
 static int
-gch ()
+gch (void)
 {
   return readchar (timeout);
 }
 
 static unsigned int
-gbyte ()
+gbyte (void)
 {
   int high = convert_hex_digit (gch ());
   int low = convert_hex_digit (gch ());
@@ -807,9 +793,7 @@ gbyte ()
 }
 
 void
-fetch_regs_from_dump (nextchar, want)
-     int (*nextchar) ();
-     char *want;
+fetch_regs_from_dump (int (*nextchar) (), char *want)
 {
   int regno;
   char buf[MAX_REGISTER_RAW_SIZE];
@@ -903,11 +887,11 @@ fetch_regs_from_dump (nextchar, want)
                }
 
              else
-               abort ();
+               internal_error (__FILE__, __LINE__, "failed internal consistency check");
            }
          store_signed_integer (buf,
                                REGISTER_RAW_SIZE (regno),
-                               (LONGEST) get_hex (&thischar, nextchar));
+                               (LONGEST) get_hex (&thischar));
          supply_register (regno, buf);
          break;
        }
@@ -915,29 +899,34 @@ fetch_regs_from_dump (nextchar, want)
 }
 
 static void
-e7000_fetch_registers ()
+e7000_fetch_registers (void)
 {
   int regno;
   char *wanted;
 
   puts_e7000debug ("R\r");
 
-#ifdef GDB_TARGET_IS_SH
-  wanted = want;
   if (TARGET_ARCHITECTURE->arch == bfd_arch_sh)
-    switch (TARGET_ARCHITECTURE->mach)
-      {
-      case bfd_mach_sh3:
-      case bfd_mach_sh3e:
-      case bfd_mach_sh4:
-       wanted = want_sh3;
-      }
-#else
-  if (h8300smode)
-    wanted = want_h8300s;
-  else
-    wanted = want_h8300h;
+    {
+      wanted = want_sh;
+      switch (TARGET_ARCHITECTURE->mach)
+       {
+       case bfd_mach_sh3:
+       case bfd_mach_sh3e:
+       case bfd_mach_sh4:
+         wanted = want_sh3;
+       }
+    }
+#ifdef GDB_TARGET_IS_H8300
+  if (TARGET_ARCHITECTURE->arch == bfd_arch_h8300)
+    {
+      if (h8300smode)
+       wanted = want_h8300s;
+      else
+       wanted = want_h8300h;
+    }
 #endif
+
   fetch_regs_from_dump (gch, wanted);
 
   /* And supply the extra ones the simulator uses */
@@ -953,8 +942,7 @@ e7000_fetch_registers ()
    errno value.  */
 
 static void
-e7000_fetch_register (regno)
-     int regno;
+e7000_fetch_register (int regno)
 {
   e7000_fetch_registers ();
 }
@@ -962,7 +950,7 @@ e7000_fetch_register (regno)
 /* Store the remote registers from the contents of the block REGS.  */
 
 static void
-e7000_store_registers ()
+e7000_store_registers (void)
 {
   int regno;
 
@@ -975,8 +963,7 @@ e7000_store_registers ()
 /* Store register REGNO, or all if REGNO == 0.  Return errno value.  */
 
 static void
-e7000_store_register (regno)
-     int regno;
+e7000_store_register (int regno)
 {
   char buf[200];
 
@@ -986,70 +973,77 @@ e7000_store_register (regno)
       return;
     }
 
-#ifdef GDB_TARGET_IS_H8300
-  if (regno <= 7)
+  if (TARGET_ARCHITECTURE->arch == bfd_arch_h8300)
     {
-      sprintf (buf, ".ER%d %x\r", regno, read_register (regno));
-      puts_e7000debug (buf);
-    }
-  else if (regno == PC_REGNUM)
-    {
-      sprintf (buf, ".PC %x\r", read_register (regno));
-      puts_e7000debug (buf);
-    }
-  else if (regno == CCR_REGNUM)
-    {
-      sprintf (buf, ".CCR %x\r", read_register (regno));
-      puts_e7000debug (buf);
+      if (regno <= 7)
+       {
+         sprintf (buf, ".ER%d %lx\r", regno, read_register (regno));
+         puts_e7000debug (buf);
+       }
+      else if (regno == PC_REGNUM)
+       {
+         sprintf (buf, ".PC %lx\r", read_register (regno));
+         puts_e7000debug (buf);
+       }
+#ifdef CCR_REGNUM
+      else if (regno == CCR_REGNUM)
+       {
+         sprintf (buf, ".CCR %lx\r", read_register (regno));
+         puts_e7000debug (buf);
+       }
+#endif
     }
-#endif /* GDB_TARGET_IS_H8300 */
 
-#ifdef  GDB_TARGET_IS_SH
-  switch (regno)
+  else if (TARGET_ARCHITECTURE->arch == bfd_arch_sh)
     {
-    default:
-      sprintf (buf, ".R%d %x\r", regno, read_register (regno));
-      puts_e7000debug (buf);
-      break;
-
-    case PC_REGNUM:
-      sprintf (buf, ".PC %x\r", read_register (regno));
-      puts_e7000debug (buf);
-      break;
+      if (regno == PC_REGNUM)
+       {
+         sprintf (buf, ".PC %lx\r", read_register (regno));
+         puts_e7000debug (buf);
+       }
 
-    case SR_REGNUM:
-      sprintf (buf, ".SR %x\r", read_register (regno));
-      puts_e7000debug (buf);
-      break;
+      else if (regno == SR_REGNUM)
+       {
+         sprintf (buf, ".SR %lx\r", read_register (regno));
+         puts_e7000debug (buf);
+       }
 
-    case PR_REGNUM:
-      sprintf (buf, ".PR %x\r", read_register (regno));
-      puts_e7000debug (buf);
-      break;
+      else if (regno ==  PR_REGNUM)
+       {
+         sprintf (buf, ".PR %lx\r", read_register (regno));
+         puts_e7000debug (buf);
+       }
 
-    case GBR_REGNUM:
-      sprintf (buf, ".GBR %x\r", read_register (regno));
-      puts_e7000debug (buf);
-      break;
+      else if (regno == GBR_REGNUM)
+       {
+         sprintf (buf, ".GBR %lx\r", read_register (regno));
+         puts_e7000debug (buf);
+       }
 
-    case VBR_REGNUM:
-      sprintf (buf, ".VBR %x\r", read_register (regno));
-      puts_e7000debug (buf);
-      break;
+      else if (regno == VBR_REGNUM)
+       {
+         sprintf (buf, ".VBR %lx\r", read_register (regno));
+         puts_e7000debug (buf);
+       }
 
-    case MACH_REGNUM:
-      sprintf (buf, ".MACH %x\r", read_register (regno));
-      puts_e7000debug (buf);
-      break;
+      else if (regno == MACH_REGNUM)
+       {
+         sprintf (buf, ".MACH %lx\r", read_register (regno));
+         puts_e7000debug (buf);
+       }
 
-    case MACL_REGNUM:
-      sprintf (buf, ".MACL %x\r", read_register (regno));
-      puts_e7000debug (buf);
-      break;
+      else if (regno == MACL_REGNUM)
+       {
+         sprintf (buf, ".MACL %lx\r", read_register (regno));
+         puts_e7000debug (buf);
+       }
+      else
+       {
+         sprintf (buf, ".R%d %lx\r", regno, read_register (regno));
+         puts_e7000debug (buf);
+       }
     }
 
-#endif /* GDB_TARGET_IS_SH */
-
   expect_prompt ();
 }
 
@@ -1060,21 +1054,19 @@ e7000_store_register (regno)
    debugged.  */
 
 static void
-e7000_prepare_to_store ()
+e7000_prepare_to_store (void)
 {
   /* Do nothing, since we can store individual regs */
 }
 
 static void
-e7000_files_info ()
+e7000_files_info (struct target_ops *ops)
 {
   printf_unfiltered ("\tAttached to %s at %d baud.\n", dev_name, baudrate);
 }
 
 static int
-stickbyte (where, what)
-     char *where;
-     unsigned int what;
+stickbyte (char *where, unsigned int what)
 {
   static CONST char digs[] = "0123456789ABCDEF";
 
@@ -1087,10 +1079,7 @@ stickbyte (where, what)
 /* Write a small ammount of memory. */
 
 static int
-write_small (memaddr, myaddr, len)
-     CORE_ADDR memaddr;
-     unsigned char *myaddr;
-     int len;
+write_small (CORE_ADDR memaddr, unsigned char *myaddr, int len)
 {
   int i;
   char buf[200];
@@ -1100,7 +1089,7 @@ write_small (memaddr, myaddr, len)
       if (((memaddr + i) & 3) == 0 && (i + 3 < len))
        {
          /* Can be done with a long word */
-         sprintf (buf, "m %x %x%02x%02x%02x;l\r",
+         sprintf (buf, "m %lx %x%02x%02x%02x;l\r",
                   memaddr + i,
                   myaddr[i], myaddr[i + 1], myaddr[i + 2], myaddr[i + 3]);
          puts_e7000debug (buf);
@@ -1108,7 +1097,7 @@ write_small (memaddr, myaddr, len)
        }
       else
        {
-         sprintf (buf, "m %x %x\r", memaddr + i, myaddr[i]);
+         sprintf (buf, "m %lx %x\r", memaddr + i, myaddr[i]);
          puts_e7000debug (buf);
        }
     }
@@ -1134,10 +1123,7 @@ write_small (memaddr, myaddr, len)
  */
 
 static int
-write_large (memaddr, myaddr, len)
-     CORE_ADDR memaddr;
-     unsigned char *myaddr;
-     int len;
+write_large (CORE_ADDR memaddr, unsigned char *myaddr, int len)
 {
   int i;
 #define maxstride  128
@@ -1231,10 +1217,7 @@ write_large (memaddr, myaddr, len)
    then.  */
 
 static int
-e7000_write_inferior_memory (memaddr, myaddr, len)
-     CORE_ADDR memaddr;
-     unsigned char *myaddr;
-     int len;
+e7000_write_inferior_memory (CORE_ADDR memaddr, unsigned char *myaddr, int len)
 {
   if (len < 16 || using_tcp || using_pc)
     return write_small (memaddr, myaddr, len);
@@ -1252,10 +1235,7 @@ e7000_write_inferior_memory (memaddr, myaddr, len)
  */
 
 static int
-e7000_read_inferior_memory (memaddr, myaddr, len)
-     CORE_ADDR memaddr;
-     unsigned char *myaddr;
-     int len;
+e7000_read_inferior_memory (CORE_ADDR memaddr, unsigned char *myaddr, int len)
 {
   int count;
   int c;
@@ -1270,7 +1250,7 @@ e7000_read_inferior_memory (memaddr, myaddr, len)
       return 0;
     }
 
-  sprintf (buf, "m %x;l\r", memaddr);
+  sprintf (buf, "m %lx;l\r", memaddr);
   puts_e7000debug (buf);
 
   for (count = 0; count < len; count += 4)
@@ -1334,10 +1314,8 @@ e7000_read_inferior_memory (memaddr, myaddr, len)
  */
 
 static int
-e7000_read_inferior_memory_large (memaddr, myaddr, len)
-     CORE_ADDR memaddr;
-     unsigned char *myaddr;
-     int len;
+e7000_read_inferior_memory_large (CORE_ADDR memaddr, unsigned char *myaddr,
+                                 int len)
 {
   int count;
   int c;
@@ -1351,7 +1329,7 @@ e7000_read_inferior_memory_large (memaddr, myaddr, len)
       return 0;
     }
 
-  sprintf (buf, "d %x %x\r", memaddr, memaddr + len - 1);
+  sprintf (buf, "d %lx %lx\r", memaddr, memaddr + len - 1);
   puts_e7000debug (buf);
 
   count = 0;
@@ -1399,10 +1377,8 @@ e7000_read_inferior_memory_large (memaddr, myaddr, len)
 #if 0
 
 static int
-fast_but_for_the_pause_e7000_read_inferior_memory (memaddr, myaddr, len)
-     CORE_ADDR memaddr;
-     char *myaddr;
-     int len;
+fast_but_for_the_pause_e7000_read_inferior_memory (CORE_ADDR memaddr,
+                                                  char *myaddr, int len)
 {
   int loop;
   int c;
@@ -1488,13 +1464,17 @@ fast_but_for_the_pause_e7000_read_inferior_memory (memaddr, myaddr, len)
 
 #endif
 
+/* Transfer LEN bytes between GDB address MYADDR and target address
+   MEMADDR.  If WRITE is non-zero, transfer them to the target,
+   otherwise transfer them from the target.  TARGET is unused.
+
+   Returns the number of bytes transferred. */
+
 static int
-e7000_xfer_inferior_memory (memaddr, myaddr, len, write, target)
-     CORE_ADDR memaddr;
-     unsigned char *myaddr;
-     int len;
-     int write;
-     struct target_ops *target;        /* ignored */
+e7000_xfer_inferior_memory (CORE_ADDR memaddr, char *myaddr,
+                           int len, int write, 
+                           struct mem_attrib *attrib ATTRIBUTE_UNUSED,
+                           struct target_ops *target ATTRIBUTE_UNUSED)
 {
   if (write)
     return e7000_write_inferior_memory (memaddr, myaddr, len);
@@ -1505,16 +1485,12 @@ e7000_xfer_inferior_memory (memaddr, myaddr, len, write, target)
 }
 
 static void
-e7000_kill (args, from_tty)
-     char *args;
-     int from_tty;
+e7000_kill (void)
 {
 }
 
 static void
-e7000_load (args, from_tty)
-     char *args;
-     int from_tty;
+e7000_load (char *args, int from_tty)
 {
   struct cleanup *old_chain;
   asection *section;
@@ -1580,7 +1556,7 @@ e7000_load (args, from_tty)
       perror_with_name (filename);
       return;
     }
-  old_chain = make_cleanup ((make_cleanup_func) bfd_close, pbfd);
+  old_chain = make_cleanup_bfd_close (pbfd);
 
   if (!bfd_check_format (pbfd, bfd_object))
     error ("\"%s\" is not an object file: %s", filename,
@@ -1605,7 +1581,7 @@ e7000_load (args, from_tty)
          section_size = bfd_get_section_size_before_reloc (section);
 
          if (!quiet)
-           printf_filtered ("[Loading section %s at 0x%x (%d bytes)]\n",
+           printf_filtered ("[Loading section %s at 0x%x (%ud bytes)]\n",
                             bfd_get_section_name (pbfd, section),
                             section_address,
                             section_size);
@@ -1700,7 +1676,7 @@ e7000_load (args, from_tty)
    instructions.  */
 
 static void
-e7000_mourn_inferior ()
+e7000_mourn_inferior (void)
 {
   remove_breakpoints ();
   unpush_target (&e7000_ops);
@@ -1720,9 +1696,7 @@ static CORE_ADDR breakaddr[MAX_BREAKPOINTS] =
 {0};
 
 static int
-e7000_insert_breakpoint (addr, shadow)
-     CORE_ADDR addr;
-     unsigned char *shadow;
+e7000_insert_breakpoint (CORE_ADDR addr, char *shadow)
 {
   int i;
   char buf[200];
@@ -1738,12 +1712,12 @@ e7000_insert_breakpoint (addr, shadow)
 #ifdef HARD_BREAKPOINTS
        if (BC_BREAKPOINTS)
          {
-           sprintf (buf, "BC%d A=%x\r", i + 1, addr);
+           sprintf (buf, "BC%d A=%lx\r", i + 1, addr);
            puts_e7000debug (buf);
          }
        else
          {
-           sprintf (buf, "B %x\r", addr);
+           sprintf (buf, "B %lx\r", addr);
            puts_e7000debug (buf);
          }
 #else
@@ -1765,9 +1739,7 @@ e7000_insert_breakpoint (addr, shadow)
 }
 
 static int
-e7000_remove_breakpoint (addr, shadow)
-     CORE_ADDR addr;
-     unsigned char *shadow;
+e7000_remove_breakpoint (CORE_ADDR addr, char *shadow)
 {
   int i;
   char buf[200];
@@ -1784,12 +1756,12 @@ e7000_remove_breakpoint (addr, shadow)
          }
        else
          {
-           sprintf (buf, "B - %x\r", addr);
+           sprintf (buf, "B - %lx\r", addr);
            puts_e7000debug (buf);
          }
        expect_prompt ();
 #else
-       sprintf (buf, "B - %x\r", addr);
+       sprintf (buf, "B - %lx\r", addr);
        puts_e7000debug (buf);
        expect_prompt ();
 
@@ -1802,7 +1774,7 @@ e7000_remove_breakpoint (addr, shadow)
        return 0;
       }
 
-  warning ("Can't find breakpoint associated with 0x%x\n", addr);
+  warning ("Can't find breakpoint associated with 0x%lx\n", addr);
   return 1;
 }
 
@@ -1810,9 +1782,7 @@ e7000_remove_breakpoint (addr, shadow)
    is placed on the users terminal until the prompt is seen. */
 
 static void
-e7000_command (args, fromtty)
-     char *args;
-     int fromtty;
+e7000_command (char *args, int fromtty)
 {
   /* FIXME: arbitrary limit on length of args.  */
   char buf[200];
@@ -1844,10 +1814,7 @@ e7000_command (args, fromtty)
 
 
 static void
-e7000_drain_command (args, fromtty)
-     char *args;
-     int fromtty;
-
+e7000_drain_command (char *args, int fromtty)
 {
   int c;
 
@@ -1871,7 +1838,7 @@ e7000_drain_command (args, fromtty)
 #define NITEMS 7
 
 static int
-why_stop ()
+why_stop (void)
 {
   static char *strings[NITEMS] =
   {
@@ -1916,8 +1883,7 @@ why_stop ()
    otherwise echo them.  */
 
 int
-expect_n (strings)
-     char **strings;
+expect_n (char **strings)
 {
   char *(ptr[10]);
   int n;
@@ -2001,7 +1967,7 @@ expect_n (strings)
    pc, and the simulators never do. */
 
 static void
-sub2_from_pc ()
+sub2_from_pc (void)
 {
   char buf[4];
   char buf2[200];
@@ -2010,7 +1976,7 @@ sub2_from_pc ()
                        REGISTER_RAW_SIZE (PC_REGNUM),
                        read_register (PC_REGNUM) - 2);
   supply_register (PC_REGNUM, buf);
-  sprintf (buf2, ".PC %x\r", read_register (PC_REGNUM));
+  sprintf (buf2, ".PC %lx\r", read_register (PC_REGNUM));
   puts_e7000debug (buf2);
 }
 
@@ -2032,9 +1998,7 @@ static char *estrings[] =
    STATUS just as `wait' would.  */
 
 static int
-e7000_wait (pid, status)
-     int pid;
-     struct target_waitstatus *status;
+e7000_wait (int pid, struct target_waitstatus *status)
 {
   int stop_reason;
   int regno;
@@ -2080,21 +2044,25 @@ e7000_wait (pid, status)
   /* Skip till the PC= */
   expect ("=");
 
-#ifdef GDB_TARGET_IS_SH
-  wanted_nopc = want_nopc;
   if (TARGET_ARCHITECTURE->arch == bfd_arch_sh)
-    switch (TARGET_ARCHITECTURE->mach)
-      {
-      case bfd_mach_sh3:
-      case bfd_mach_sh3e:
-      case bfd_mach_sh4:
-       wanted_nopc = want_sh3_nopc;
-      }
-#else
-  if (h8300smode)
-    wanted_nopc = want_nopc_h8300s;
-  else
-    wanted_nopc = want_nopc_h8300h;
+    {
+      wanted_nopc = want_nopc_sh;
+      switch (TARGET_ARCHITECTURE->mach)
+       {
+       case bfd_mach_sh3:
+       case bfd_mach_sh3e:
+       case bfd_mach_sh4:
+         wanted_nopc = want_nopc_sh3;
+       }
+    }
+#ifdef GDB_TARGET_IS_H8300
+  if (TARGET_ARCHITECTURE->arch == bfd_arch_h8300)
+    {
+      if (h8300smode)
+       wanted_nopc = want_nopc_h8300s;
+      else
+       wanted_nopc = want_nopc_h8300h;
+    }
 #endif
   fetch_regs_from_dump (gch, wanted_nopc);
 
@@ -2149,7 +2117,7 @@ e7000_wait (pid, status)
       break;
     default:
       /* Get the user's attention - this should never happen. */
-      abort ();
+      internal_error (__FILE__, __LINE__, "failed internal consistency check");
     }
 
   return 0;
@@ -2158,7 +2126,7 @@ e7000_wait (pid, status)
 /* Stop the running program.  */
 
 static void
-e7000_stop ()
+e7000_stop (void)
 {
   /* Sending a ^C is supposed to stop the running program.  */
   putchar_e7000 (CTRLC);
@@ -2243,7 +2211,7 @@ target e7000 foobar";
 };
 
 void
-_initialize_remote_e7000 ()
+_initialize_remote_e7000 (void)
 {
   init_e7000_ops ();
   add_target (&e7000_ops);
This page took 0.041306 seconds and 4 git commands to generate.