summaryrefslogtreecommitdiff
path: root/gdb/gdb-events.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/gdb-events.c')
-rw-r--r--gdb/gdb-events.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/gdb/gdb-events.c b/gdb/gdb-events.c
index d6884751dad..f24ece5feeb 100644
--- a/gdb/gdb-events.c
+++ b/gdb/gdb-events.c
@@ -122,6 +122,18 @@ architecture_changed_event (void)
current_event_hooks->architecture_changed ();
}
+// begin ARC
+void
+reg_architecture_changed_event (void)
+{
+ if (gdb_events_debug)
+ fprintf_unfiltered (gdb_stdlog, "reg_architecture_changed_event\n");
+ if (!current_event_hooks->reg_architecture_changed)
+ return;
+ current_event_hooks->reg_architecture_changed ();
+}
+// end ARC
+
struct gdb_events *
deprecated_set_gdb_event_hooks (struct gdb_events *vector)
{
@@ -148,6 +160,9 @@ enum gdb_event
tracepoint_delete,
tracepoint_modify,
architecture_changed,
+// begin ARC
+ reg_architecture_changed,
+// end ARC
nr_gdb_events
};
@@ -271,6 +286,16 @@ queue_architecture_changed (void)
append (event);
}
+// begin ARC
+static void
+queue_reg_architecture_changed (void)
+{
+ struct event *event = XMALLOC (struct event);
+ event->type = reg_architecture_changed;
+ append (event);
+}
+// end ARC
+
void
gdb_events_deliver (struct gdb_events *vector)
{
@@ -319,6 +344,11 @@ gdb_events_deliver (struct gdb_events *vector)
case architecture_changed:
vector->architecture_changed ();
break;
+// begin ARC
+ case reg_architecture_changed:
+ vector->reg_architecture_changed ();
+ break;
+// end ARC
}
delivering_events = event->next;
xfree (event);
@@ -337,6 +367,9 @@ _initialize_gdb_events (void)
queue_event_hooks.tracepoint_delete = queue_tracepoint_delete;
queue_event_hooks.tracepoint_modify = queue_tracepoint_modify;
queue_event_hooks.architecture_changed = queue_architecture_changed;
+// begin ARC
+ queue_event_hooks.reg_architecture_changed = queue_reg_architecture_changed;
+// end ARC
add_setshow_zinteger_cmd ("event", class_maintenance,
&gdb_events_debug, _("\