summaryrefslogtreecommitdiff
path: root/src/Unwind/UnwindCursor.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Unwind/UnwindCursor.hpp')
-rw-r--r--src/Unwind/UnwindCursor.hpp18
1 files changed, 4 insertions, 14 deletions
diff --git a/src/Unwind/UnwindCursor.hpp b/src/Unwind/UnwindCursor.hpp
index 0350dfd..ccacd6e 100644
--- a/src/Unwind/UnwindCursor.hpp
+++ b/src/Unwind/UnwindCursor.hpp
@@ -31,6 +31,10 @@
#include "CompactUnwinder.hpp"
#include "config.h"
+#if LIBCXXABI_ARM_EHABI
+#include "Unwind-EHABI.h"
+#endif
+
namespace libunwind {
#if _LIBUNWIND_SUPPORT_DWARF_UNWIND
@@ -605,20 +609,6 @@ struct EHABIIndexEntry {
uint32_t data;
};
-// Unable to unwind in the ARM index table (section 5 EHABI).
-#define UNW_EXIDX_CANTUNWIND 0x1
-
-static inline uint32_t signExtendPrel31(uint32_t data) {
- return data | ((data & 0x40000000u) << 1);
-}
-
-extern "C" _Unwind_Reason_Code __aeabi_unwind_cpp_pr0(
- _Unwind_State state, _Unwind_Control_Block *ucbp, _Unwind_Context *context);
-extern "C" _Unwind_Reason_Code __aeabi_unwind_cpp_pr1(
- _Unwind_State state, _Unwind_Control_Block *ucbp, _Unwind_Context *context);
-extern "C" _Unwind_Reason_Code __aeabi_unwind_cpp_pr2(
- _Unwind_State state, _Unwind_Control_Block *ucbp, _Unwind_Context *context);
-
template<typename A>
struct EHABISectionIterator {
typedef EHABISectionIterator _Self;