On Thu, Jun 22, 2017 at 11:09 AM, Rainer Orth <r...@cebitec.uni-bielefeld.de> wrote: > >> Because of how gccgo implements cgo calls, the code in dropm may not >> have any write barriers. As a step toward implementing that, change >> the gcstack, gcnextsegment, and gcnextsp fields of the g struct to >> uintptr, so that assignments to them do not require write barriers. >> The gcinitialsp field remains unsafe.Pointer, as on 32-bit systems >> that do not support split stack it points to a heap allocated space >> used for the goroutine stack. >> >> The test for this is runtime tests like TestCgoCallbackGC, which are >> not run today but will be run with a future gotools patch. >> >> Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed >> to mainline. > > this patch broke bootstrap on non-split-stack targets like Solaris: > > /vol/gcc/src/hg/trunk/local/libgo/runtime/proc.c: In function > âdoentersyscallblockâ: > /vol/gcc/src/hg/trunk/local/libgo/runtime/proc.c:681:15: error: assignment > makes integer from pointer without a cast [-Werror=int-conversion] > g->gcnextsp = (byte *) &v; > ^ > > The patch below allowed sparc-sun-solaris2.12 and i386-pc-solaris2.12 > builds to finish.
Sorry, I thought I caught all of those. Patch committed. Thanks. Ian