gdb: add inferior parameter to architecture_changed observable
authorSimon Marchi <simon.marchi@efficios.com>
Fri, 29 Sep 2023 18:24:36 +0000 (14:24 -0400)
committerSimon Marchi <simon.marchi@efficios.com>
Tue, 10 Oct 2023 14:44:35 +0000 (10:44 -0400)
This is to make it explicit which inferior's architecture just changed,
and that the callbacks should not assume it is the current inferior.

Update the only caller, pyuw_on_new_gdbarch, to add the parameter,
although it doesn't use it currently.

Change-Id: Ieb7f21377e4252cc6e7b1ce2cc812cd1a1840e0e
Reviewed-By: John Baldwin <jhb@FreeBSD.org>
Approved-By: Andrew Burgess <aburgess@redhat.com>
gdb/arch-utils.c
gdb/observable.h
gdb/python/py-unwind.c

index 5331bd864431c87be51791782ca99d4e876ad367..b2b265a55346d747bba6033f4eea4b47cec78637 100644 (file)
@@ -1489,7 +1489,8 @@ set_target_gdbarch (struct gdbarch *new_gdbarch)
   gdb_assert (new_gdbarch != NULL);
   gdb_assert (new_gdbarch->initialized_p);
   current_inferior ()->set_arch (new_gdbarch);
-  gdb::observers::architecture_changed.notify (new_gdbarch);
+  gdb::observers::architecture_changed.notify (current_inferior (),
+                                              new_gdbarch);
   registers_changed ();
 }
 
index 5a2144030b3e565d0f0e0253804cb398390e5aee..acb05e9b535cd25a0a1e0a85ec37f58859e58885 100644 (file)
@@ -153,9 +153,10 @@ extern observable<struct breakpoint */* b */> breakpoint_deleted;
    is the modified breakpoint.  */
 extern observable<struct breakpoint */* b */> breakpoint_modified;
 
-/* The current architecture has changed.  The argument NEWARCH is a
+/* INF's architecture has changed.  The argument NEWARCH is a
    pointer to the new architecture.  */
-extern observable<struct gdbarch */* newarch */> architecture_changed;
+extern observable<inferior */* inf */, struct gdbarch */* newarch */>
+  architecture_changed;
 
 /* The thread's ptid has changed.  The OLD_PTID parameter specifies
    the old value, and NEW_PTID specifies the new value.  */
index 1856e41e2a1baafea558abc6da3c9c67079441fe..f8b142dd52c16e53d7cdd520a3fccc8a607c77b3 100644 (file)
@@ -945,7 +945,7 @@ static const registry<gdbarch>::key<pyuw_gdbarch_data_type> pyuw_gdbarch_data;
    intermediary.  */
 
 static void
-pyuw_on_new_gdbarch (struct gdbarch *newarch)
+pyuw_on_new_gdbarch (inferior *inf, gdbarch *newarch)
 {
   struct pyuw_gdbarch_data_type *data = pyuw_gdbarch_data.get (newarch);
   if (data == nullptr)