Author: Mikhail Goncharov Date: 2022-06-27T10:18:39+02:00 New Revision: fe6db8d03ff16a65f57af24d2cb04f489e2e9b0c
URL: https://github.com/llvm/llvm-project/commit/fe6db8d03ff16a65f57af24d2cb04f489e2e9b0c DIFF: https://github.com/llvm/llvm-project/commit/fe6db8d03ff16a65f57af24d2cb04f489e2e9b0c.diff LOG: Revert "[lldb] Fix thread step until to not set breakpoint(s) on incorrect line numbers" This reverts commit a57b62deef37c7f2ec31bca3bf9173a6206bfb9b. lldb-aarch64-ubuntu buildbot test fails since https://lab.llvm.org/buildbot/#/builders/96/builds/25128 Added: Modified: lldb/source/Commands/CommandObjectThread.cpp lldb/test/API/functionalities/thread/step_until/TestStepUntil.py Removed: ################################################################################ diff --git a/lldb/source/Commands/CommandObjectThread.cpp b/lldb/source/Commands/CommandObjectThread.cpp index 9396c3615497..037bbafdf894 100644 --- a/lldb/source/Commands/CommandObjectThread.cpp +++ b/lldb/source/Commands/CommandObjectThread.cpp @@ -1033,21 +1033,11 @@ class CommandObjectThreadUntil : public CommandObjectParsed { line_table->FindLineEntryByAddress(fun_end_addr, function_start, &end_ptr); - // Since not all source lines will contribute code, check if we are - // setting the breakpoint on the exact line number or the nearest - // subsequent line number and set breakpoints at all the line table - // entries of the chosen line number (exact or nearest subsequent). for (uint32_t line_number : line_numbers) { - LineEntry line_entry; - bool exact = false; uint32_t start_idx_ptr = index_ptr; - start_idx_ptr = sc.comp_unit->FindLineEntry( - index_ptr, line_number, nullptr, exact, &line_entry); - if (start_idx_ptr != UINT32_MAX) - line_number = line_entry.line; - exact = true; - start_idx_ptr = index_ptr; while (start_idx_ptr <= end_ptr) { + LineEntry line_entry; + const bool exact = false; start_idx_ptr = sc.comp_unit->FindLineEntry( start_idx_ptr, line_number, nullptr, exact, &line_entry); if (start_idx_ptr == UINT32_MAX) diff --git a/lldb/test/API/functionalities/thread/step_until/TestStepUntil.py b/lldb/test/API/functionalities/thread/step_until/TestStepUntil.py index ee25d1343735..0145b34f31de 100644 --- a/lldb/test/API/functionalities/thread/step_until/TestStepUntil.py +++ b/lldb/test/API/functionalities/thread/step_until/TestStepUntil.py @@ -19,7 +19,7 @@ def setUp(self): self.greater_than_two = line_number('main.c', 'Greater than or equal to 2.') self.back_out_in_main = line_number('main.c', 'Back out in main') - def common_setup (self, args): + def do_until (self, args, until_lines, expected_linenum): self.build() exe = self.getBuildArtifact("a.out") @@ -48,8 +48,7 @@ def common_setup (self, args): thread = threads[0] return thread - def do_until (self, args, until_lines, expected_linenum): - thread = self.common_setup(args) + thread = self.common_setup(None) cmd_interp = self.dbg.GetCommandInterpreter() ret_obj = lldb.SBCommandReturnObject() @@ -78,7 +77,7 @@ def test_targetting_two_hitting_second (self): self.do_until(None, [self.less_than_two, self.greater_than_two], self.less_than_two) def test_missing_one (self): - """Test thread step until - targeting one line and missing it by stepping out to call site""" + """Test thread step until - targeting one line and missing it.""" self.do_until(["foo", "bar", "baz"], [self.less_than_two], self.back_out_in_main) _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits