re PR go/77642 (GO Bootstrap fail starting with r239872 splitstack signature does...
authorIan Lance Taylor <ian@gcc.gnu.org>
Tue, 20 Sep 2016 16:48:19 +0000 (16:48 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Tue, 20 Sep 2016 16:48:19 +0000 (16:48 +0000)
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

gcc/go/gofrontend/MERGE
libgo/runtime/proc.c

index 987aef7a6ef0ffc5dbfb9eea0029d7c45d8d78d8..dbe86f673013a14b4780c0876b2b6327da3b7596 100644 (file)
@@ -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.
index 6ac8857338b6e82c8242fc6fa1a295b9975b9308..20db789ddb62d3834549fa0e2a3b7febe295801b 100644 (file)
@@ -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