diff options
Diffstat (limited to 'htl')
-rw-r--r-- | htl/Makefile | 12 | ||||
-rw-r--r-- | htl/Versions | 24 | ||||
-rw-r--r-- | htl/forward.c | 3 | ||||
-rw-r--r-- | htl/pt-cleanup.c | 10 | ||||
-rw-r--r-- | htl/pt-initialize.c | 5 | ||||
-rw-r--r-- | htl/pt-internal.h | 1 |
6 files changed, 30 insertions, 25 deletions
diff --git a/htl/Makefile b/htl/Makefile index 603af24..82b7803 100644 --- a/htl/Makefile +++ b/htl/Makefile @@ -25,12 +25,7 @@ SYSDEPS := lockfile LCLHDRS := libpthread-routines := \ - pt-destroy-specific \ pt-init-specific \ - pt-key-create \ - pt-key-delete \ - pt-getspecific \ - pt-setspecific \ pt-alloc \ pt-create \ pt-getattr \ @@ -40,7 +35,6 @@ libpthread-routines := \ pt-initialize \ pt-join \ pt-spin-inlines \ - pt-cleanup \ pt-testcancel \ pt-cancel \ pt-mutex-transfer-np \ @@ -148,6 +142,7 @@ routines := \ pt-barrierattr-setpshared \ pt-block \ pt-block-intr \ + pt-cleanup \ pt-cond \ pt-cond-brdcast \ pt-cond-destroy \ @@ -161,7 +156,11 @@ routines := \ pt-condattr-init \ pt-condattr-setclock \ pt-condattr-setpshared \ + pt-destroy-specific \ pt-getschedparam \ + pt-getspecific \ + pt-key-create \ + pt-key-delete \ pt-mutex-checklocked \ pt-mutex-consistent \ pt-mutex-destroy \ @@ -205,6 +204,7 @@ routines := \ pt-setcancelstate \ pt-setcanceltype \ pt-setschedparam \ + pt-setspecific \ pt-sigmask \ pt-sigstate \ pt-sigstate-destroy \ diff --git a/htl/Versions b/htl/Versions index a07a3b3..40ee274 100644 --- a/htl/Versions +++ b/htl/Versions @@ -2,6 +2,8 @@ libc { GLIBC_2.12 { pthread_self; + __pthread_get_cleanup_stack; + __pthread_key_create; __pthread_self; pthread_attr_getdetachstate; pthread_attr_getinheritsched; @@ -12,6 +14,7 @@ libc { pthread_attr_setschedpolicy; pthread_equal; pthread_getschedparam; + pthread_getspecific; pthread_setschedparam; pthread_attr_destroy; pthread_attr_getguardsize; @@ -45,6 +48,8 @@ libc { pthread_condattr_getpshared; pthread_condattr_setclock; pthread_condattr_setpshared; + pthread_key_create; + pthread_key_delete; pthread_mutex_destroy; pthread_mutex_getprioceiling; pthread_mutex_init; @@ -79,6 +84,7 @@ libc { pthread_rwlockattr_setpshared; pthread_setcancelstate; pthread_setcanceltype; + pthread_setspecific; pthread_sigmask; } @@ -154,6 +160,9 @@ libc { pthread_barrierattr_getpshared; pthread_barrierattr_init; pthread_barrierattr_setpshared; + pthread_getspecific; + pthread_key_create; + pthread_key_delete; pthread_mutex_consistent; pthread_mutex_consistent_np; pthread_mutex_getprioceiling; pthread_mutex_setprioceiling; @@ -174,6 +183,7 @@ libc { pthread_rwlockattr_getpshared; pthread_rwlockattr_init; pthread_rwlockattr_setpshared; + pthread_setspecific; } GLIBC_PRIVATE { @@ -203,6 +213,9 @@ libc { __pthread_cond_wait; __pthread_condattr_init; __pthread_default_condattr; + __pthread_destroy_specific; + __pthread_getspecific; + __pthread_key_delete; __pthread_mutex_checklocked; __pthread_mutex_destroy; __pthread_mutex_init; @@ -214,6 +227,7 @@ libc { __pthread_mutexattr_init; __pthread_mutexattr_settype; __pthread_once; + __pthread_setspecific; __pthread_sigstate; __pthread_sigstate_destroy; __pthread_sigmask; @@ -229,8 +243,6 @@ libpthread { __errno_location; __h_errno_location; } GLIBC_2.12 { - __pthread_get_cleanup_stack; - __pthread_mutex_transfer_np; cthread_detach; @@ -255,20 +267,16 @@ libpthread { pthread_getattr_np; pthread_getconcurrency; pthread_getcpuclockid; - pthread_getspecific; pthread_join; - pthread_key_create; pthread_key_delete; - __pthread_key_create; - pthread_kill; __pthread_kill; pthread_mutex_transfer_np; pthread_setconcurrency; - pthread_setschedprio; pthread_setspecific; + pthread_setschedprio; pthread_testcancel; pthread_yield; @@ -315,8 +323,6 @@ libpthread { __cthread_keycreate; __cthread_getspecific; __cthread_setspecific; - __pthread_getspecific; - __pthread_setspecific; __pthread_getattr_np; __pthread_enable_asynccancel; __pthread_disable_asynccancel; diff --git a/htl/forward.c b/htl/forward.c index 0a7a696..21acf66 100644 --- a/htl/forward.c +++ b/htl/forward.c @@ -57,6 +57,3 @@ name decl \ FORWARD_NORETURN (__pthread_exit, void, (void *retval), (retval), exit (EXIT_SUCCESS)) strong_alias (__pthread_exit, pthread_exit); - -FORWARD2 (__pthread_get_cleanup_stack, struct __pthread_cancelation_handler **, - (void), (), return &__pthread_cleanup_stack); diff --git a/htl/pt-cleanup.c b/htl/pt-cleanup.c index 863c38f..76fdbe2 100644 --- a/htl/pt-cleanup.c +++ b/htl/pt-cleanup.c @@ -19,10 +19,16 @@ #include <pthread.h> #include <pt-internal.h> +#include <shlib-compat.h> struct __pthread_cancelation_handler ** -__pthread_get_cleanup_stack (void) +___pthread_get_cleanup_stack (void) { return &__pthread_cleanup_stack; } -hidden_def(__pthread_get_cleanup_stack) +versioned_symbol (libc, ___pthread_get_cleanup_stack, __pthread_get_cleanup_stack, GLIBC_2_21); +libc_hidden_ver (___pthread_get_cleanup_stack, __pthread_get_cleanup_stack) + +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_21) +compat_symbol (libpthread, ___pthread_get_cleanup_stack, __pthread_get_cleanup_stack, GLIBC_2_12); +#endif diff --git a/htl/pt-initialize.c b/htl/pt-initialize.c index 658ba1e..b4e8b15 100644 --- a/htl/pt-initialize.c +++ b/htl/pt-initialize.c @@ -28,11 +28,6 @@ #if IS_IN (libpthread) static const struct pthread_functions pthread_functions = { .ptr___pthread_exit = __pthread_exit, - .ptr___pthread_get_cleanup_stack = __pthread_get_cleanup_stack, - .ptr_pthread_once = __pthread_once, - .ptr___pthread_key_create = __pthread_key_create, - .ptr___pthread_getspecific = __pthread_getspecific, - .ptr___pthread_setspecific = __pthread_setspecific, .ptr__IO_flockfile = _cthreads_flockfile, .ptr__IO_funlockfile = _cthreads_funlockfile, .ptr__IO_ftrylockfile = _cthreads_ftrylockfile, diff --git a/htl/pt-internal.h b/htl/pt-internal.h index d19579b..8b37838 100644 --- a/htl/pt-internal.h +++ b/htl/pt-internal.h @@ -299,6 +299,7 @@ extern error_t __pthread_init_specific (struct __pthread *thread); /* Call the destructors on all of the thread specific data in THREAD. THREAD must be the calling thread. */ extern void __pthread_destroy_specific (struct __pthread *thread); +libc_hidden_proto (__pthread_destroy_specific) /* Initialize newly create thread *THREAD's signal state data |