summaryrefslogtreecommitdiff
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)
downloadluajit2-1abd779907d429fc24c2d7787ba128d8b39c592f.tar.gz
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 @@
#define LJ_NO_SYSTEM 1
#endif
+#if !defined(LUAJIT_NO_UNWIND) && __GNU_COMPACT_EH__
+/* NYI: no support for compact unwind specification, yet. */
+#define LUAJIT_NO_UNWIND 1
+#endif
+
#if defined(LUAJIT_NO_UNWIND) || defined(__symbian__) || LJ_TARGET_IOS || LJ_TARGET_PS3 || LJ_TARGET_PS4
#define LJ_NO_UNWIND 1
#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)
"\t.align 2\n"
".LEFDE1:\n\n", (int)ctx->codesz - fcofs);
#endif
+#if !LJ_NO_UNWIND
fprintf(ctx->fp, "\t.section .eh_frame,\"aw\",@progbits\n");
fprintf(ctx->fp,
"\t.globl lj_err_unwind_dwarf\n"
@@ -4238,6 +4239,7 @@ static void emit_asm_debug(BuildCtx *ctx)
"\t.align 2\n"
".LEFDE3:\n\n", (int)ctx->codesz - fcofs);
#endif
+#endif
break;
default:
break;