aboutsummaryrefslogtreecommitdiff
path: root/src/runtime
diff options
context:
space:
mode:
authorSrdjan Petrovic <spetrovic@google.com>2015-04-10 17:23:00 -0700
committerDavid Crawshaw <crawshaw@golang.org>2015-04-13 17:21:04 +0000
commita888fcf7a792bdf0c456dd95ac509fc65f4d7b21 (patch)
tree010e1360affc16ea7f22c2d1fe536d61af4b89f8 /src/runtime
parent4af5dcb2db977ea3c2e2218be7912951b3a44113 (diff)
downloadgo-a888fcf7a792bdf0c456dd95ac509fc65f4d7b21.tar.xz
runtime: remove runtime wait/notify from ppc64x architectures.
Related to issue #10410 For some reason, any non-trivial code in _cgo_wait_runtime_init_done (even fprintf()) will crash that call. If anybody has any guess why this is happening, please let me know! For now, I'm clearing the functions for ppc64, as it's currently not used. Change-Id: I1b11383aaf4f9f9a16f1fd6606842cfeedc9f0b3 Reviewed-on: https://go-review.googlesource.com/8766 Reviewed-by: David Crawshaw <crawshaw@golang.org> Run-TryBot: Srdjan Petrovic <spetrovic@google.com>
Diffstat (limited to 'src/runtime')
-rw-r--r--src/runtime/cgo/gcc_libinit.c1
-rw-r--r--src/runtime/cgo/gcc_libinit_linux_ppc64x.c26
2 files changed, 27 insertions, 0 deletions
diff --git a/src/runtime/cgo/gcc_libinit.c b/src/runtime/cgo/gcc_libinit.c
index 1126e1b596..95a18a8bb6 100644
--- a/src/runtime/cgo/gcc_libinit.c
+++ b/src/runtime/cgo/gcc_libinit.c
@@ -3,6 +3,7 @@
// license that can be found in the LICENSE file.
// +build darwin dragonfly freebsd linux netbsd
+// +build !ppc64,!ppc64le
#include <pthread.h>
#include <stdio.h>
diff --git a/src/runtime/cgo/gcc_libinit_linux_ppc64x.c b/src/runtime/cgo/gcc_libinit_linux_ppc64x.c
new file mode 100644
index 0000000000..82413a5a65
--- /dev/null
+++ b/src/runtime/cgo/gcc_libinit_linux_ppc64x.c
@@ -0,0 +1,26 @@
+// Copyright 2015 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// TODO: see issue #10410
+// +build linux
+// +build ppc64 ppc64le
+
+#include <stdio.h>
+#include <stdlib.h>
+
+void
+x_cgo_sys_thread_create(void* (*func)(void*), void* arg) {
+ fprintf(stderr, "x_cgo_sys_thread_create not implemented");
+ abort();
+}
+
+void
+_cgo_wait_runtime_init_done() {
+ // TODO(spetrovic): implement this method.
+}
+
+void
+x_cgo_notify_runtime_init_done(void* dummy) {
+ // TODO(spetrovic): implement this method.
+} \ No newline at end of file