diff options
| -rw-r--r-- | lldb/source/Plugins/Process/Utility/UnwindLLDB.cpp | 16 | ||||
| -rw-r--r-- | lldb/test/functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferior.py | 3 |
2 files changed, 2 insertions, 17 deletions
diff --git a/lldb/source/Plugins/Process/Utility/UnwindLLDB.cpp b/lldb/source/Plugins/Process/Utility/UnwindLLDB.cpp index 0eea0036349..552ae501bd2 100644 --- a/lldb/source/Plugins/Process/Utility/UnwindLLDB.cpp +++ b/lldb/source/Plugins/Process/Utility/UnwindLLDB.cpp @@ -185,21 +185,7 @@ UnwindLLDB::AddOneMoreFrame (ABI *abi) } goto unwind_done; } - if (!m_frames.empty()) - { - if (m_frames.back()->start_pc == cursor_sp->start_pc) - { - if (m_frames.back()->cfa == cursor_sp->cfa) - goto unwind_done; // Infinite loop where the current cursor is the same as the previous one... - else if (abi && abi->StackUsesFrames()) - { - // We might have a CFA that is not using the frame pointer and - // we want to validate that the frame pointer is valid. - if (reg_ctx_sp->GetFP() == 0) - goto unwind_done; - } - } - } + cursor_sp->reg_ctx_lldb_sp = reg_ctx_sp; m_frames.push_back (cursor_sp); return true; diff --git a/lldb/test/functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferior.py b/lldb/test/functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferior.py index 6d2d4f36f84..a7c1ee6c7d4 100644 --- a/lldb/test/functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferior.py +++ b/lldb/test/functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferior.py @@ -15,7 +15,6 @@ class CrashingRecursiveInferiorTestCase(TestBase): self.buildDsym() self.recursive_inferior_crashing() - @expectedFailureLinux('llvm.org/pr15415', ['gcc', 'clang']) # partial backtrace with -fomit-frame-pointer with tool-chains that support this option def test_recursive_inferior_crashing_dwarf(self): """Test that lldb reliably catches the inferior crashing (command).""" self.buildDwarf() @@ -82,7 +81,7 @@ class CrashingRecursiveInferiorTestCase(TestBase): self.recursive_inferior_crashing_expr_step_expr() @expectedFailureFreeBSD('llvm.org/pr17184') - @expectedFailureLinux # due to llvm.org/pr15415 with -fomit-frame-pointer, and pr15989 with ebp/rbp + @expectedFailureLinux # llvm.org/pr15989 - Couldn't allocate space for the stack frame def test_recursive_inferior_crashing_expr_step_and_expr_dwarf(self): """Test that lldb expressions work before and after stepping after a crash.""" self.buildDwarf() |

