[Lldb-commits] [lldb] [lldb] Fix error that lead Windows to think it could reverse execute (PR #137351)
David Spickett via lldb-commits
lldb-commits at lists.llvm.org
Fri Apr 25 08:50:25 PDT 2025
https://github.com/DavidSpickett created https://github.com/llvm/llvm-project/pull/137351
The new test added in https://github.com/llvm/llvm-project/pull/132783 was failing on Windows because it created a new error to say it did not support the feature, but then returned the existing, default constructed error. Which was a success value.
This also changes the GDBRemote error message to the same phrasing used in all the other places so we don't have to special case any platform.
>From 75ec9f551c34a8684b65352f7890a8c16566dccb Mon Sep 17 00:00:00 2001
From: David Spickett <david.spickett at linaro.org>
Date: Fri, 25 Apr 2025 15:46:41 +0000
Subject: [PATCH] [lldb] Fix error that lead Windows to think it could reverse
execute
The new test added in https://github.com/llvm/llvm-project/pull/132783
was failing on Windows because it created a new error to say it did
not support the feature, but then returned the existing, default
constructed error. Which was a success value.
This also changes the GDBRemote error message to the same phrasing used
in all the other places so we don't have to special case any platform.
---
.../Plugins/Process/Windows/Common/ProcessWindows.cpp | 6 +++---
lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp | 2 +-
.../reverse-continue/TestReverseContinueNotSupported.py | 5 +++--
3 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp b/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
index 9196ac2702c85..331139d029f50 100644
--- a/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
+++ b/lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
@@ -239,15 +239,15 @@ ProcessWindows::DoAttachToProcessWithID(lldb::pid_t pid,
Status ProcessWindows::DoResume(RunDirection direction) {
Log *log = GetLog(WindowsLog::Process);
llvm::sys::ScopedLock lock(m_mutex);
- Status error;
if (direction == RunDirection::eRunReverse) {
- error.FromErrorStringWithFormatv(
+ return Status::FromErrorStringWithFormatv(
"error: {0} does not support reverse execution of processes",
GetPluginName());
- return error;
}
+ Status error;
+
StateType private_state = GetPrivateState();
if (private_state == eStateStopped || private_state == eStateCrashed) {
LLDB_LOG(log, "process {0} is in state {1}. Resuming...",
diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
index b616e99be83b2..f924d1194e8a1 100644
--- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
@@ -1410,7 +1410,7 @@ Status ProcessGDBRemote::DoResume(RunDirection direction) {
LLDB_LOGF(log, "ProcessGDBRemote::DoResume: target does not "
"support reverse-continue");
return Status::FromErrorString(
- "target does not support reverse-continue");
+ "target does not support reverse execution of processes");
}
if (num_continue_C_tids > 0) {
diff --git a/lldb/test/API/commands/process/reverse-continue/TestReverseContinueNotSupported.py b/lldb/test/API/commands/process/reverse-continue/TestReverseContinueNotSupported.py
index 54d757dc4b98b..167d5827bff55 100644
--- a/lldb/test/API/commands/process/reverse-continue/TestReverseContinueNotSupported.py
+++ b/lldb/test/API/commands/process/reverse-continue/TestReverseContinueNotSupported.py
@@ -11,7 +11,6 @@
class TestReverseContinueNotSupported(TestBase):
- @skipIfWindows
def test_reverse_continue_not_supported(self):
target = self.connect()
@@ -26,7 +25,9 @@ def test_reverse_continue_not_supported(self):
self.expect(
"process continue --reverse",
error=True,
- substrs=["target does not support reverse-continue"],
+ # This error is "<plugin name> does not support...". The plugin name changes
+ # between platforms.
+ substrs=["does not support reverse execution of processes"],
)
def test_reverse_continue_forward_and_reverse(self):
More information about the lldb-commits
mailing list