================ @@ -2842,31 +2850,32 @@ rnb_err_t RNBRemote::SendStopReplyPacketForThread(nub_thread_t tid) { if (g_num_reg_entries == 0) InitializeRegisters(); - if (g_reg_entries != NULL) { - auto interesting_regset = [](int regset) -> bool { -#if defined(__arm64__) || defined(__aarch64__) - // GPRs and exception registers, helpful for debugging - // from packet logs. - return regset == 1 || regset == 3; -#else - return regset == 1; -#endif - }; - - DNBRegisterValue reg_value; - for (uint32_t reg = 0; reg < g_num_reg_entries; reg++) { - // Expedite all registers in the first register set that aren't - // contained in other registers - if (interesting_regset(g_reg_entries[reg].nub_info.set) && - g_reg_entries[reg].nub_info.value_regs == NULL) { - if (!DNBThreadGetRegisterValueByID( - pid, tid, g_reg_entries[reg].nub_info.set, - g_reg_entries[reg].nub_info.reg, ®_value)) - continue; - - debugserver_regnum_with_fixed_width_hex_register_value( - ostrm, pid, tid, &g_reg_entries[reg], ®_value); - } + nub_size_t num_reg_sets = 0; + const DNBRegisterSetInfo *reg_sets = DNBGetRegisterSetInfo(&num_reg_sets); + + DNBRegisterValue reg_value; + for (uint32_t reg = 0; reg < g_num_reg_entries; reg++) { + int regset = g_reg_entries[reg].nub_info.set; + bool include_reg = false; + // Expedite interesting register sets, all registers not ---------------- DavidSpickett wrote:
Does this imply you are expediting svcr and tpidr2 as well? I don't know debugserver but for Linux, only svl (svg) is needed in this scenario. Doesn't hurt to include more though. https://github.com/llvm/llvm-project/pull/119171 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits