[Lldb-commits] [lldb] fe6db8d - Revert "[lldb] Fix thread step until to not set breakpoint(s) on incorrect line numbers"
Mikhail Goncharov via lldb-commits
lldb-commits at lists.llvm.org
Mon Jun 27 01:20:17 PDT 2022
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)
More information about the lldb-commits
mailing list