diff options
author | Florian Weimer <fweimer@redhat.com> | 2020-05-15 22:48:42 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2020-05-20 20:28:24 +0200 |
commit | 3699ef99de0d69284cdd28c3cc5e1aa89e398443 (patch) | |
tree | dd28aaf7364caee047bd5c0a44731dcb1c3ebd7e | |
parent | 07a73d521988a7fdea1bb3c3b5bbb2b23a0da2e1 (diff) | |
download | glibc-3699ef99de0d69284cdd28c3cc5e1aa89e398443.zip glibc-3699ef99de0d69284cdd28c3cc5e1aa89e398443.tar.gz glibc-3699ef99de0d69284cdd28c3cc5e1aa89e398443.tar.bz2 |
nptl: Make __pthread_attr_init, __pthread_attr_destroy available internally
pthread_attr_destroy needs to be a weak alias to avoid future
linknamespace failures.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>
-rw-r--r-- | nptl/Versions | 1 | ||||
-rw-r--r-- | nptl/pthreadP.h | 4 | ||||
-rw-r--r-- | nptl/pthread_attr_destroy.c | 3 | ||||
-rw-r--r-- | nptl/pthread_attr_init.c | 5 |
4 files changed, 9 insertions, 4 deletions
diff --git a/nptl/Versions b/nptl/Versions index ce08076..65f0c07 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -59,6 +59,7 @@ libc { # Used by the C11 threads implementation. __pthread_cond_destroy; __pthread_cond_init; __pthread_attr_setaffinity_np; + __pthread_attr_init; __pthread_attr_destroy; } } diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index ac01354..f218b01 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -347,7 +347,8 @@ extern int __pthread_create_2_1 (pthread_t *newthread, extern int __pthread_create_2_0 (pthread_t *newthread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg); -extern int __pthread_attr_init_2_1 (pthread_attr_t *attr); +extern int __pthread_attr_init (pthread_attr_t *attr); +libc_hidden_proto (__pthread_attr_init) extern int __pthread_attr_init_2_0 (pthread_attr_t *attr); @@ -403,6 +404,7 @@ extern int __pthread_mutexattr_init (pthread_mutexattr_t *attr); extern int __pthread_mutexattr_destroy (pthread_mutexattr_t *attr); extern int __pthread_mutexattr_settype (pthread_mutexattr_t *attr, int kind); extern int __pthread_attr_destroy (pthread_attr_t *attr); +libc_hidden_proto (__pthread_attr_destroy) extern int __pthread_attr_getdetachstate (const pthread_attr_t *attr, int *detachstate); extern int __pthread_attr_setdetachstate (pthread_attr_t *attr, diff --git a/nptl/pthread_attr_destroy.c b/nptl/pthread_attr_destroy.c index d20f209..21f8026 100644 --- a/nptl/pthread_attr_destroy.c +++ b/nptl/pthread_attr_destroy.c @@ -39,4 +39,5 @@ __pthread_attr_destroy (pthread_attr_t *attr) return 0; } -strong_alias (__pthread_attr_destroy, pthread_attr_destroy) +libc_hidden_def (__pthread_attr_destroy) +weak_alias (__pthread_attr_destroy, pthread_attr_destroy) diff --git a/nptl/pthread_attr_init.c b/nptl/pthread_attr_init.c index f15ccca..acc22c6 100644 --- a/nptl/pthread_attr_init.c +++ b/nptl/pthread_attr_init.c @@ -29,7 +29,7 @@ int __attr_list_lock = LLL_LOCK_INITIALIZER; int -__pthread_attr_init_2_1 (pthread_attr_t *attr) +__pthread_attr_init (pthread_attr_t *attr) { struct pthread_attr *iattr; @@ -48,7 +48,8 @@ __pthread_attr_init_2_1 (pthread_attr_t *attr) return 0; } -versioned_symbol (libc, __pthread_attr_init_2_1, pthread_attr_init, GLIBC_2_1); +libc_hidden_def (__pthread_attr_init) +versioned_symbol (libc, __pthread_attr_init, pthread_attr_init, GLIBC_2_1); #if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_1) |