aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pall <mike>2017-02-20 02:29:42 +0100
committerMike Pall <mike>2017-02-20 02:29:42 +0100
commit1abd779907d429fc24c2d7787ba128d8b39c592f (patch)
treefb5f4117359417c29242f72ff030b081077661c3
parentb93a1dd0c831cab22f98163d0dde792a493c0eef (diff)
downloadluajit-1abd779907d429fc24c2d7787ba128d8b39c592f.tar.gz
luajit-1abd779907d429fc24c2d7787ba128d8b39c592f.tar.bz2
luajit-1abd779907d429fc24c2d7787ba128d8b39c592f.zip
MIPS: Backport workaround for compact unwind tables.
-rw-r--r--src/lj_arch.h5
-rw-r--r--src/vm_mips.dasc2
2 files changed, 7 insertions, 0 deletions
diff --git a/src/lj_arch.h b/src/lj_arch.h
index f0ad9b21..e04c4ee9 100644
--- a/src/lj_arch.h
+++ b/src/lj_arch.h
@@ -433,6 +433,11 @@
433#define LJ_NO_SYSTEM 1 433#define LJ_NO_SYSTEM 1
434#endif 434#endif
435 435
436#if !defined(LUAJIT_NO_UNWIND) && __GNU_COMPACT_EH__
437/* NYI: no support for compact unwind specification, yet. */
438#define LUAJIT_NO_UNWIND 1
439#endif
440
436#if defined(LUAJIT_NO_UNWIND) || defined(__symbian__) || LJ_TARGET_IOS || LJ_TARGET_PS3 || LJ_TARGET_PS4 441#if defined(LUAJIT_NO_UNWIND) || defined(__symbian__) || LJ_TARGET_IOS || LJ_TARGET_PS3 || LJ_TARGET_PS4
437#define LJ_NO_UNWIND 1 442#define LJ_NO_UNWIND 1
438#endif 443#endif
diff --git a/src/vm_mips.dasc b/src/vm_mips.dasc
index 7feb02d5..3f9c98c1 100644
--- a/src/vm_mips.dasc
+++ b/src/vm_mips.dasc
@@ -4170,6 +4170,7 @@ static void emit_asm_debug(BuildCtx *ctx)
4170 "\t.align 2\n" 4170 "\t.align 2\n"
4171 ".LEFDE1:\n\n", (int)ctx->codesz - fcofs); 4171 ".LEFDE1:\n\n", (int)ctx->codesz - fcofs);
4172#endif 4172#endif
4173#if !LJ_NO_UNWIND
4173 fprintf(ctx->fp, "\t.section .eh_frame,\"aw\",@progbits\n"); 4174 fprintf(ctx->fp, "\t.section .eh_frame,\"aw\",@progbits\n");
4174 fprintf(ctx->fp, 4175 fprintf(ctx->fp,
4175 "\t.globl lj_err_unwind_dwarf\n" 4176 "\t.globl lj_err_unwind_dwarf\n"
@@ -4238,6 +4239,7 @@ static void emit_asm_debug(BuildCtx *ctx)
4238 "\t.align 2\n" 4239 "\t.align 2\n"
4239 ".LEFDE3:\n\n", (int)ctx->codesz - fcofs); 4240 ".LEFDE3:\n\n", (int)ctx->codesz - fcofs);
4240#endif 4241#endif
4242#endif
4241 break; 4243 break;
4242 default: 4244 default:
4243 break; 4245 break;