Implement creating tracepoints with -break-insert.
authorVladimir Prus <vladimir@codesourcery.com>
Tue, 23 Mar 2010 21:41:55 +0000 (21:41 +0000)
committerVladimir Prus <vladimir@codesourcery.com>
Tue, 23 Mar 2010 21:41:55 +0000 (21:41 +0000)
* mi/mi-cmd-break.c (mi_cmd_break_insert): Handle -a
to mean that tracepoint should be created.

gdb/ChangeLog
gdb/mi/mi-cmd-break.c

index cbc8eb6..dbab388 100644 (file)
@@ -1,5 +1,12 @@
 2010-03-24  Vladimir Prus  <vladimir@codesourcery.com>
 
+       Implement creating tracepoints with -break-insert.
+
+       * mi/mi-cmd-break.c (mi_cmd_break_insert): Handle -a
+       to mean that tracepoint should be created.
+
+2010-03-24  Vladimir Prus  <vladimir@codesourcery.com>
+
        * breakpoint.c (check_no_tracepoint_commands): Use
        current spelling of 'teval'.
 
index 204565c..3fcd85b 100644 (file)
@@ -74,6 +74,7 @@ mi_cmd_break_insert (char *command, char **argv, int argc)
   char *condition = NULL;
   int pending = 0;
   int enabled = 1;
+  int tracepoint = 0;
   struct cleanup *back_to;
 
   struct gdb_exception e;
@@ -81,7 +82,8 @@ mi_cmd_break_insert (char *command, char **argv, int argc)
   enum opt
     {
       HARDWARE_OPT, TEMP_OPT, CONDITION_OPT,
-      IGNORE_COUNT_OPT, THREAD_OPT, PENDING_OPT, DISABLE_OPT
+      IGNORE_COUNT_OPT, THREAD_OPT, PENDING_OPT, DISABLE_OPT,
+      TRACEPOINT_OPT,
     };
   static struct mi_opt opts[] =
   {
@@ -92,6 +94,7 @@ mi_cmd_break_insert (char *command, char **argv, int argc)
     {"p", THREAD_OPT, 1},
     {"f", PENDING_OPT, 0},
     {"d", DISABLE_OPT, 0},
+    {"a", TRACEPOINT_OPT, 0},
     { 0, 0, 0 }
   };
 
@@ -126,6 +129,10 @@ mi_cmd_break_insert (char *command, char **argv, int argc)
          break;
        case DISABLE_OPT:
          enabled = 0;
+         break;
+       case TRACEPOINT_OPT:
+         tracepoint = 1;
+         break;
        }
     }
 
@@ -148,7 +155,7 @@ mi_cmd_break_insert (char *command, char **argv, int argc)
   mi_can_breakpoint_notify = 1;
   create_breakpoint (get_current_arch (), address, condition, thread,
                     0 /* condition and thread are valid.  */,
-                    temp_p, hardware, 0 /* traceflag */,
+                    temp_p, hardware, tracepoint,
                     ignore_count,
                     pending ? AUTO_BOOLEAN_TRUE : AUTO_BOOLEAN_FALSE,
                     NULL, 0, enabled);