]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
hurd: Fix link cthread/pthread symbol exposition.
authorSamuel Thibault <samuel.thibault@ens-lyon.org>
Sat, 17 Mar 2018 22:53:39 +0000 (23:53 +0100)
committerSamuel Thibault <samuel.thibault@ens-lyon.org>
Sat, 17 Mar 2018 22:53:39 +0000 (23:53 +0100)
* hurd/Versions (HURD_CTHREADS_0.3): Rename weak refs cthread_fork,
cthread_detach, pthread_getattr_np, pthread_attr_getstack,
cthread_keycreate, cthread_getspecific, cthread_setspecific to
__cthread_fork, __cthread_detach, __pthread_getattr_np,
__pthread_attr_getstack, __cthread_keycreate, __cthread_getspecific,
__cthread_setspecific.
* hurd/hurdsig.c (_hurdsig_init): Use __cthread_fork,
__cthread_detach, __pthread_getattr_np, __pthread_attr_getstack,
__cthread_t instead of cthread_fork, cthread_detach,
pthread_getattr_np, pthread_attr_getstack.
* sysdeps/mach/hurd/cthreads.c (cthread_keycreate): Rename to
__cthread_keycreate.
(cthread_getspecific): Rename to __cthread_getspecific.
(cthread_setspecific): Rename to __cthread_setspecific.
(__libc_getspecific): Use __cthread_getspecific instead of
cthread_getspecific.
* sysdeps/mach/hurd/libc-lock.h (__libc_key_create): Use
__cthread_keycreate instead of cthread_keycreate.
(__libc_setspecific): Use __cthread_setspecific instead of
cthread_setspecific.
* sysdeps/mach/libc-lock.h (__libc_key_create, __libc_setspecific):
Likewise.

ChangeLog
hurd/Versions
hurd/hurdsig.c
sysdeps/mach/hurd/cthreads.c
sysdeps/mach/hurd/libc-lock.h
sysdeps/mach/libc-lock.h

index f8823b3010136fbe90df73578979e1f9f84536fc..2fe1850e218f1a19b2561955d96ddad46e3d4e0a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
        (__mig_dealloc_reply_port): Likewise.
        (__mig_init): Do not initialize threadvar.
        * sysdeps/mach/hurd/profil.c: Fix comment.
+       * hurd/Versions (HURD_CTHREADS_0.3): Rename weak refs cthread_fork,
+       cthread_detach, pthread_getattr_np, pthread_attr_getstack,
+       cthread_keycreate, cthread_getspecific, cthread_setspecific to
+       __cthread_fork, __cthread_detach, __pthread_getattr_np,
+       __pthread_attr_getstack, __cthread_keycreate, __cthread_getspecific,
+       __cthread_setspecific.
+       * hurd/hurdsig.c (_hurdsig_init): Use __cthread_fork,
+       __cthread_detach, __pthread_getattr_np, __pthread_attr_getstack,
+       __cthread_t instead of cthread_fork, cthread_detach,
+       pthread_getattr_np, pthread_attr_getstack.
+       * sysdeps/mach/hurd/cthreads.c (cthread_keycreate): Rename to
+       __cthread_keycreate.
+       (cthread_getspecific): Rename to __cthread_getspecific.
+       (cthread_setspecific): Rename to __cthread_setspecific.
+       (__libc_getspecific): Use __cthread_getspecific instead of
+       cthread_getspecific.
+       * sysdeps/mach/hurd/libc-lock.h (__libc_key_create): Use
+       __cthread_keycreate instead of cthread_keycreate.
+       (__libc_setspecific): Use __cthread_setspecific instead of
+       cthread_setspecific.
+       * sysdeps/mach/libc-lock.h (__libc_key_create, __libc_setspecific):
+       Likewise.
 
 2018-03-16  Samuel Thibault  <samuel.thibault@ens-lyon.org>
 
index 164aa64400b4e27fd5a61dada3fff8a4e2d373f5..602391ca088e05b377b0b4f9a3f8e71379184322 100644 (file)
@@ -139,14 +139,14 @@ libc {
 
   HURD_CTHREADS_0.3 {
     # weak refs to libthreads functions that libc calls iff libthreads in use
-    cthread_fork; cthread_detach;
-    pthread_getattr_np; pthread_attr_getstack;
+    __cthread_fork; __cthread_detach;
+    __pthread_getattr_np; __pthread_attr_getstack;
 
     # variables used for detecting cthreads
     _cthread_exit_routine; _cthread_init_routine;
 
     # cthreads functions with stubs in libc
-    cthread_keycreate; cthread_getspecific; cthread_setspecific;
+    __cthread_keycreate; __cthread_getspecific; __cthread_setspecific;
     __libc_getspecific;
   }
 }
index 8069de391fc55bc89596dee3f763e043e7440eea..ea76be7e32b86684e660e091c4a028013cc031a3 100644 (file)
@@ -1258,8 +1258,8 @@ _hurdsig_init (const int *intarray, size_t intarraysize)
 
   /* Start the signal thread listening on the message port.  */
 
-#pragma weak cthread_fork
-  if (!cthread_fork)
+#pragma weak __cthread_fork
+  if (!__cthread_fork)
     {
       err = __thread_create (__mach_task_self (), &_hurd_msgport_thread);
       assert_perror (err);
@@ -1291,22 +1291,22 @@ _hurdsig_init (const int *intarray, size_t intarraysize)
          we'll let the signal thread's per-thread variables be found as for
          any normal cthread, and just leave the magic __hurd_sigthread_*
          values all zero so they'll be ignored.  */
-#pragma weak cthread_detach
-#pragma weak pthread_getattr_np
-#pragma weak pthread_attr_getstack
-      cthread_t thread = cthread_fork ((cthread_fn_t) &_hurd_msgport_receive,
-                                      0);
-      cthread_detach (thread);
-
-      if (pthread_getattr_np)
+#pragma weak __cthread_detach
+#pragma weak __pthread_getattr_np
+#pragma weak __pthread_attr_getstack
+      __cthread_t thread = __cthread_fork (
+                            (cthread_fn_t) &_hurd_msgport_receive, 0);
+      __cthread_detach (thread);
+
+      if (__pthread_getattr_np)
        {
          /* Record signal thread stack layout for fork() */
          pthread_attr_t attr;
          void *addr;
          size_t size;
 
-         pthread_getattr_np ((pthread_t) thread, &attr);
-         pthread_attr_getstack (&attr, &addr, &size);
+         __pthread_getattr_np ((pthread_t) thread, &attr);
+         __pthread_attr_getstack (&attr, &addr, &size);
          __hurd_sigthread_stack_base = (uintptr_t) addr;
          __hurd_sigthread_stack_end = __hurd_sigthread_stack_base + size;
        }
index 640c97ec1d53c1e8bd645b434958075c10790e2c..35689307b402241e8e6b8900346e3a3cff001fba 100644 (file)
@@ -26,7 +26,7 @@ char __libc_lock_self0[0];
 /* Placeholder for key creation routine from Hurd cthreads library.  */
 int
 weak_function
-cthread_keycreate (cthread_key_t *key)
+__cthread_keycreate (cthread_key_t *key)
 {
   __set_errno (ENOSYS);
  *key = -1;
@@ -36,7 +36,7 @@ cthread_keycreate (cthread_key_t *key)
 /* Placeholder for key retrieval routine from Hurd cthreads library.  */
 int
 weak_function
-cthread_getspecific (cthread_key_t key, void **pval)
+__cthread_getspecific (cthread_key_t key, void **pval)
 {
   *pval = NULL;
   __set_errno (ENOSYS);
@@ -46,7 +46,7 @@ cthread_getspecific (cthread_key_t key, void **pval)
 /* Placeholder for key setting routine from Hurd cthreads library.  */
 int
 weak_function
-cthread_setspecific (cthread_key_t key, void *val)
+__cthread_setspecific (cthread_key_t key, void *val)
 {
   __set_errno (ENOSYS);
   return -1;
@@ -58,6 +58,6 @@ void *
 __libc_getspecific (cthread_key_t key)
 {
   void *val;
-  cthread_getspecific (key, &val);
+  __cthread_getspecific (key, &val);
   return val;
 }
index 2dfade93eb1d5f2c5e844bf4ad93bc9b968818e7..ed45f076b3e845487c7eb7bf5ed7766007bfb8a9 100644 (file)
@@ -201,8 +201,8 @@ struct __libc_once
 /* Type for key of thread specific data.  */
 typedef cthread_key_t __libc_key_t;
 
-#define __libc_key_create(KEY,DEST) cthread_keycreate (KEY)
-#define __libc_setspecific(KEY,VAL) cthread_setspecific (KEY, VAL)
+#define __libc_key_create(KEY,DEST) __cthread_keycreate (KEY)
+#define __libc_setspecific(KEY,VAL) __cthread_setspecific (KEY, VAL)
 void *__libc_getspecific (__libc_key_t key);
 
 #endif /* _CTHREADS_ */
index caeba47a3a442246b2df12caca078c8ae47406ce..89e5715341352dfebf1d16638da5c991549219d9 100644 (file)
@@ -124,8 +124,8 @@ struct __libc_once
 #define __libc_mutex_unlock __mutex_unlock
 #endif
 
-#define __libc_key_create(KEY,DEST) cthread_keycreate (KEY)
-#define __libc_setspecific(KEY,VAL) cthread_setspecific (KEY, VAL)
+#define __libc_key_create(KEY,DEST) __cthread_keycreate (KEY)
+#define __libc_setspecific(KEY,VAL) __cthread_setspecific (KEY, VAL)
 void *__libc_getspecific (__libc_key_t key);
 
 /* XXX until cthreads supports recursive locks */