[Lldb-commits] [lldb] [lldb] New expedited register specfication for unavailable regs (PR #193894)

Jonas Devlieghere via lldb-commits lldb-commits at lists.llvm.org
Mon May 4 23:02:12 PDT 2026


================
@@ -2909,11 +2909,12 @@ rnb_err_t RNBRemote::SendStopReplyPacketForThread(nub_thread_t tid) {
         if (!DNBThreadGetRegisterValueByID(pid, tid, regset,
                                            g_reg_entries[reg].nub_info.reg,
                                            reg_value.get()))
-          continue;
-
-        debugserver_regnum_with_fixed_width_hex_register_value(
-            ostrm, pid, tid, &g_reg_entries[reg], reg_value.get(),
-            std::nullopt);
+          // base16(regnum):<no value>; means a register that cannot be fetched.
+          ostrm << RAWHEX8(g_reg_entries[reg].debugserver_regnum) << ":;";
----------------
JDevlieghere wrote:

This is a behavior change that extends beyond just the SME registers, right? If we have a transient GPR fetch failures, previously that would continue silently. Now, we'll emit an NN which will mark it as unavailable for the current stop (and bypass the retry path).

https://github.com/llvm/llvm-project/pull/193894


More information about the lldb-commits mailing list