]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
nptl: Make __pthread_attr_init, __pthread_attr_destroy available internally
authorFlorian Weimer <fweimer@redhat.com>
Fri, 15 May 2020 20:48:42 +0000 (22:48 +0200)
committerFlorian Weimer <fweimer@redhat.com>
Wed, 20 May 2020 18:28:24 +0000 (20:28 +0200)
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>
nptl/Versions
nptl/pthreadP.h
nptl/pthread_attr_destroy.c
nptl/pthread_attr_init.c

index ce0807661143c8af3f7277762a982f4c8992f4ab..65f0c077da344e693024714248f92c0d16b02ec9 100644 (file)
@@ -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;
   }
 }
 
index ac0135422b43c264c6dbb46cbade285234e6c1a1..f218b0157496af63b75bf5f661905bedd58e98e8 100644 (file)
@@ -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,
index d20f2093779151bbde89d873dcc823b1b6efe0b4..21f8026a2c09330d97760efbd6a95a78da1cbe04 100644 (file)
@@ -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)
index f15cccab0a36547735b9910a6cd85c9eb668183e..acc22c64c45c569f64d5dc90bcd6353d06463ba5 100644 (file)
@@ -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)