ARM: Disable C++ exception catching on Symbian.

This commit is contained in:
Mike Pall 2011-06-03 12:23:43 +02:00
parent 84e33332a7
commit 77bb8de93d
2 changed files with 5 additions and 5 deletions

View File

@ -191,7 +191,7 @@ void emit_asm(BuildCtx *ctx)
if (ctx->mode != BUILD_machasm) if (ctx->mode != BUILD_machasm)
fprintf(ctx->fp, ".Lbegin:\n"); fprintf(ctx->fp, ".Lbegin:\n");
#if LJ_TARGET_ARM && defined(__GNUC__) #if LJ_TARGET_ARM && defined(__GNUC__) && !defined(__symbian__)
/* This should really be moved into buildvm_arm.dasc. */ /* This should really be moved into buildvm_arm.dasc. */
fprintf(ctx->fp, fprintf(ctx->fp,
".fnstart\n" ".fnstart\n"
@ -227,7 +227,7 @@ void emit_asm(BuildCtx *ctx)
#endif #endif
} }
#if LJ_TARGET_ARM && defined(__GNUC__) #if LJ_TARGET_ARM && defined(__GNUC__) && !defined(__symbian__)
fprintf(ctx->fp, fprintf(ctx->fp,
".globl lj_err_unwind_arm\n" ".globl lj_err_unwind_arm\n"
".personality lj_err_unwind_arm\n" ".personality lj_err_unwind_arm\n"

View File

@ -531,7 +531,7 @@ static void *err_unwind(lua_State *L, void *stopcf, int errcode)
/* -- External frame unwinding -------------------------------------------- */ /* -- External frame unwinding -------------------------------------------- */
#if defined(__GNUC__) #if defined(__GNUC__) && !defined(__symbian__)
#ifdef __clang__ #ifdef __clang__
/* http://llvm.org/bugs/show_bug.cgi?id=8703 */ /* http://llvm.org/bugs/show_bug.cgi?id=8703 */
@ -540,13 +540,13 @@ static void *err_unwind(lua_State *L, void *stopcf, int errcode)
#include <unwind.h> #include <unwind.h>
#if !LJ_TARGET_ARM
#define LJ_UEXCLASS 0x4c55414a49543200ULL /* LUAJIT2\0 */ #define LJ_UEXCLASS 0x4c55414a49543200ULL /* LUAJIT2\0 */
#define LJ_UEXCLASS_MAKE(c) (LJ_UEXCLASS | (_Unwind_Exception_Class)(c)) #define LJ_UEXCLASS_MAKE(c) (LJ_UEXCLASS | (_Unwind_Exception_Class)(c))
#define LJ_UEXCLASS_CHECK(cl) (((cl) ^ LJ_UEXCLASS) <= 0xff) #define LJ_UEXCLASS_CHECK(cl) (((cl) ^ LJ_UEXCLASS) <= 0xff)
#define LJ_UEXCLASS_ERRCODE(cl) ((int)((cl) & 0xff)) #define LJ_UEXCLASS_ERRCODE(cl) ((int)((cl) & 0xff))
#if !LJ_TARGET_ARM
/* DWARF2 personality handler referenced from interpreter .eh_frame. */ /* DWARF2 personality handler referenced from interpreter .eh_frame. */
LJ_FUNCA int lj_err_unwind_dwarf(int version, _Unwind_Action actions, LJ_FUNCA int lj_err_unwind_dwarf(int version, _Unwind_Action actions,
_Unwind_Exception_Class uexclass, struct _Unwind_Exception *uex, _Unwind_Exception_Class uexclass, struct _Unwind_Exception *uex,