runtime/cgo: enable arm64 EXC_BAD_ACCESS handler
Change-Id: I8e912ff9327a4163b63b8c628aa3546e86ddcc02
Reviewed-on: https://go-review.googlesource.com/8983
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
diff --git a/src/runtime/cgo/gcc_darwin_arm64.c b/src/runtime/cgo/gcc_darwin_arm64.c
index daf3d34..b64a063 100644
--- a/src/runtime/cgo/gcc_darwin_arm64.c
+++ b/src/runtime/cgo/gcc_darwin_arm64.c
@@ -86,6 +86,8 @@
ts = *(ThreadStart*)v;
free(v);
+ darwin_arm_init_thread_exception_port();
+
crosscall1(ts.fn, setg_gcc, (void*)ts.g);
return nil;
}
@@ -148,5 +150,8 @@
// yes, tlsbase from mrs might not be correctly aligned.
inittls(tlsg, (void**)((uintptr)tlsbase & ~7));
+ darwin_arm_init_mach_exception_handler();
+ darwin_arm_init_thread_exception_port();
+
init_working_dir();
}