From 3ffec0a4fb91d35aac2673ac5e1dcb2f1e304e6e Mon Sep 17 00:00:00 2001 From: theraven Date: Sun, 15 Nov 2009 02:25:28 +0000 Subject: [PATCH] Added missing declarations of exception-handling functions (from ABI spec). --- unwind-pe.h | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/unwind-pe.h b/unwind-pe.h index 34fc845..fab3b0a 100644 --- a/unwind-pe.h +++ b/unwind-pe.h @@ -83,6 +83,16 @@ typedef enum { typedef unsigned _Unwind_Word __attribute__((__mode__(__word__))); typedef signed _Unwind_Sword __attribute__((__mode__(__word__))); +struct _Unwind_Context; + +uintptr_t _Unwind_GetIP(struct _Unwind_Context *context); +void _Unwind_SetIP(struct _Unwind_Context *context, uintptr_t); +uintptr_t _Unwind_GetLanguageSpecificData(struct _Unwind_Context *context); +uintptr_t _Unwind_GetRegionStart(struct _Unwind_Context *context); + + + + typedef void (*_Unwind_Exception_Cleanup_Fn)(_Unwind_Reason_Code reason, void *exc); @@ -93,6 +103,11 @@ struct _Unwind_Exception { uint64_t private_1; uint64_t private_2; }; +_Unwind_Reason_Code _Unwind_RaiseException + ( struct _Unwind_Exception *exception_object ); +void _Unwind_DeleteException(struct _Unwind_Exception *object); +void _Unwind_SetGR(struct _Unwind_Context *context, int index, unsigned value); + #define _UA_SEARCH_PHASE 1 #define _UA_CLEANUP_PHASE 2 @@ -135,7 +150,10 @@ size_of_encoded_value (unsigned char encoding) #ifndef NO_BASE_OF_ENCODED_VALUE -struct _Unwind_Context; + +_Unwind_Ptr _Unwind_GetTextRelBase(struct _Unwind_Context *context); +_Unwind_Ptr _Unwind_GetDataRelBase(struct _Unwind_Context *context); +_Unwind_Ptr _Unwind_GetRegionStart(struct _Unwind_Context *context); /* Given an encoding and an _Unwind_Context, return the base to which the encoding is relative. This base may then be passed to