summaryrefslogtreecommitdiff
path: root/libpthread/linuxthreads/libc_pthread_init.c
diff options
context:
space:
mode:
Diffstat (limited to 'libpthread/linuxthreads/libc_pthread_init.c')
-rw-r--r--libpthread/linuxthreads/libc_pthread_init.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/libpthread/linuxthreads/libc_pthread_init.c b/libpthread/linuxthreads/libc_pthread_init.c
index dfdcbcccc..384bf2f7f 100644
--- a/libpthread/linuxthreads/libc_pthread_init.c
+++ b/libpthread/linuxthreads/libc_pthread_init.c
@@ -17,13 +17,20 @@
<http://www.gnu.org/licenses/>. */
#include <locale.h>
+#include <stdlib.h>
#include <string.h>
-#include <linuxthreads.old/sysdeps/pthread/pthread-functions.h>
+#ifdef __UCLIBC_HAS_TLS__
+#include <tls.h>
+#endif
+#include "internals.h"
int __libc_multiple_threads attribute_hidden __attribute__((nocommon));
+strong_alias (__libc_multiple_threads, __librt_multiple_threads)
+
-int * __libc_pthread_init (const struct pthread_functions *functions)
+int *
+__libc_pthread_init(const struct pthread_functions *functions)
{
#ifdef SHARED
/* We copy the content of the variable pointed to by the FUNCTIONS
@@ -33,10 +40,10 @@ int * __libc_pthread_init (const struct pthread_functions *functions)
sizeof (__libc_pthread_functions));
#endif
-#if !defined __UCLIBC_HAS_TLS__ && defined __UCLIBC_HAS_XLOCALE__
+#ifndef __UCLIBC_HAS_TLS__
/* Initialize thread-locale current locale to point to the global one.
With __thread support, the variable's initializer takes care of this. */
- uselocale (LC_GLOBAL_LOCALE);
+ __uselocale (LC_GLOBAL_LOCALE);
#endif
return &__libc_multiple_threads;