From: Russ Cox Date: Fri, 7 Mar 2014 19:19:05 +0000 (-0500) Subject: runtime: fix windows/386 build X-Git-Tag: go1.3beta1~424 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=02903f8395c4d62c0e07f5ed114252635b29e92f;p=gostls13.git runtime: fix windows/386 build From the trace it appears that stackalloc is being called with 0x1800 which is 6k = 4k + (StackSystem=2k). Make StackSystem 4k too, to make stackalloc happy. It's already 4k on windows/amd64. TBR=khr CC=golang-codereviews https://golang.org/cl/72600043 --- diff --git a/src/pkg/runtime/stack.h b/src/pkg/runtime/stack.h index df965e1587..f2e4e43198 100644 --- a/src/pkg/runtime/stack.h +++ b/src/pkg/runtime/stack.h @@ -57,13 +57,15 @@ enum { // to each stack below the usual guard area for OS-specific // purposes like signal handling. Used on Windows and on // Plan 9 because they do not use a separate stack. + // The new stack code requires stacks to be a power of two, + // and the default start size is 4k, so make StackSystem also 4k + // to keep the sum a power of two. StackSystem used to be + // 512*sizeof(uintptr) on Windows and 512 bytes on Plan 9. #ifdef GOOS_windows - StackSystem = 512 * sizeof(uintptr), + StackSystem = 4096, #else #ifdef GOOS_plan9 - // The size of the note handler frame varies among architectures, - // but 512 bytes should be enough for every implementation. - StackSystem = 512, + StackSystem = 4096, #else StackSystem = 0, #endif // Plan 9