summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2011-02-15 00:19:15 +0000
committerGreg Clayton <gclayton@apple.com>2011-02-15 00:19:15 +0000
commite576ab2996b5fa4facf2bf7e73cc4679cb17c133 (patch)
treebdcafd5e6a9f09adf5a3e9d3b7e92f9d693b939c /lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
parent91c08ad14a81cc40769442c19a23addfba28371e (diff)
downloadbcm5719-llvm-e576ab2996b5fa4facf2bf7e73cc4679cb17c133.tar.gz
bcm5719-llvm-e576ab2996b5fa4facf2bf7e73cc4679cb17c133.zip
All UnwindPlan objects are now passed around as shared pointers.
ArchDefaultUnwindPlan plug-in interfaces are now cached per architecture instead of being leaked for every frame. Split the ArchDefaultUnwindPlan_x86 into ArchDefaultUnwindPlan_x86_64 and ArchDefaultUnwindPlan_i386 interfaces. There were sporadic crashes that were due to something leaking or being destroyed when doing stack crawls. This patch should clear up these issues. llvm-svn: 125541
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp')
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
index 0e29f2f368f..873974f0a1d 100644
--- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
@@ -178,11 +178,12 @@ GDBRemoteRegisterContext::ReadRegisterValue (uint32_t reg, Scalar &value)
return false;
}
-void
+bool
GDBRemoteRegisterContext::PrivateSetRegisterValue (uint32_t reg, StringExtractor &response)
{
const RegisterInfo *reg_info = GetRegisterInfoAtIndex (reg);
- assert (reg_info);
+ if (reg_info == NULL)
+ return false;
// Invalidate if needed
InvalidateIfNeeded(false);
@@ -200,6 +201,7 @@ GDBRemoteRegisterContext::PrivateSetRegisterValue (uint32_t reg, StringExtractor
// leave it as it was.
m_reg_valid[reg] = false;
}
+ return success;
}
OpenPOWER on IntegriCloud