diff options
Diffstat (limited to 'lib/libpthread/thread/thr_spec.c')
-rw-r--r-- | lib/libpthread/thread/thr_spec.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/lib/libpthread/thread/thr_spec.c b/lib/libpthread/thread/thr_spec.c index 6c2b636..f6e8861 100644 --- a/lib/libpthread/thread/thr_spec.c +++ b/lib/libpthread/thread/thr_spec.c @@ -36,11 +36,27 @@ #include <string.h> #include <errno.h> #include <pthread.h> + #include "thr_private.h" -/* Static variables: */ + struct pthread_key _thread_keytable[PTHREAD_KEYS_MAX]; +/* + * XXX - This breaks the linker if LT10_COMPAT_DEFAULT doesn't + * also include a weak reference to the default symbol. + */ +LT10_COMPAT_PRIVATE(_thread_keytable); + +LT10_COMPAT_PRIVATE(_pthread_key_create); +LT10_COMPAT_DEFAULT(pthread_key_create); +LT10_COMPAT_PRIVATE(_pthread_key_delete); +LT10_COMPAT_DEFAULT(pthread_key_delete); +LT10_COMPAT_PRIVATE(_pthread_getspecific); +LT10_COMPAT_DEFAULT(pthread_getspecific); +LT10_COMPAT_PRIVATE(_pthread_setspecific); +LT10_COMPAT_DEFAULT(pthread_setspecific); + __weak_reference(_pthread_key_create, pthread_key_create); __weak_reference(_pthread_key_delete, pthread_key_delete); __weak_reference(_pthread_getspecific, pthread_getspecific); |