summaryrefslogtreecommitdiff
path: root/src/unwind-arm.h
diff options
context:
space:
mode:
authorDavid Chisnall <dchisnall@pathscale.com>2011-11-24 20:03:52 +0000
committerDavid Chisnall <dchisnall@pathscale.com>2011-11-24 20:03:52 +0000
commit75ca8259acea380d867f136738e3835250ea0855 (patch)
tree9a3bb29ee4866c62ee5e0d784b81719751cbfb06 /src/unwind-arm.h
parentfa252d2522b4972ac2fdc376e4200db3234d9d3a (diff)
downloadlibcxxrt-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.h10
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)