diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-03-17 23:53:39 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-03-17 23:53:39 +0100 |
commit | c2fb08c78ac4716266c4dd7c9b4aa3c33b033d13 (patch) | |
tree | 6adb6af6f85b49d4780518f3443e3363e77dcf10 /hurd | |
parent | dc33bef307ad6eeb1cc4e4e230b69c6058890388 (diff) | |
download | glibc-c2fb08c78ac4716266c4dd7c9b4aa3c33b033d13.tar.gz |
hurd: Fix link cthread/pthread symbol exposition.
* 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.
Diffstat (limited to 'hurd')
-rw-r--r-- | hurd/Versions | 6 | ||||
-rw-r--r-- | hurd/hurdsig.c | 24 |
2 files changed, 15 insertions, 15 deletions
diff --git a/hurd/Versions b/hurd/Versions index 164aa64400..602391ca08 100644 --- a/hurd/Versions +++ b/hurd/Versions @@ -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; } } diff --git a/hurd/hurdsig.c b/hurd/hurdsig.c index 8069de391f..ea76be7e32 100644 --- a/hurd/hurdsig.c +++ b/hurd/hurdsig.c @@ -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; } |