diff options
author | David Chisnall <dchisnall@pathscale.com> | 2011-11-24 20:03:52 +0000 |
---|---|---|
committer | David Chisnall <dchisnall@pathscale.com> | 2011-11-24 20:03:52 +0000 |
commit | 75ca8259acea380d867f136738e3835250ea0855 (patch) | |
tree | 9a3bb29ee4866c62ee5e0d784b81719751cbfb06 /src/unwind-arm.h | |
parent | fa252d2522b4972ac2fdc376e4200db3234d9d3a (diff) | |
download | libcxxrt-75ca8259acea380d867f136738e3835250ea0855.tar.gz libcxxrt-75ca8259acea380d867f136738e3835250ea0855.tar.bz2 libcxxrt-75ca8259acea380d867f136738e3835250ea0855.tar.xz |
Mostly-working ARM exceptions.
Exception specifications are still broken - only the first is checked.
Diffstat (limited to 'src/unwind-arm.h')
-rw-r--r-- | src/unwind-arm.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/unwind-arm.h b/src/unwind-arm.h index e041cbf..f9ed429 100644 --- a/src/unwind-arm.h +++ b/src/unwind-arm.h @@ -116,6 +116,12 @@ extern unsigned long _Unwind_GetDataRelBase(struct _Unwind_Context *); extern unsigned long _Unwind_GetTextRelBase(struct _Unwind_Context *); extern unsigned long _Unwind_GetRegionStart(struct _Unwind_Context *); +typedef _Unwind_Reason_Code (*_Unwind_Trace_Fn) (struct _Unwind_Context *, + void *); +extern _Unwind_Reason_Code _Unwind_Backtrace (_Unwind_Trace_Fn, void *); +extern _Unwind_Reason_Code + _Unwind_Resume_or_Rethrow (struct _Unwind_Exception *); + /** * The next set of functions are compatibility extensions, implementing Itanium * ABI functions on top of ARM ones. @@ -164,8 +170,6 @@ _Unwind_Reason_Code name(_Unwind_State state,\ struct _Unwind_Exception *exceptionObject,\ struct _Unwind_Context *context)\ {\ - fprintf(stderr, "LSDA: %p\n", (void*)_Unwind_GetLanguageSpecificData(context));\ - fprintf(stderr, "IP: %p\n", (void*)_Unwind_GetIP(context));\ int version = 1;\ uint64_t exceptionClass = exceptionObject->exception_class;\ int actions;\ @@ -192,6 +196,6 @@ _Unwind_Reason_Code name(_Unwind_State state,\ break;\ }\ }\ - _Unwind_SetGR (context, 12, (unsigned long)exceptionObject); + _Unwind_SetGR (context, 12, (unsigned long)exceptionObject);\ #define CALL_PERSONALITY_FUNCTION(name) name(state,exceptionObject,context) |