Author: Raphael Isemann Date: 2020-05-20T13:29:04+02:00 New Revision: 587f81f54a3abab88fe9be5f113c74fc12655ee0
URL: https://github.com/llvm/llvm-project/commit/587f81f54a3abab88fe9be5f113c74fc12655ee0 DIFF: https://github.com/llvm/llvm-project/commit/587f81f54a3abab88fe9be5f113c74fc12655ee0.diff LOG: Revert "[lldb-server] Reset stop reason of all threads when resuming" This reverts commit 56de738d18e11c86169f0248b97b2854c37e35ce. This broke the aarch64 bot. Reverting on behalf of jarin. Added: Modified: lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp lldb/source/Plugins/Process/Linux/NativeThreadLinux.h Removed: lldb/test/API/functionalities/thread/break_step_other/Makefile lldb/test/API/functionalities/thread/break_step_other/TestThreadBreakStepOther.py lldb/test/API/functionalities/thread/break_step_other/main.cpp ################################################################################ diff --git a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp index 1275e8ac9ce3..950cda5c7005 100644 --- a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp +++ b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp @@ -1062,8 +1062,6 @@ Status NativeProcessLinux::Resume(const ResumeActionList &resume_actions) { if (action == nullptr) { LLDB_LOG(log, "no action specified for pid {0} tid {1}", GetID(), thread->GetID()); - // Make sure we reset the stop reason for all the threads. - static_cast<NativeThreadLinux &>(*thread).ResetStopReason(); continue; } diff --git a/lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp b/lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp index 08992f9ebb2a..14eea2df3810 100644 --- a/lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp +++ b/lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp @@ -396,10 +396,7 @@ void NativeThreadLinux::SetStoppedByTrace() { void NativeThreadLinux::SetStoppedWithNoReason() { SetStopped(); - ResetStopReason(); -} -void NativeThreadLinux::ResetStopReason() { m_stop_info.reason = StopReason::eStopReasonNone; m_stop_info.details.signal.signo = 0; } diff --git a/lldb/source/Plugins/Process/Linux/NativeThreadLinux.h b/lldb/source/Plugins/Process/Linux/NativeThreadLinux.h index af9783b4dbfb..fd43c89489f7 100644 --- a/lldb/source/Plugins/Process/Linux/NativeThreadLinux.h +++ b/lldb/source/Plugins/Process/Linux/NativeThreadLinux.h @@ -94,8 +94,6 @@ class NativeThreadLinux : public NativeThreadProtocol { void SetStopped(); - void ResetStopReason(); - // Member Variables lldb::StateType m_state; ThreadStopInfo m_stop_info; diff --git a/lldb/test/API/functionalities/thread/break_step_other/Makefile b/lldb/test/API/functionalities/thread/break_step_other/Makefile deleted file mode 100644 index c46619c66234..000000000000 --- a/lldb/test/API/functionalities/thread/break_step_other/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -CXX_SOURCES := main.cpp -ENABLE_THREADS := YES - -include Makefile.rules diff --git a/lldb/test/API/functionalities/thread/break_step_other/TestThreadBreakStepOther.py b/lldb/test/API/functionalities/thread/break_step_other/TestThreadBreakStepOther.py deleted file mode 100644 index 656f269ef1f8..000000000000 --- a/lldb/test/API/functionalities/thread/break_step_other/TestThreadBreakStepOther.py +++ /dev/null @@ -1,63 +0,0 @@ -""" -Test stop reasons after hitting and deleting a breakpoint and -stepping another thread. Scenario: - - run a thread - - stop the thread at a breakpoint - - delete the breakpoint - - single step on the main thread -The thread stopped at the deleted breakpoint should have stop reason -'none'. -""" - - - -import lldb -from lldbsuite.test.decorators import * -from lldbsuite.test.lldbtest import * -from lldbsuite.test import lldbutil - - -class ThreadBreakStepOtherTestCase(TestBase): - mydir = TestBase.compute_mydir(__file__) - NO_DEBUG_INFO_TESTCASE = True - - def test_hit_breakpoint_delete_step_other_thread(self): - main_source_file = lldb.SBFileSpec("main.cpp") - self.build() - (target, process, main_thread, _) = lldbutil.run_to_source_breakpoint( - self, "// main break here", main_source_file, only_one_thread = False) - - # Run until the breakpoint in the thread. - thread_breakpoint = target.BreakpointCreateBySourceRegex( - "// thread break here", main_source_file) - self.assertGreater( - thread_breakpoint.GetNumLocations(), - 0, - "thread breakpoint has no locations associated with it.") - process.Continue() - stopped_threads = lldbutil.get_threads_stopped_at_breakpoint( - process, thread_breakpoint) - self.assertEquals( - 1, - len(stopped_threads), - "only one thread expected stopped at the thread breakpoint") - breakpoint_thread = stopped_threads[0] - - # Delete the breakpint in the thread and do a step in the main thread. - target.BreakpointDelete(thread_breakpoint.GetID()) - main_thread.StepInstruction(False) - - # Check the stop reasons. - reason = main_thread.GetStopReason() - self.assertEqual( - lldb.eStopReasonPlanComplete, - reason, - "Expected thread stop reason 'plancomplete', but got '%s'" % - lldbutil.stop_reason_to_str(reason)) - - reason = breakpoint_thread.GetStopReason() - self.assertEqual( - lldb.eStopReasonNone, - reason, - "Expected thread stop reason 'none', but got '%s'" % - lldbutil.stop_reason_to_str(reason)) diff --git a/lldb/test/API/functionalities/thread/break_step_other/main.cpp b/lldb/test/API/functionalities/thread/break_step_other/main.cpp deleted file mode 100644 index ce471555d9bd..000000000000 --- a/lldb/test/API/functionalities/thread/break_step_other/main.cpp +++ /dev/null @@ -1,27 +0,0 @@ -#include <thread> -#include "pseudo_barrier.h" - -// Barrier for starting the thread and reaching the loop in main. -pseudo_barrier_t g_barrier; -volatile int g_foo = 0; - -void thread_func() { - // Wait until all the threads are running - pseudo_barrier_wait(g_barrier); - g_foo = 1; // thread break here -} - -int main() { - g_foo = 0; // main break here - - pseudo_barrier_init(g_barrier, 2); - std::thread t(thread_func); - pseudo_barrier_wait(g_barrier); - - // A dummy loop to have something to step through. - volatile int i = 0; - while (g_foo == 0) - ++i; - t.join(); - return 0; -} _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits