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;