]> Cypherpunks repositories - gostls13.git/commit
runtime: run sighandler on g0 stack on windows
authorRuss Cox <rsc@golang.org>
Mon, 8 Sep 2014 20:56:46 +0000 (16:56 -0400)
committerRuss Cox <rsc@golang.org>
Mon, 8 Sep 2014 20:56:46 +0000 (16:56 -0400)
commit201cfe4afb657fec7bc9535ff0e2312be762c2ca
tree31122b6e55f96a6038e3057e8ef251ae8e911d8a
parent3a3d47db370805205181da8f96ebf79c3507e953
runtime: run sighandler on g0 stack on windows

The sighander has been run at the bottom of the
currently executing goroutine stack, but it's in C,
and we don't want C on our ordinary goroutine stacks.
Worse, it does a lot of stuff, and it might need more
stack space. There is scary code in traceback_windows.go
that talks about stack splits during sighandler.
Moving sighandler to g0 will eliminate the possibility
of stack splits and such, and then we can delete
traceback_windows.go entirely. Win win.

On the builder, all.bat passes with GOARCH=amd64
and all.bat gets most of the way with GOARCH=386
except for a DLL-loading test that I think is unrelated.

Fixes windows build.

TBR=brainman, iant
CC=golang-codereviews
https://golang.org/cl/140380043
src/runtime/sys_windows_386.s
src/runtime/sys_windows_amd64.s