diff options
author | Jason Molenda <jmolenda@apple.com> | 2015-01-13 06:07:07 +0000 |
---|---|---|
committer | Jason Molenda <jmolenda@apple.com> | 2015-01-13 06:07:07 +0000 |
commit | 91805e6f5647f3270066d496aa3ee9c14b05d0d6 (patch) | |
tree | 27331bbcb5e299f0bc84512fa41393b814fc49b7 /lldb/source/Utility/RegisterNumber.cpp | |
parent | 34549b8f75e3a772d8a99011452de1de7e4cceb6 (diff) | |
download | bcm5719-llvm-91805e6f5647f3270066d496aa3ee9c14b05d0d6.tar.gz bcm5719-llvm-91805e6f5647f3270066d496aa3ee9c14b05d0d6.zip |
Add an additional check to UnwindAssembly_x86::AugmentUnwindPlanFromCallSite
which will verify if the eh_frame instructions include details about
the prologue or not. Both clang and gcc include prologue instructions
but there's no requirement for them to do so -- and I'm sure we'll
have to interoperate with a compiler that doesn't generate prologue
info at some point.
I don't have any compilers that omit the prologue instructions so the
testing was of the "makre sure augmented unwind info is still created".
With an eh_frame without prologue, this code should reject the
augmentation scheme altogether and we should fall back to using assembly
instruction profiling.
llvm-svn: 225771
Diffstat (limited to 'lldb/source/Utility/RegisterNumber.cpp')
-rw-r--r-- | lldb/source/Utility/RegisterNumber.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lldb/source/Utility/RegisterNumber.cpp b/lldb/source/Utility/RegisterNumber.cpp index ba9afed4784..8116cda10fe 100644 --- a/lldb/source/Utility/RegisterNumber.cpp +++ b/lldb/source/Utility/RegisterNumber.cpp @@ -101,6 +101,12 @@ RegisterNumber::operator == (RegisterNumber &rhs) } bool +RegisterNumber::operator != (RegisterNumber &rhs) +{ + return !(*this == rhs); +} + +bool RegisterNumber::IsValid () const { return m_reg_ctx_sp.get() |