about summary refs log tree commit diff
path: root/nptl
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2021-05-10 10:31:42 +0200
committerFlorian Weimer <fweimer@redhat.com>2021-05-10 10:31:42 +0200
commit8c1c0da3a8112695d5cc82aae22666321965b42f (patch)
tree6cd1ad903f1ddb1b86146d3d2f85363e09aaa982 /nptl
parent652c7c6fe7a08643b8e98f085d422f4e43ec47b4 (diff)
downloadglibc-8c1c0da3a8112695d5cc82aae22666321965b42f.tar.gz
glibc-8c1c0da3a8112695d5cc82aae22666321965b42f.tar.xz
glibc-8c1c0da3a8112695d5cc82aae22666321965b42f.zip
nptl: Move __default_pthread_attr, __default_pthread_attr_lock into libc
The GLIBC_PRIVATE exports for these symbols are expected to be
temporary.

Tested-by: Carlos O'Donell <carlos@redhat.com>
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'nptl')
-rw-r--r--nptl/Makefile2
-rw-r--r--nptl/Versions2
-rw-r--r--nptl/pthreadP.h8
-rw-r--r--nptl/vars.c8
4 files changed, 14 insertions, 6 deletions
diff --git a/nptl/Makefile b/nptl/Makefile
index b5f26c6864..f7723cb808 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -170,6 +170,7 @@ routines = \
   sem_wait \
   tpp \
   unwind \
+  vars \
 
 shared-only-routines = forward
 static-only-routines = pthread_atfork
@@ -212,7 +213,6 @@ libpthread-routines = \
   pthread_sigqueue \
   pthread_timedjoin \
   pthread_tryjoin \
-  vars \
   version \
 
 libpthread-shared-only-routines = \
diff --git a/nptl/Versions b/nptl/Versions
index fb15a7e8eb..d439a023b7 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -298,6 +298,8 @@ libc {
     tss_set;
   }
   GLIBC_PRIVATE {
+    __default_pthread_attr;
+    __default_pthread_attr_lock;
     __futex_abstimed_wait64;
     __futex_abstimed_wait_cancelable64;
     __init_sched_fifo_prio;
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
index 3a6b436400..6b912f053b 100644
--- a/nptl/pthreadP.h
+++ b/nptl/pthreadP.h
@@ -198,9 +198,11 @@ enum
 
 
 /* Default pthread attributes.  */
-extern union pthread_attr_transparent __default_pthread_attr attribute_hidden;
-extern int __default_pthread_attr_lock attribute_hidden;
-/* Called from __libpthread_freeres to deallocate the default attribute.  */
+extern union pthread_attr_transparent __default_pthread_attr;
+libc_hidden_proto (__default_pthread_attr)
+extern int __default_pthread_attr_lock;
+libc_hidden_proto (__default_pthread_attr_lock)
+/* Called from __libc_freeres to deallocate the default attribute.  */
 extern void __default_pthread_attr_freeres (void) attribute_hidden;
 
 /* Size and alignment of static TLS block.  */
diff --git a/nptl/vars.c b/nptl/vars.c
index 03a6cc84be..989d7930e0 100644
--- a/nptl/vars.c
+++ b/nptl/vars.c
@@ -22,7 +22,11 @@
 
 /* Default thread attributes for the case when the user does not
    provide any.  */
-union pthread_attr_transparent __default_pthread_attr attribute_hidden;
+union pthread_attr_transparent __default_pthread_attr
+  __attribute__ ((nocommon));
+libc_hidden_data_def (__default_pthread_attr)
 
 /* Mutex protecting __default_pthread_attr.  */
-int __default_pthread_attr_lock = LLL_LOCK_INITIALIZER;
+int __default_pthread_attr_lock __attribute__ ((nocommon))
+  = LLL_LOCK_INITIALIZER;
+libc_hidden_data_def (__default_pthread_attr_lock)