diff --git a/libgomp/team.c b/libgomp/team.c index 96622345b10..ba57152db8a 100644 --- a/libgomp/team.c +++ b/libgomp/team.c @@ -78,7 +78,6 @@ gomp_thread_start (void *xdata) #else struct gomp_thread local_thr; thr = &local_thr; - pthread_setspecific (gomp_tls_key, thr); #endif gomp_sem_init (&thr->release, 0); @@ -92,6 +91,9 @@ gomp_thread_start (void *xdata) #ifdef GOMP_NEEDS_THREAD_HANDLE thr->handle = data->handle; #endif +#if !(defined HAVE_TLS || defined USE_EMUTLS) + pthread_setspecific (gomp_tls_key, thr); +#endif thr->ts.team->ordered_release[thr->ts.team_id] = &thr->release;