This is the mail archive of the insight@sources.redhat.com mailing list for the Insight project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

[PATCH] Tracepoint event support


Hi,

This allows Insight to use the tracepoint events from gdb. Now if there
were only a way to test it...

Keith

ChangeLog
2001-06-13  Keith Seitz  <keiths@redhat.com>

	* generic/gdbtk-bp.c (gdbtk_tracepoint_create): Change
	parameter to int to match breakpoint notifications.
	(gdbtk_tracepoint_modify): Ditto.
	(gdbtk_tracepoint_delete): Ditto.
	(tracepoint_notify): Ditto.
	* generic/gdbtk-hooks.c (gdbtk_add_hooks): Remove
	tracepoint hooks and install tracepoint event handlers.

Patch
Index: generic/gdbtk-bp.c
===================================================================
RCS file: /cvs/src/src/gdb/gdbtk/generic/gdbtk-bp.c,v
retrieving revision 1.7
diff -u -p -r1.7 gdbtk-bp.c
--- gdbtk-bp.c	2001/06/11 23:08:05	1.7
+++ gdbtk-bp.c	2001/06/13 20:00:49
@@ -123,11 +123,11 @@ static int tracepoint_exists (char *args
 void gdbtk_create_breakpoint (int);
 void gdbtk_delete_breakpoint (int);
 void gdbtk_modify_breakpoint (int);
-void gdbtk_create_tracepoint (struct tracepoint *);
-void gdbtk_delete_tracepoint (struct tracepoint *);
-void gdbtk_modify_tracepoint (struct tracepoint *);
+void gdbtk_create_tracepoint (int);
+void gdbtk_delete_tracepoint (int);
+void gdbtk_modify_tracepoint (int);
 static void breakpoint_notify (int, const char *);
-static void tracepoint_notify (struct tracepoint *, const char *);
+static void tracepoint_notify (int, const char *);

 int
 Gdbtk_Breakpoint_Init (Tcl_Interp *interp)
@@ -942,36 +942,33 @@ gdb_tracepoint_exists_command (clientDat
  */

 void
-gdbtk_create_tracepoint (tp)
-     struct tracepoint *tp;
+gdbtk_create_tracepoint (int num)
 {
-  tracepoint_notify (tp, "create");
+  tracepoint_notify (num, "create");
 }

 void
-gdbtk_delete_tracepoint (tp)
-     struct tracepoint *tp;
+gdbtk_delete_tracepoint (int num)
 {
-  tracepoint_notify (tp, "delete");
+  tracepoint_notify (num, "delete");
 }

 void
-gdbtk_modify_tracepoint (tp)
-     struct tracepoint *tp;
+gdbtk_modify_tracepoint (int num)
 {
-  tracepoint_notify (tp, "modify");
+  tracepoint_notify (num, "modify");
 }

 static void
-tracepoint_notify (tp, action)
-     struct tracepoint *tp;
+tracepoint_notify (num, action)
+     int num;
      const char *action;
 {
   char *buf;

   /* We ensure that ACTION contains no special Tcl characters, so we
      can do this.  */
-  xasprintf (&buf, "gdbtk_tcl_tracepoint %s %d", action, tp->number);
+  xasprintf (&buf, "gdbtk_tcl_tracepoint %s %d", action, num);

   if (Tcl_Eval (gdbtk_interp, buf) != TCL_OK)
     report_error ();
Index: generic/gdbtk-hooks.c
===================================================================
RCS file: /cvs/src/src/gdb/gdbtk/generic/gdbtk-hooks.c,v
retrieving revision 1.15
diff -u -p -r1.15 gdbtk-hooks.c
--- gdbtk-hooks.c	2001/06/07 14:43:01	1.15
+++ gdbtk-hooks.c	2001/06/13 20:00:49
@@ -71,9 +71,9 @@ int gdbtk_force_detach = 0;
 extern void gdbtk_create_breakpoint (int);
 extern void gdbtk_delete_breakpoint (int);
 extern void gdbtk_modify_breakpoint (int);
-extern void gdbtk_create_tracepoint (struct tracepoint *);
-extern void gdbtk_delete_tracepoint (struct tracepoint *);
-extern void gdbtk_modify_tracepoint (struct tracepoint *);
+extern void gdbtk_create_tracepoint (int);
+extern void gdbtk_delete_tracepoint (int);
+extern void gdbtk_modify_tracepoint (int);

 extern void (*pre_add_symbol_hook) (char *);
 extern void (*post_add_symbol_hook) (void);
@@ -129,6 +129,9 @@ gdbtk_add_hooks (void)
   handlers.breakpoint_create = gdbtk_create_breakpoint;
   handlers.breakpoint_modify = gdbtk_modify_breakpoint;
   handlers.breakpoint_delete = gdbtk_delete_breakpoint;
+  handlers.tracepoint_create = gdbtk_create_tracepoint;
+  handlers.tracepoint_modify = gdbtk_modify_tracepoint;
+  handlers.tracepoint_delete = gdbtk_delete_tracepoint;
   set_gdb_event_hooks (&handlers);

   /* Hooks */
@@ -153,9 +156,6 @@ gdbtk_add_hooks (void)
   file_changed_hook = gdbtk_file_changed;
   specify_exec_file_hook (gdbtk_exec_file_display);

-  create_tracepoint_hook = gdbtk_create_tracepoint;
-  delete_tracepoint_hook = gdbtk_delete_tracepoint;
-  modify_tracepoint_hook = gdbtk_modify_tracepoint;
   trace_find_hook = gdbtk_trace_find;
   trace_start_stop_hook = gdbtk_trace_start_stop;



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]