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


        
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to