1 //===------------------------ libunwind_ext.h -----------------------------===//
3 // The LLVM Compiler Infrastructure
5 // This file is dual licensed under the MIT and the University of Illinois Open
6 // Source Licenses. See LICENSE.TXT for details.
9 // Extensions to libunwind API.
11 //===----------------------------------------------------------------------===//
13 #ifndef __LIBUNWIND_EXT__
14 #define __LIBUNWIND_EXT__
17 #include <libunwind.h>
20 #define UNW_STEP_SUCCESS 1
21 #define UNW_STEP_END 0
27 extern void unw_iterate_dwarf_unwind_cache(void (*func)(unw_word_t ip_start,
33 extern void _unw_add_dynamic_fde(unw_word_t fde);
34 extern void _unw_remove_dynamic_fde(unw_word_t fde);
36 #if defined(_LIBUNWIND_ARM_EHABI)
37 extern const uint32_t* decode_eht_entry(const uint32_t*, size_t*, size_t*);
38 extern _Unwind_Reason_Code _Unwind_VRS_Interpret(_Unwind_Context *context,
40 size_t offset, size_t len);
47 #endif // __LIBUNWIND_EXT__