* breakpoint.c, breakpoint.h (breakpoint_init_inferior): New function
[deliverable/binutils-gdb.git] / gdb / remote.c
index 7775b6286416df13c64214de99d9cfe49b701af2..d3fef8ba12b440c4b283dec1875f3cb25909dd78 100644 (file)
@@ -133,6 +133,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #include "gdb-stabs.h"
 
 #include "dcache.h"
+#include "remote-utils.h"
 
 #if !defined(DONT_USE_REMOTE)
 #ifdef USG
@@ -220,10 +221,6 @@ static int timeout = 2;
 int icache;
 #endif
 
-/* FIXME: This is a hack which lets this file compile.  It should be getting
-   this setting from remote-utils.c.  */
-#define remote_debug (0)
-
 /* Descriptor for I/O to remote machine.  Initialize it to NULL so that
    remote_open knows that we don't have a file open when the program
    starts.  */
@@ -297,23 +294,18 @@ device is attached to the remote system (e.g. /dev/ttya).");
   if (!remote_desc)
     perror_with_name (name);
 
-#if 0
-  /* FIXME: This should be using remote-utils.c.  */
-  if (baud_rate)
+  if (SERIAL_SETBAUDRATE (remote_desc, sr_get_baud_rate()))
     {
-      int rate;
-
-      if (sscanf (baud_rate, "%d", &rate) == 1)
-       if (SERIAL_SETBAUDRATE (remote_desc, rate))
-         {
-           SERIAL_CLOSE (remote_desc);
-           perror_with_name (name);
-         }
+      SERIAL_CLOSE (remote_desc);
+      perror_with_name (name);
     }
-#endif
 
   SERIAL_RAW (remote_desc);
 
+  /* If there is something sitting in the buffer we might take it as a
+     response to a command, which would be bad.  */
+  SERIAL_FLUSH_INPUT (remote_desc);
+
   if (from_tty)
     {
       puts_filtered ("Remote debugging using ");
@@ -417,7 +409,7 @@ remote_interrupt (signo)
   /* If this doesn't work, try more severe steps.  */
   signal (signo, remote_interrupt_twice);
   
-  if (remote_debug)
+  if (sr_get_debug ())
     printf ("remote_interrupt called\n");
 
   SERIAL_WRITE (remote_desc, "\003", 1); /* Send a ^C */
@@ -545,8 +537,15 @@ remote_wait (status)
            {
              struct section_offsets *offs;
 
+             /* FIXME: This code assumes gdb-stabs.h is being used;
+                it's broken for xcoff, dwarf, sdb-coff, etc.  But
+                there is no simple canonical representation for this
+                stuff.  (Just what does "text" as seen by the stub
+                mean, anyway?).  */
+
              /* FIXME: Why don't the various symfile_offsets routines
-                in the sym_fns vectors set this?  */
+                in the sym_fns vectors set this?
+                (no good reason -kingdon).  */
              if (symfile_objfile->num_sections == 0)
                symfile_objfile->num_sections = SECT_OFF_MAX;
 
@@ -941,7 +940,7 @@ putpkt (buf)
 
   while (1)
     {
-      if (remote_debug)
+      if (sr_get_debug ())
        {
          *p = '\0';
          printf ("Sending packet: %s...", buf2);  fflush(stdout);
@@ -957,7 +956,7 @@ putpkt (buf)
          switch (ch)
            {
            case '+':
-             if (remote_debug)
+             if (sr_get_debug ())
                printf("Ack\n");
              return;
            case SERIAL_TIMEOUT:
@@ -967,7 +966,7 @@ putpkt (buf)
            case SERIAL_EOF:
              error ("putpkt: EOF while trying to read ACK");
            default:
-             if (remote_debug)
+             if (sr_get_debug ())
                printf ("%02X %c ", ch&0xFF, ch);
              continue;
            }
@@ -1008,7 +1007,7 @@ getpkt (buf, forever)
          if (forever)
            continue;
          if (++retries >= MAX_RETRIES)
-           if (remote_debug) puts_filtered ("Timed out.\n");
+           if (sr_get_debug ()) puts_filtered ("Timed out.\n");
          goto out;
        }
 
@@ -1026,13 +1025,13 @@ getpkt (buf, forever)
          c = readchar ();
          if (c == SERIAL_TIMEOUT)
            {
-             if (remote_debug)
+             if (sr_get_debug ())
                puts_filtered ("Timeout in mid-packet, retrying\n");
              goto whole;               /* Start a new packet, count retries */
            } 
          if (c == '$')
            {
-             if (remote_debug)
+             if (sr_get_debug ())
                puts_filtered ("Saw new packet start in middle of old one\n");
              goto whole;               /* Start a new packet, count retries */
            }
@@ -1077,7 +1076,7 @@ out:
 
   SERIAL_WRITE (remote_desc, "+", 1);
 
-  if (remote_debug)
+  if (sr_get_debug ())
     fprintf (stderr,"Packet received: %s\n", buf);
 }
 \f
This page took 0.024973 seconds and 4 git commands to generate.