[Lldb-commits] [PATCH] D72513: Don't fail step out if remote server doesn't implement qMemoryRegionInfo

Ted Woodward via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Fri Jan 10 08:25:01 PST 2020


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.",


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D72513.237340.patch
Type: text/x-patch
Size: 619 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20200110/16280082/attachment.bin>


More information about the lldb-commits mailing list