OSDN Git Service
(root)
/
pf3gnuchains
/
gcc-fork.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
2ee9794
)
runtime: For g0 set stack_size to 0 when not -fsplit-stack.
author
ian
<ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 10 Feb 2012 15:55:37 +0000
(15:55 +0000)
committer
ian
<ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 10 Feb 2012 15:55:37 +0000
(15:55 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@184099
138bc75d
-0d04-0410-961f-
82ee72b054a4
libgo/runtime/proc.c
patch
|
blob
|
history
diff --git
a/libgo/runtime/proc.c
b/libgo/runtime/proc.c
index
42a5779
..
94c2a51
100644
(file)
--- 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 {