From: Ian Lance Taylor Date: Fri, 10 Feb 2012 15:55:37 +0000 (+0000) Subject: runtime: For g0 set stack_size to 0 when not -fsplit-stack. X-Git-Tag: releases/gcc-4.7.0~471 X-Git-Url: https://gcc.gnu.org/git/?a=commitdiff_plain;h=d3229873aea34e4768d45cfa6a5ef50323fdf3fe;p=gcc.git runtime: For g0 set stack_size to 0 when not -fsplit-stack. From-SVN: r184099 --- diff --git a/libgo/runtime/proc.c b/libgo/runtime/proc.c index 42a5779bc992..94c2a51730e9 100644 --- a/libgo/runtime/proc.c +++ b/libgo/runtime/proc.c @@ -909,7 +909,9 @@ runtime_mstart(void* mp) __splitstack_getcontext(&g->stack_context[0]); #else g->gcinitial_sp = ∓ - g->gcstack_size = StackMin; + // Setting gcstack_size to 0 is a marker meaning that gcinitial_sp + // is the top of the stack, not the bottom. + g->gcstack_size = 0; g->gcnext_sp = ∓ #endif getcontext(&g->context); @@ -1267,6 +1269,8 @@ __go_go(void (*fn)(void*), void* arg) #else sp = newg->gcinitial_sp; spsize = newg->gcstack_size; + if(spsize == 0) + runtime_throw("bad spsize in __go_go"); newg->gcnext_sp = sp; #endif } else {