]> granicus.if.org Git - gc/commitdiff
Fix gctest thread stack overflow (musl-gcc)
authorIvan Maidanski <ivmai@mail.ru>
Fri, 17 Mar 2017 07:39:57 +0000 (10:39 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Fri, 7 Apr 2017 15:18:04 +0000 (18:18 +0300)
(Cherry-pick commits 3bfeb8a21b68ca from 'master' branch.)

* tests/test.c (BIG): Remove commented out defined(MSWIN32); define
to 1000 if NO_GETCONTEXT (and UNIX_LIKE); update comment.

tests/test.c

index 9b582fac9a1bbbf5841f6a889cd4d7228c983dde..6ca22e05b915db5ca07e6009166e03fd55c4526e 100644 (file)
@@ -580,8 +580,9 @@ void *GC_CALLBACK reverse_test_inner(void *data)
       return GC_call_with_gc_active(reverse_test_inner, (void*)(word)1);
     }
 
-#   if /*defined(MSWIN32) ||*/ defined(MACOS)
-      /* Win32S only allows 128K stacks */
+#   if defined(MACOS) \
+       || (defined(UNIX_LIKE) && defined(NO_GETCONTEXT)) /* e.g. musl */
+      /* Assume 128K stacks at least. */
 #     define BIG 1000
 #   elif defined(PCR)
       /* PCR default stack is 100K.  Stack frames are up to 120 bytes. */