ted created this revision.
Herald added a project: LLDB.
Herald added a subscriber: lldb-commits.
ted added reviewers: labath, jingham, clayborg.
The return address validation in D71372 <https://reviews.llvm.org/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.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D72513
Files:
lldb/source/Target/ThreadPlanStepOut.cpp
Index: lldb/source/Target/ThreadPlanStepOut.cpp
===================================================================
--- lldb/source/Target/ThreadPlanStepOut.cpp
+++ lldb/source/Target/ThreadPlanStepOut.cpp
@@ -135,7 +135,6 @@
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.",
Index: lldb/source/Target/ThreadPlanStepOut.cpp
===================================================================
--- lldb/source/Target/ThreadPlanStepOut.cpp
+++ lldb/source/Target/ThreadPlanStepOut.cpp
@@ -135,7 +135,6 @@
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.",
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits