[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:33 PDT 2025


================
@@ -23,7 +23,7 @@ class NativeProcessSoftwareSingleStep {
 protected:
   // List of thread ids stepping with a breakpoint with the address of
   // the relevan breakpoint
-  std::map<lldb::tid_t, lldb::addr_t> m_threads_stepping_with_breakpoint;
+  std::multimap<lldb::tid_t, lldb::addr_t> m_threads_stepping_with_breakpoint;
----------------
dlav-sc wrote:

To properly handle `lr`/`sc` sequence, `lldb` sometimes needs to set multiple breakpoints. This means there can now be several breakpoints corresponding to the same thread. I use `std::multimap` here because it allows multiple values with the same key, unlike `std::map` which requires unique keys.

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


More information about the lldb-commits mailing list