diff options
author | Jason Molenda <jmolenda@apple.com> | 2014-01-03 22:06:25 +0000 |
---|---|---|
committer | Jason Molenda <jmolenda@apple.com> | 2014-01-03 22:06:25 +0000 |
commit | 4b7924775044884c3669591890348b5f623f984d (patch) | |
tree | bc1fce4350aaf471ca0a011900c9a371cdf799e0 /lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp | |
parent | 81e5cd9e732f8052e13e08d3a199b18f0c29ed1a (diff) | |
download | bcm5719-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.cpp | 6 |
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 |