[Lldb-commits] [lldb] [lldb] Parse DWARF CFI for discontinuous functions (PR #137006)

Pavel Labath via lldb-commits lldb-commits at lists.llvm.org
Wed Apr 23 08:49:38 PDT 2025


================
@@ -131,25 +138,19 @@ UnwindTable::GetFuncUnwindersContainingAddress(const Address &addr,
 
   // There is an UnwindTable per object file, so we can safely use file handles
   addr_t file_addr = addr.GetFileAddress();
-  iterator end = m_unwinds.end();
-  iterator insert_pos = end;
-  if (!m_unwinds.empty()) {
-    insert_pos = m_unwinds.lower_bound(file_addr);
-    iterator pos = insert_pos;
-    if ((pos == m_unwinds.end()) ||
-        (pos != m_unwinds.begin() &&
-         pos->second->GetFunctionStartAddress() != addr))
----------------
labath wrote:

I realized that checking for the start address is not correct here as we're storing the FuncUnwinders multiple times here -- once per address range.

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


More information about the lldb-commits mailing list