aboutsummaryrefslogtreecommitdiff
path: root/libgo
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2019-07-23 18:28:05 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2019-07-23 18:28:05 +0000
commit7731e84e7ec203bea2bf07a273354b78ff853ba0 (patch)
tree0ca33f701cbac984f561bacd9fef3701d8c76eda /libgo
parent0baa9d1d59bf17177e80838ebe66df10a7a909c0 (diff)
parent40768ee0bc9965d109692f884f8588626e01e3fe (diff)
downloadgcc-7731e84e7ec203bea2bf07a273354b78ff853ba0.zip
gcc-7731e84e7ec203bea2bf07a273354b78ff853ba0.tar.gz
gcc-7731e84e7ec203bea2bf07a273354b78ff853ba0.tar.bz2
Merge from trunk revision 273743.
From-SVN: r273744
Diffstat (limited to 'libgo')
-rw-r--r--libgo/go/runtime/chan.go3
-rw-r--r--libgo/go/runtime/select.go1
-rw-r--r--libgo/runtime/proc.c4
3 files changed, 6 insertions, 2 deletions
diff --git a/libgo/go/runtime/chan.go b/libgo/go/runtime/chan.go
index 6dfe2f3..6c8d6f7 100644
--- a/libgo/go/runtime/chan.go
+++ b/libgo/go/runtime/chan.go
@@ -32,6 +32,9 @@ import (
//go:linkname chanrecv1 runtime.chanrecv1
//go:linkname chanrecv2 runtime.chanrecv2
//go:linkname closechan runtime.closechan
+//go:linkname selectnbsend runtime.selectnbsend
+//go:linkname selectnbrecv runtime.selectnbrecv
+//go:linkname selectnbrecv2 runtime.selectnbrecv2
const (
maxAlign = 8
diff --git a/libgo/go/runtime/select.go b/libgo/go/runtime/select.go
index d658a34..16de9b8 100644
--- a/libgo/go/runtime/select.go
+++ b/libgo/go/runtime/select.go
@@ -14,6 +14,7 @@ import (
// themselves, so that the compiler will export them.
//
//go:linkname selectgo runtime.selectgo
+//go:linkname block runtime.block
const debugSelect = false
diff --git a/libgo/runtime/proc.c b/libgo/runtime/proc.c
index 26125cc..523dfd9 100644
--- a/libgo/runtime/proc.c
+++ b/libgo/runtime/proc.c
@@ -65,7 +65,7 @@ static void gscanstack(G*);
#define __thread
#endif
-static __thread G *g;
+__thread G *g __asm__(GOSYM_PREFIX "runtime.g");
#ifndef SETCONTEXT_CLOBBERS_TLS
@@ -320,7 +320,7 @@ runtime_mcall(FuncVal *fv)
if(gp != nil) {
#ifdef USING_SPLIT_STACK
- __splitstack_getcontext((void*)(&g->stackcontext[0]));
+ __splitstack_getcontext((void*)(&gp->stackcontext[0]));
#else
// We have to point to an address on the stack that is
// below the saved registers.