diff options
author | Mike Pall <mike> | 2011-06-03 12:23:43 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2011-06-03 12:23:43 +0200 |
commit | 77bb8de93da29cc3b1a3fbc2f605f8b70841657b (patch) | |
tree | 60e083f70872cb9851774d086665897df63d5b09 | |
parent | 84e33332a73ed978099754309abea03245a875bf (diff) | |
download | luajit-77bb8de93da29cc3b1a3fbc2f605f8b70841657b.tar.gz luajit-77bb8de93da29cc3b1a3fbc2f605f8b70841657b.tar.bz2 luajit-77bb8de93da29cc3b1a3fbc2f605f8b70841657b.zip |
ARM: Disable C++ exception catching on Symbian.
-rw-r--r-- | src/buildvm_asm.c | 4 | ||||
-rw-r--r-- | src/lj_err.c | 6 |
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. */ |
551 | LJ_FUNCA int lj_err_unwind_dwarf(int version, _Unwind_Action actions, | 551 | LJ_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, |