[Lldb-commits] [lldb] 04488c4 - Don't fail step out if remote server doesn't implement qMemoryRegionInfo
Ted Woodward via lldb-commits
lldb-commits at lists.llvm.org
Tue Jan 28 11:36:21 PST 2020
Author: Ted Woodward
Date: 2020-01-28T13:36:06-06:00
New Revision: 04488c485a8875ba4bd6d2d004ac778276ae37e0
URL: https://github.com/llvm/llvm-project/commit/04488c485a8875ba4bd6d2d004ac778276ae37e0
DIFF: https://github.com/llvm/llvm-project/commit/04488c485a8875ba4bd6d2d004ac778276ae37e0.diff
LOG: Don't fail step out if remote server doesn't implement qMemoryRegionInfo
Summary:
The return address validation in D71372 will fail if the memory permissions can't be determined. Many embedded stubs either don't implement the qMemoryRegionInfo packet, or don't have memory permissions at all.
Remove the return from the if clause that calls GetLoadAddressPermissions, so this call failing doesn't cause the step out to abort. Instead, assume that the memory permission check doesn't apply to this type of target.
Reviewers: labath, jingham, clayborg, mossberg
Reviewed By: labath
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D72513
Added:
Modified:
lldb/source/Target/ThreadPlanStepOut.cpp
Removed:
################################################################################
diff --git a/lldb/source/Target/ThreadPlanStepOut.cpp b/lldb/source/Target/ThreadPlanStepOut.cpp
index 9ca1b3fc03ab..eead322f6b89 100644
--- a/lldb/source/Target/ThreadPlanStepOut.cpp
+++ b/lldb/source/Target/ThreadPlanStepOut.cpp
@@ -135,7 +135,6 @@ ThreadPlanStepOut::ThreadPlanStepOut(
m_return_addr);
LLDB_LOGF(log, "ThreadPlanStepOut(%p): %s", static_cast<void *>(this),
m_constructor_errors.GetData());
- return;
} else if (!(permissions & ePermissionsExecutable)) {
m_constructor_errors.Printf("Return address (0x%" PRIx64
") did not point to executable memory.",
More information about the lldb-commits
mailing list