From: Michael Pratt Date: Mon, 17 Apr 2023 18:06:10 +0000 (-0400) Subject: Revert "runtime/cgo: use pthread_attr_get_np on Illumos" X-Git-Tag: go1.21rc1~879 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=0e9b2bc39a9f90c49ba7313e2af522dc058988b0;p=gostls13.git Revert "runtime/cgo: use pthread_attr_get_np on Illumos" This reverts CL 481795. Reason for revert: CL 481061 causes C TSAN failures and must be reverted. See CL 485275. This CL depends on CL 481061. For #59678. Change-Id: I5ec1f495154205ebdf19cd44c6e6452a7a3606f0 Reviewed-on: https://go-review.googlesource.com/c/go/+/485315 Auto-Submit: Michael Pratt TryBot-Result: Gopher Robot Run-TryBot: Michael Pratt Reviewed-by: Than McIntosh --- diff --git a/src/runtime/cgo/gcc_stack_unix.c b/src/runtime/cgo/gcc_stack_unix.c index 71ac36ff1e..5ca6a94429 100644 --- a/src/runtime/cgo/gcc_stack_unix.c +++ b/src/runtime/cgo/gcc_stack_unix.c @@ -18,16 +18,9 @@ x_cgo_getstackbound(G *g) void *addr; size_t size; -#if defined(__GLIBC__) || (defined(__sun) && !defined(__illumos__)) - // pthread_getattr_np is a GNU extension supported in glibc. - // Solaris is not glibc but does support pthread_getattr_np - // (and the fallback doesn't work...). Illumos does not. +#if defined(__GLIBC__) || defined(__sun) pthread_getattr_np(pthread_self(), &attr); // GNU extension pthread_attr_getstack(&attr, &addr, &size); // low address -#elif defined(__illumos__) - pthread_attr_init(&attr); - pthread_attr_get_np(pthread_self(), &attr); - pthread_attr_getstack(&attr, &addr, &size); // low address #else pthread_attr_init(&attr); pthread_attr_getstacksize(&attr, &size);