diff options
| -rw-r--r-- | gcc/go/gofrontend/MERGE | 2 | ||||
| -rw-r--r-- | libgo/runtime/runtime.c | 9 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index 633dfcf..71a9f5b 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -394486a1cec9bbb81216311ed153179d9fe1c2c5 +c8cf90f2daf62428ca6aa0b5674572cd99f25fe3 The first line of this file holds the git revision number of the last merge done from the gofrontend repository. diff --git a/libgo/runtime/runtime.c b/libgo/runtime/runtime.c index c7d33bc..9abd096 100644 --- a/libgo/runtime/runtime.c +++ b/libgo/runtime/runtime.c @@ -272,7 +272,14 @@ runtime_tickspersecond(void) void runtime_mpreinit(M *mp) { - mp->gsignal = runtime_malg(32*1024, (byte**)&mp->gsignalstack, &mp->gsignalstacksize); // OS X wants >=8K, Linux >=2K + int32 stacksize = 32 * 1024; // OS X wants >=8K, Linux >=2K + +#ifdef SIGSTKSZ + if(stacksize < SIGSTKSZ) + stacksize = SIGSTKSZ; +#endif + + mp->gsignal = runtime_malg(stacksize, (byte**)&mp->gsignalstack, &mp->gsignalstacksize); mp->gsignal->m = mp; } |
