This is the mail archive of the
insight@sources.redhat.com
mailing list for the Insight project.
[PATCH] Tracepoint event support
- To: Insight Maling List <insight at sources dot redhat dot com>
- Subject: [PATCH] Tracepoint event support
- From: Keith Seitz <keiths at cygnus dot com>
- Date: Wed, 13 Jun 2001 13:03:22 -0700 (PDT)
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;