Index: include/unwind.h =================================================================== --- include/unwind.h +++ include/unwind.h @@ -29,6 +29,32 @@ #define LIBUNWIND_UNAVAIL #endif +#if defined(__NetBSD__) +typedef long _Unwind_Word; +#else +typedef uintptr_t _Unwind_Word; +#endif +typedef intptr_t _Unwind_Sword; +typedef uintptr_t _Unwind_Internal_Ptr; +typedef uint64_t _Unwind_Exception_Class; + +typedef intptr_t _sleb128_t; +typedef uintptr_t _uleb128_t; + +#if _LIBUNWIND_ARM_EHABI +#if defined(__FreeBSD__) +typedef void *_Unwind_Ptr; +#elif defined(__linux__) +typedef unsigned long *_Unwind_Ptr; +#else +typedef uintptr_t _Unwind_Ptr; +#endif +#elif defined(__NetBSD__) +typedef void *_Unwind_Ptr; +#else +typedef uintptr_t _Unwind_Ptr; +#endif + typedef enum { _URC_NO_REASON = 0, _URC_OK = 0, @@ -111,7 +137,7 @@ _Unwind_Exception* exceptionObject, struct _Unwind_Context* context); -typedef _Unwind_Reason_Code (*__personality_routine) +typedef _Unwind_Reason_Code (*_Unwind_Personality_Fn) (_Unwind_State state, _Unwind_Exception* exceptionObject, struct _Unwind_Context* context); @@ -150,13 +176,14 @@ struct _Unwind_Context* context, void* stop_parameter ); -typedef _Unwind_Reason_Code (*__personality_routine) +typedef _Unwind_Reason_Code (*_Unwind_Personality_Fn) (int version, _Unwind_Action actions, uint64_t exceptionClass, _Unwind_Exception* exceptionObject, struct _Unwind_Context* context); #endif +typedef _Unwind_Personality_Fn __personality_routine; #ifdef __cplusplus extern "C" {