In PR 69511 Dominik Vogt sent in this patch to change the gcstack_size
field of the G struct from uintptr to size_t.  This is because the
address of the field is passed to __splitstack_find, which takes an
argument of type size_t*.  Bootstrapped and ran Go testsuite on
x86_64-pc-linux-gnu.  Committed to mainline.

Ian
Index: gcc/go/gofrontend/MERGE
===================================================================
--- gcc/go/gofrontend/MERGE     (revision 233235)
+++ gcc/go/gofrontend/MERGE     (working copy)
@@ -1,4 +1,4 @@
-2ef5f1ca449b5cf07dbbd7b13a50910fb5567372
+4cec4c5db5b054c5536ec5c50ee7aebec83563bc
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
Index: libgo/runtime/proc.c
===================================================================
--- libgo/runtime/proc.c        (revision 232239)
+++ libgo/runtime/proc.c        (working copy)
@@ -2267,7 +2267,7 @@ runtime_malg(int32 stacksize, byte** ret
                }
                *ret_stacksize = stacksize;
                newg->gcinitial_sp = *ret_stack;
-               newg->gcstack_size = stacksize;
+               newg->gcstack_size = (size_t)stacksize;
 #endif
        }
        return newg;
Index: libgo/runtime/runtime.h
===================================================================
--- libgo/runtime/runtime.h     (revision 233235)
+++ libgo/runtime/runtime.h     (working copy)
@@ -200,7 +200,7 @@ struct      G
        void*   exception;      // current exception being thrown
        bool    is_foreign;     // whether current exception from other language
        void    *gcstack;       // if status==Gsyscall, gcstack = stackbase to 
use during gc
-       uintptr gcstack_size;
+       size_t  gcstack_size;
        void*   gcnext_segment;
        void*   gcnext_sp;
        void*   gcinitial_sp;

Reply via email to