]> Cypherpunks repositories - gostls13.git/commitdiff
runtime/cgo: enable arm64 EXC_BAD_ACCESS handler
authorDavid Crawshaw <crawshaw@golang.org>
Thu, 16 Apr 2015 17:39:16 +0000 (13:39 -0400)
committerDavid Crawshaw <crawshaw@golang.org>
Thu, 16 Apr 2015 18:00:57 +0000 (18:00 +0000)
Change-Id: I8e912ff9327a4163b63b8c628aa3546e86ddcc02
Reviewed-on: https://go-review.googlesource.com/8983
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
src/runtime/cgo/gcc_darwin_arm64.c

index daf3d34922485c9b2da9f752d6a7305f1f93e466..b64a063b982eb4464cf04e9f755c81fa6e7933e0 100644 (file)
@@ -86,6 +86,8 @@ threadentry(void *v)
        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 @@ x_cgo_init(G *g, void (*setg)(void*), void **tlsg, void **tlsbase)
        // 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();
 }