diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-12-28 10:24:40 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-12-28 10:24:40 +0000 |
commit | 270d9d472952a8923fa8a6d9d830fea77f4b838f (patch) | |
tree | d5fa14a0a0fd3cdc509580686af55bc93ceb93e7 /linuxthreads/sysdeps/pthread/bits | |
parent | afb2e954009b7ff48379a254926730b303ce7bab (diff) | |
download | glibc-270d9d472952a8923fa8a6d9d830fea77f4b838f.tar.gz glibc-270d9d472952a8923fa8a6d9d830fea77f4b838f.tar.xz glibc-270d9d472952a8923fa8a6d9d830fea77f4b838f.zip |
Update.
* inet/herrno.c (__h_errno_location): Remove. * inet/Makefile (routines): Add herrno-loc. * resolv/res_libc.c (__res_state): Remove. * resolv/Makefile (routines): Add res-state. * sysdeps/generic/herrno-loc.c: New file. * sysdeps/generic/res-state.c: New file. 2002-12-27 Jakub Jelinek <jakub@redhat.com>
Diffstat (limited to 'linuxthreads/sysdeps/pthread/bits')
-rw-r--r-- | linuxthreads/sysdeps/pthread/bits/libc-tsd.h | 40 |
1 files changed, 15 insertions, 25 deletions
diff --git a/linuxthreads/sysdeps/pthread/bits/libc-tsd.h b/linuxthreads/sysdeps/pthread/bits/libc-tsd.h index e37faf6ba4..04cf7c1a6c 100644 --- a/linuxthreads/sysdeps/pthread/bits/libc-tsd.h +++ b/linuxthreads/sysdeps/pthread/bits/libc-tsd.h @@ -20,16 +20,7 @@ #ifndef _BITS_LIBC_TSD_H #define _BITS_LIBC_TSD_H 1 -/* Fast thread-specific data internal to libc. */ -enum __libc_tsd_key_t { _LIBC_TSD_KEY_MALLOC = 0, - _LIBC_TSD_KEY_DL_ERROR, - _LIBC_TSD_KEY_RPC_VARS, - _LIBC_TSD_KEY_LOCALE, - _LIBC_TSD_KEY_CTYPE_B, - _LIBC_TSD_KEY_CTYPE_TOLOWER, - _LIBC_TSD_KEY_CTYPE_TOUPPER, - _LIBC_TSD_KEY_N }; - +#include <linuxthreads/descr.h> #include <tls.h> #if USE_TLS && HAVE___THREAD @@ -39,26 +30,25 @@ enum __libc_tsd_key_t { _LIBC_TSD_KEY_MALLOC = 0, #else -extern void *(*__libc_internal_tsd_get) (enum __libc_tsd_key_t) __THROW; -extern int (*__libc_internal_tsd_set) (enum __libc_tsd_key_t, - __const void *) __THROW; -extern void **(*const __libc_internal_tsd_address) (enum __libc_tsd_key_t) - __THROW __attribute__ ((__const__)); +# include <bits/libc-lock.h> -#define __libc_tsd_address(KEY) \ - (__libc_internal_tsd_address != NULL \ - ? __libc_internal_tsd_address (_LIBC_TSD_KEY_##KEY) \ - : &__libc_tsd_##KEY##_data) +# ifndef SHARED +weak_extern (__pthread_internal_tsd_address) +weak_extern (__pthread_internal_tsd_get) +weak_extern (__pthread_internal_tsd_set) +# endif #define __libc_tsd_define(CLASS, KEY) CLASS void *__libc_tsd_##KEY##_data; +#define __libc_tsd_address(KEY) \ + __libc_maybe_call2 (pthread_internal_tsd_address, \ + (_LIBC_TSD_KEY_##KEY), &__libc_tsd_##KEY##_data) #define __libc_tsd_get(KEY) \ - (__libc_internal_tsd_get != NULL \ - ? __libc_internal_tsd_get (_LIBC_TSD_KEY_##KEY) \ - : __libc_tsd_##KEY##_data) + __libc_maybe_call2 (pthread_internal_tsd_get, \ + (_LIBC_TSD_KEY_##KEY), __libc_tsd_##KEY##_data) #define __libc_tsd_set(KEY, VALUE) \ - (__libc_internal_tsd_set != NULL \ - ? __libc_internal_tsd_set (_LIBC_TSD_KEY_##KEY, (VALUE)) \ - : ((__libc_tsd_##KEY##_data = (VALUE)), 0)) + __libc_maybe_call2 (pthread_internal_tsd_set, \ + (_LIBC_TSD_KEY_##KEY, (VALUE)), \ + (__libc_tsd_##KEY##_data = (VALUE), 0)) #endif |