================ @@ -1642,9 +1642,22 @@ ThreadSP ProcessGDBRemote::SetThreadStopInfo( } ThreadGDBRemote *gdb_thread = static_cast<ThreadGDBRemote *>(thread_sp.get()); - RegisterContextSP gdb_reg_ctx_sp(gdb_thread->GetRegisterContext()); + RegisterContextSP reg_ctx_sp(gdb_thread->GetRegisterContext()); - gdb_reg_ctx_sp->InvalidateIfNeeded(true); + reg_ctx_sp->InvalidateIfNeeded(true); + + // AArch64 SVE/SME specific code below updates SVE and ZA register sizes and + // offsets if value of VG or SVG registers has changed since last stop. + const ArchSpec &arch = GetTarget().GetArchitecture(); + if (arch.IsValid() && arch.GetTriple().isAArch64()) { ---------------- medismailben wrote:
I know this patch just moves code around but it feels a bit wrong that `ProcessGDBRemote` has some architecture dependent code ... May be we should do this special handling in `ABIAArch64` and call something like `GetABI().ReconfigureRegisters(DynamicRegisterInfo&)` instead. https://github.com/llvm/llvm-project/pull/70742 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits