2012-03-08 Stan Shebs <stan@codesourcery.com>
[deliverable/binutils-gdb.git] / gdb / gdbserver / server.c
index fb7322c3bdc66b2a6e602b80787e79aede820dcd..922a5bfa6e02b72779b8854f7ad7202462baba63 100644 (file)
@@ -1,6 +1,5 @@
 /* Main code for remote server for GDB.
-   Copyright (C) 1989, 1993-1995, 1997-2000, 2002-2012 Free Software
-   Foundation, Inc.
+   Copyright (C) 1989-2013 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -1638,6 +1637,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
          strcat (own_buf, ";qXfer:statictrace:read+");
          strcat (own_buf, ";qXfer:traceframe-info:read+");
          strcat (own_buf, ";EnableDisableTracepoints+");
+         strcat (own_buf, ";QTBuffer:size+");
          strcat (own_buf, ";tracenz+");
        }
 
@@ -1809,12 +1809,12 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
     {
       /* CRC check (compare-section).  */
       char *comma;
-      CORE_ADDR base;
+      ULONGEST base;
       int len;
       unsigned long long crc;
 
       require_running (own_buf);
-      base = strtoul (own_buf + 5, &comma, 16);
+      comma = unpack_varlen_hex (own_buf + 5, &base);
       if (*comma++ != ',')
        {
          write_enn (own_buf);
@@ -2382,7 +2382,7 @@ static void
 gdbserver_version (void)
 {
   printf ("GNU gdbserver %s%s\n"
-         "Copyright (C) 2012 Free Software Foundation, Inc.\n"
+         "Copyright (C) 2013 Free Software Foundation, Inc.\n"
          "gdbserver is free software, covered by the "
          "GNU General Public License.\n"
          "This gdbserver was configured as \"%s\"\n",
@@ -2688,6 +2688,7 @@ main (int argc, char *argv[])
 
   initialize_async_io ();
   initialize_low ();
+  initialize_event_loop ();
   if (target_supports_tracepoints ())
     initialize_tracepoint ();
 
@@ -2860,7 +2861,8 @@ process_point_options (CORE_ADDR point_addr, char **packet)
       if (*dataptr == 'X')
        {
          /* Conditional expression.  */
-         fprintf (stderr, "Found breakpoint condition.\n");
+         if (debug_threads)
+           fprintf (stderr, "Found breakpoint condition.\n");
          add_breakpoint_condition (point_addr, &dataptr);
        }
       else if (strncmp (dataptr, "cmds:", strlen ("cmds:")) == 0)
@@ -3192,13 +3194,16 @@ process_serial_event (void)
       /* Fallthrough.  */
     case 'z':  /* remove_ ... */
       {
-       char *lenptr;
        char *dataptr;
-       CORE_ADDR addr = strtoul (&own_buf[3], &lenptr, 16);
-       int len = strtol (lenptr + 1, &dataptr, 16);
+       ULONGEST addr;
+       int len;
        char type = own_buf[1];
        int res;
        const int insert = ch == 'Z';
+       char *p = &own_buf[3];
+
+       p = unpack_varlen_hex (p, &addr);
+       len = strtol (p + 1, &dataptr, 16);
 
        /* Default to unrecognized/unsupported.  */
        res = 1;
This page took 0.025155 seconds and 4 git commands to generate.