瀏覽代碼

OSX/ARM64: Disable external unwinding for now.

This reduces functionality, e.g. no handling of on-trace errors.
Someone with very deep knowledge about macOS and MACH-O/DWARF stack
unwinding internals is needed to fix this. See issue #698.
Mike Pall 4 年之前
父節點
當前提交
27ee3bcd79
共有 1 個文件被更改,包括 4 次插入1 次删除
  1. 4 1
      src/Makefile

+ 4 - 1
src/Makefile

@@ -320,7 +320,10 @@ ifeq (Darwin,$(TARGET_SYS))
     $(error missing: export MACOSX_DEPLOYMENT_TARGET=XX.YY)
   endif
   TARGET_STRIP+= -x
-  TARGET_XCFLAGS+= -DLUAJIT_UNWIND_EXTERNAL
+  # Ext. unwinding is broken on OSX/ARM64 until someone finds a fix. See #698.
+  ifneq (arm64,$(TARGET_LJARCH))
+    TARGET_XCFLAGS+= -DLUAJIT_UNWIND_EXTERNAL
+  endif
   TARGET_XSHLDFLAGS= -dynamiclib -single_module -undefined dynamic_lookup -fPIC
   TARGET_DYNXLDOPTS=
   TARGET_XSHLDFLAGS+= -install_name $(TARGET_DYLIBPATH) -compatibility_version $(MAJVER).$(MINVER) -current_version $(MAJVER).$(MINVER).$(RELVER)