[Lldb-commits] [lldb] [lldb][RISCV] fix LR/SC atomic sequence handling in lldb-server (PR #127505)

via lldb-commits lldb-commits at lists.llvm.org
Fri Jun 20 07:15:26 PDT 2025


================
@@ -326,11 +326,15 @@ void NativeProcessFreeBSD::MonitorSIGTRAP(lldb::pid_t pid) {
         if (thread_info != m_threads_stepping_with_breakpoint.end() &&
             thread_info->second == regctx.GetPC()) {
           thread->SetStoppedByTrace();
-          Status brkpt_error = RemoveBreakpoint(thread_info->second);
-          if (brkpt_error.Fail())
-            LLDB_LOG(log, "pid = {0} remove stepping breakpoint: {1}",
-                     thread_info->first, brkpt_error);
-          m_threads_stepping_with_breakpoint.erase(thread_info);
+          while (thread_info != m_threads_stepping_with_breakpoint.end() {
----------------
dlav-sc wrote:

Since `m_threads_stepping_with_breakpoint` is now a `std::multimap` that can store multiple breakpoints per thread, I need a loop to delete all breakpoints that corresponds to desired thread.

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


More information about the lldb-commits mailing list