inferior::set_arch calls registers_changed, which invalidates all
regcaches. It would be enough to invalidate only regcaches of threads
belonging to this inferior. Call registers_changed_ptid instead, with
the proper process target / ptid. If the inferior does not have a
process target, there should be no regcaches for that inferior, so no
need to invalidate anything.
Change-Id: Id8b5500acb7f373b01a534f16d3a7d028dc0d882
Reviewed-By: John Baldwin <jhb@FreeBSD.org>
Approved-By: Andrew Burgess <aburgess@redhat.com>
gdb_assert (gdbarch_initialized_p (arch));
m_gdbarch = arch;
gdb::observers::architecture_changed.notify (this, arch);
- registers_changed ();
+
+ process_stratum_target *proc_target = this->process_target ();
+ if (proc_target != nullptr)
+ registers_changed_ptid (proc_target, ptid_t (this->pid));
}
void