diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2016-09-20 16:48:19 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2016-09-20 16:48:19 +0000 |
commit | b276eda4b4e09dc1b8b265a30b41e1493abc3031 (patch) | |
tree | 447913c9a5f661ee74180210cd9cb26acd1fd0b5 | |
parent | c79222478d2eb0ba4bdfbdcdaa1569dcbb72a8e3 (diff) | |
download | gcc-b276eda4b4e09dc1b8b265a30b41e1493abc3031.zip gcc-b276eda4b4e09dc1b8b265a30b41e1493abc3031.tar.gz gcc-b276eda4b4e09dc1b8b265a30b41e1493abc3031.tar.bz2 |
re PR go/77642 (GO Bootstrap fail starting with r239872 splitstack signature does not match)
PR go/77642
runtime: pass correct type to __splitstack_find
The code was passing uintptr* to a function that expected size_t*.
Based on patch by Andreas Krebbel.
Fixes GCC PR 77642.
Reviewed-on: https://go-review.googlesource.com/29433
From-SVN: r240275
-rw-r--r-- | gcc/go/gofrontend/MERGE | 2 | ||||
-rw-r--r-- | libgo/runtime/proc.c | 20 |
2 files changed, 15 insertions, 7 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index 987aef7..dbe86f6 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -b34c93bf00ec4f2ad043ec89ff96989e0d1b26aa +80720773ac1a3433b7de59ffa5c04744123247c3 The first line of this file holds the git revision number of the last merge done from the gofrontend repository. diff --git a/libgo/runtime/proc.c b/libgo/runtime/proc.c index 6ac8857..20db789 100644 --- a/libgo/runtime/proc.c +++ b/libgo/runtime/proc.c @@ -2052,9 +2052,13 @@ doentersyscall() // Leave SP around for GC and traceback. #ifdef USING_SPLIT_STACK - g->gcstack = __splitstack_find(nil, nil, &g->gcstacksize, - &g->gcnextsegment, &g->gcnextsp, - &g->gcinitialsp); + { + size_t gcstacksize; + g->gcstack = __splitstack_find(nil, nil, &gcstacksize, + &g->gcnextsegment, &g->gcnextsp, + &g->gcinitialsp); + g->gcstacksize = (uintptr)gcstacksize; + } #else { void *v; @@ -2099,9 +2103,13 @@ runtime_entersyscallblock(void) // Leave SP around for GC and traceback. #ifdef USING_SPLIT_STACK - g->gcstack = __splitstack_find(nil, nil, &g->gcstacksize, - &g->gcnextsegment, &g->gcnextsp, - &g->gcinitialsp); + { + size_t gcstacksize; + g->gcstack = __splitstack_find(nil, nil, &gcstacksize, + &g->gcnextsegment, &g->gcnextsp, + &g->gcinitialsp); + g->gcstacksize = (uintptr)gcstacksize; + } #else g->gcnextsp = (byte *) &p; #endif |