2002-07-30 Roland McGrath <roland@redhat.com>
authorroland <roland>
Fri, 2 Aug 2002 03:37:35 +0000 (03:37 +0000)
committerroland <roland>
Fri, 2 Aug 2002 03:37:35 +0000 (03:37 +0000)
* sysdeps/pthread/bits/libc-tsd.h: Include <tls.h>.
[USE_TLS && HAVE___THREAD]: Just include the sysdeps/generic file,
which does the right thing when __thread support is available.
* descr.h (struct _pthread_descr_struct) [USE_TLS && HAVE___THREAD]:
Omit `p_libc_specific', `p_errnop', `p_errno', `p_h_errnop',
`p_h_errno', `p_resp', and `p_res' members.
* pthread.c (__pthread_initialize_minimal) [USE_TLS && HAVE___THREAD]:
Don't initialize `p_errnop' and `p_h_errnop' members.
(__pthread_reset_main_thread): Likewise.
(__pthread_initialize_manager): Likewise.
* manager.c (__pthread_manager, pthread_handle_create): Likewise.
* pthread.c (pthread_initialize) [USE_TLS && HAVE___THREAD]:
Don't initialize `p_resp' member.
(__pthread_reset_main_thread): Likewise.
* manager.c (pthread_handle_create): Likewise.
* specific.c (libc_internal_tsd_set, libc_internal_tsd_get):
Conditionalize these on [!(USE_TLS && HAVE___THREAD)].
* no-tsd.c: Conditionalize contents on [!(USE_TLS && HAVE___THREAD)].
* errno.c [USE_TLS && HAVE___THREAD]
(__h_errno_location, __res_state): Don't define these at all.

linuxthreads/no-tsd.c

index 84abb6f..7b5f7ef 100644 (file)
@@ -1,5 +1,5 @@
 /* libc-internal interface for thread-specific data.
-   Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1998,99,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -20,6 +20,8 @@
 #include <sys/cdefs.h>  /* for __const */
 #include <bits/libc-tsd.h>
 
+#if !(USE_TLS && HAVE___THREAD)
+
 /* This file provides uinitialized (common) definitions for the
    hooks used internally by libc to access thread-specific data.
 
@@ -32,3 +34,5 @@
 void *(*__libc_internal_tsd_get) (enum __libc_tsd_key_t);
 int (*__libc_internal_tsd_set) (enum __libc_tsd_key_t,
                                __const void *);
+
+#endif /* !(USE_TLS && HAVE___THREAD) */