mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-07 23:24:09 +00:00
ARM: Disable C++ exception catching on Symbian.
This commit is contained in:
parent
84e33332a7
commit
77bb8de93d
@ -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"
|
||||||
|
@ -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,
|
||||||
|
Loading…
Reference in New Issue
Block a user