aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pall <mike>2011-06-03 12:23:43 +0200
committerMike Pall <mike>2011-06-03 12:23:43 +0200
commit77bb8de93da29cc3b1a3fbc2f605f8b70841657b (patch)
tree60e083f70872cb9851774d086665897df63d5b09
parent84e33332a73ed978099754309abea03245a875bf (diff)
downloadluajit-77bb8de93da29cc3b1a3fbc2f605f8b70841657b.tar.gz
luajit-77bb8de93da29cc3b1a3fbc2f605f8b70841657b.tar.bz2
luajit-77bb8de93da29cc3b1a3fbc2f605f8b70841657b.zip
ARM: Disable C++ exception catching on Symbian.
-rw-r--r--src/buildvm_asm.c4
-rw-r--r--src/lj_err.c6
2 files changed, 5 insertions, 5 deletions
diff --git a/src/buildvm_asm.c b/src/buildvm_asm.c
index 35f413b9..49d6ffca 100644
--- a/src/buildvm_asm.c
+++ b/src/buildvm_asm.c
@@ -191,7 +191,7 @@ void emit_asm(BuildCtx *ctx)
191 if (ctx->mode != BUILD_machasm) 191 if (ctx->mode != BUILD_machasm)
192 fprintf(ctx->fp, ".Lbegin:\n"); 192 fprintf(ctx->fp, ".Lbegin:\n");
193 193
194#if LJ_TARGET_ARM && defined(__GNUC__) 194#if LJ_TARGET_ARM && defined(__GNUC__) && !defined(__symbian__)
195 /* This should really be moved into buildvm_arm.dasc. */ 195 /* This should really be moved into buildvm_arm.dasc. */
196 fprintf(ctx->fp, 196 fprintf(ctx->fp,
197 ".fnstart\n" 197 ".fnstart\n"
@@ -227,7 +227,7 @@ void emit_asm(BuildCtx *ctx)
227#endif 227#endif
228 } 228 }
229 229
230#if LJ_TARGET_ARM && defined(__GNUC__) 230#if LJ_TARGET_ARM && defined(__GNUC__) && !defined(__symbian__)
231 fprintf(ctx->fp, 231 fprintf(ctx->fp,
232 ".globl lj_err_unwind_arm\n" 232 ".globl lj_err_unwind_arm\n"
233 ".personality lj_err_unwind_arm\n" 233 ".personality lj_err_unwind_arm\n"
diff --git a/src/lj_err.c b/src/lj_err.c
index 11f0922f..61178805 100644
--- a/src/lj_err.c
+++ b/src/lj_err.c
@@ -531,7 +531,7 @@ static void *err_unwind(lua_State *L, void *stopcf, int errcode)
531 531
532/* -- External frame unwinding -------------------------------------------- */ 532/* -- External frame unwinding -------------------------------------------- */
533 533
534#if defined(__GNUC__) 534#if defined(__GNUC__) && !defined(__symbian__)
535 535
536#ifdef __clang__ 536#ifdef __clang__
537/* http://llvm.org/bugs/show_bug.cgi?id=8703 */ 537/* http://llvm.org/bugs/show_bug.cgi?id=8703 */
@@ -540,13 +540,13 @@ static void *err_unwind(lua_State *L, void *stopcf, int errcode)
540 540
541#include <unwind.h> 541#include <unwind.h>
542 542
543#if !LJ_TARGET_ARM
544
543#define LJ_UEXCLASS 0x4c55414a49543200ULL /* LUAJIT2\0 */ 545#define LJ_UEXCLASS 0x4c55414a49543200ULL /* LUAJIT2\0 */
544#define LJ_UEXCLASS_MAKE(c) (LJ_UEXCLASS | (_Unwind_Exception_Class)(c)) 546#define LJ_UEXCLASS_MAKE(c) (LJ_UEXCLASS | (_Unwind_Exception_Class)(c))
545#define LJ_UEXCLASS_CHECK(cl) (((cl) ^ LJ_UEXCLASS) <= 0xff) 547#define LJ_UEXCLASS_CHECK(cl) (((cl) ^ LJ_UEXCLASS) <= 0xff)
546#define LJ_UEXCLASS_ERRCODE(cl) ((int)((cl) & 0xff)) 548#define LJ_UEXCLASS_ERRCODE(cl) ((int)((cl) & 0xff))
547 549
548#if !LJ_TARGET_ARM
549
550/* DWARF2 personality handler referenced from interpreter .eh_frame. */ 550/* DWARF2 personality handler referenced from interpreter .eh_frame. */
551LJ_FUNCA int lj_err_unwind_dwarf(int version, _Unwind_Action actions, 551LJ_FUNCA int lj_err_unwind_dwarf(int version, _Unwind_Action actions,
552 _Unwind_Exception_Class uexclass, struct _Unwind_Exception *uex, 552 _Unwind_Exception_Class uexclass, struct _Unwind_Exception *uex,