This libgo patch uncomments a check. Now that systemstack changes to the g0 stack, the check passes. 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 249577) +++ gcc/go/gofrontend/MERGE (working copy) @@ -1,4 +1,4 @@ -c5aa42107d116c9121de447d214297c88dd9f5fa +385efb8947af70b8425c833a1ab68ba5f357dfae The first line of this file holds the git revision number of the last merge done from the gofrontend repository. Index: libgo/go/runtime/mgc.go =================================================================== --- libgo/go/runtime/mgc.go (revision 249565) +++ libgo/go/runtime/mgc.go (working copy) @@ -1923,10 +1923,9 @@ func gchelperstart() { if _g_.m.helpgc < 0 || _g_.m.helpgc >= _MaxGcproc { throw("gchelperstart: bad m->helpgc") } - // For gccgo we run gchelper on the normal g stack. - // if _g_ != _g_.m.g0 { - // throw("gchelper not running on g0 stack") - // } + if _g_ != _g_.m.g0 { + throw("gchelper not running on g0 stack") + } } // itoaDiv formats val/(10**dec) into buf.