summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp
diff options
context:
space:
mode:
authorJason Molenda <jmolenda@apple.com>2014-01-03 22:06:25 +0000
committerJason Molenda <jmolenda@apple.com>2014-01-03 22:06:25 +0000
commit4b7924775044884c3669591890348b5f623f984d (patch)
treebc1fce4350aaf471ca0a011900c9a371cdf799e0 /lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp
parent81e5cd9e732f8052e13e08d3a199b18f0c29ed1a (diff)
downloadbcm5719-llvm-4b7924775044884c3669591890348b5f623f984d.tar.gz
bcm5719-llvm-4b7924775044884c3669591890348b5f623f984d.zip
Don't enforce ABI stack alignment rules on the sigtramp frame --
its stack frame is a constructed, fake thing that may not conform correctly to these rules. This fixes a problem where lldb couldn't backtrace past an asynchronous signal handler (_sigtramp) frame on a stack on Mac OS X. <rdar://problem/15035673> llvm-svn: 198450
Diffstat (limited to 'lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp')
-rw-r--r--lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp b/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp
index b258f7fede4..f5f499fd01a 100644
--- a/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp
+++ b/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp
@@ -949,6 +949,12 @@ RegisterContextLLDB::IsValid () const
return m_frame_type != eNotAValidFrame;
}
+bool
+RegisterContextLLDB::IsSigtrampFrame () const
+{
+ return m_frame_type == eSigtrampFrame;
+}
+
// A skip frame is a bogus frame on the stack -- but one where we're likely to find a real frame farther
// up the stack if we keep looking. It's always the second frame in an unwind (i.e. the first frame after
// frame zero) where unwinding can be the trickiest. Ideally we'll mark up this frame in some way so the
OpenPOWER on IntegriCloud