From 97153a2bbfc59d33c1031526e63b06725862ba6b Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Fri, 29 Sep 2023 14:24:36 -0400 Subject: [PATCH] gdb: add inferior parameter to architecture_changed observable 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 Approved-By: Andrew Burgess --- gdb/arch-utils.c | 3 ++- gdb/observable.h | 5 +++-- gdb/python/py-unwind.c | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/gdb/arch-utils.c b/gdb/arch-utils.c index 5331bd86443..b2b265a5534 100644 --- a/gdb/arch-utils.c +++ b/gdb/arch-utils.c @@ -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 (); } diff --git a/gdb/observable.h b/gdb/observable.h index 5a2144030b3..acb05e9b535 100644 --- a/gdb/observable.h +++ b/gdb/observable.h @@ -153,9 +153,10 @@ extern observable breakpoint_deleted; is the modified breakpoint. */ extern observable 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 architecture_changed; +extern observable + architecture_changed; /* The thread's ptid has changed. The OLD_PTID parameter specifies the old value, and NEW_PTID specifies the new value. */ diff --git a/gdb/python/py-unwind.c b/gdb/python/py-unwind.c index 1856e41e2a1..f8b142dd52c 100644 --- a/gdb/python/py-unwind.c +++ b/gdb/python/py-unwind.c @@ -945,7 +945,7 @@ static const registry::key 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) -- 2.30.2