summaryrefslogtreecommitdiff
path: root/libgo/runtime
diff options
context:
space:
mode:
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2012-02-15 22:29:35 +0000
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2012-02-15 22:29:35 +0000
commit9f89fc14b517dd5af3dc205885b9e798ebbbf2cb (patch)
tree8479da6f747b3bcc95251ebeec9fd6caef172543 /libgo/runtime
parent3619a9e53146fa41ef55d870aa3d3ed2f0f55ea6 (diff)
downloadgcc-9f89fc14b517dd5af3dc205885b9e798ebbbf2cb.tar.gz
runtime: Support broken makecontext on Solaris 8/9.
From Rainer Orth. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@184289 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgo/runtime')
-rw-r--r--libgo/runtime/proc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libgo/runtime/proc.c b/libgo/runtime/proc.c
index 609920a5619..d7e1e5ff405 100644
--- a/libgo/runtime/proc.c
+++ b/libgo/runtime/proc.c
@@ -1316,6 +1316,9 @@ __go_go(void (*fn)(void*), void* arg)
getcontext(&newg->context);
newg->context.uc_stack.ss_sp = sp;
+#ifdef MAKECONTEXT_STACK_TOP
+ newg->context.uc_stack.ss_sp += spsize;
+#endif
newg->context.uc_stack.ss_size = spsize;
makecontext(&newg->context, kickoff, 0);