sjlj based personality requires a different name
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@103330 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/gcc_personality_v0.c b/lib/gcc_personality_v0.c
index 16534b9..5940190 100644
--- a/lib/gcc_personality_v0.c
+++ b/lib/gcc_personality_v0.c
@@ -184,10 +184,16 @@
* on each frame as the stack is unwound during a C++ exception
* throw through a C function compiled with -fexceptions.
*/
-
+#if __arm__
+// the setjump-longjump based exceptions personality routine has a different name
+_Unwind_Reason_Code __gcc_personality_sj0(int version, _Unwind_Action actions,
+ uint64_t exceptionClass, struct _Unwind_Exception* exceptionObject,
+ _Unwind_Context_t context)
+#else
_Unwind_Reason_Code __gcc_personality_v0(int version, _Unwind_Action actions,
uint64_t exceptionClass, struct _Unwind_Exception* exceptionObject,
_Unwind_Context_t context)
+#endif
{
/* Since C does not have catch clauses, there is nothing to do during */
/* phase 1 (the search phase). */