summaryrefslogtreecommitdiff
path: root/sysdeps
AgeCommit message (Collapse)Author
2017-11-05Make pthread_spinlock use gsyncAgustina Arzille
* pthread/pt-spin-inlines.c (pthread_spin_lock): Define weak alias for __pthread_spin_lock. * sysdeps/mach/bits/spin-lock-inline.h: Include <lock-intern.h> instead of <machine-lock.h>. (__pthread_spin_trylock, __pthread_spin_unlock): Use __spin_lock_t type instead of __lock. (__pthread_spin_lock): Define as inline only, use __spin_lock and __spin_lock_t type. * sysdeps/mach/bits/spin-lock.h: Do not include <machine-lock.h> (__pthread_spinlock_t): Use volatile int instead of __spin_lock_t. (__PTHREAD_SPIN_LOCK_INITIALIZER): Define to 0. * sysdeps/mach/i386/bits/spin-lock-inline.h: Remove file. * sysdeps/mach/i386/bits/spin-lock.h: Remove file. * sysdeps/posix/pt-spin.c (pthread_spin_lock, __pthread_spin_lock): Remove weak aliases, provided by pt-spin-inlines.c
2017-11-05Add missing internal namesSamuel Thibault
Follow-up 2b7d0800f314e0abf370b2b6f6272a2ddb875464 ('Fix exposing symbols') * sysdeps/generic/pt-mutexattr-destroy.c (__pthread_mutexattr_destroy): Define. (pthread_mutexattr_destroy): Redefine as alias. * sysdeps/generic/pt-mutexattr-init.c (__pthread_mutexattr_init): Define. (pthread_mutexattr_init): Redefine as alias. * sysdeps/generic/pt-mutexattr-settype.c (__pthread_mutexattr_settype): Define. (pthread_mutexattr_settype): Redefine as alias.
2017-09-26Avoid exposing mach_port_set_qlimitSamuel Thibault
* sysdeps/mach/pt-thread-alloc.c (create_wakeupmsg): Call __mach_port_set_qlimit instead of mach_port_set_qlimit.
2017-09-26Remove libihash useSamuel Thibault
It poses compilation bootstrapping inconvenience, non-standard symbol exposition, and this is overkill, considering the usual use of TSD, and the availability of TLS. * sysdeps/hurd/pt-key.h: Do not include <hurd/ihash.h>. (PTHREAD_KEY_MEMBERS): Turn thread_specifics to a void**, add unsigned thread_specifics_size. * sysdeps/hurd/pt-init-specific.c (__pthread_init_specific): Initialize thread_specifics_size to 0. * sysdeps/hurd/pt-setspecific.c: Do not include <hurd/ihash.h>. (__pthread_setspecific): Expand and access thread_specifics array instead of hash table. * sysdeps/hurd/pt-getspecific.c: Do not include <hurd/ihash.h>. (__pthread_getspecific): Access thread_specifics array instead of hash table. * sysdeps/hurd/pt-key-delete.c (pthread_key_delete): Clean thread_specifics array instead of hash table. * sysdeps/hurd/pt-destroy-specific.c: Do not include <hurd/ihash.h>. (__pthread_destroy_specific): Clean and free thread_specifics array instead of hash table. * Makeconfig (LDLIBS-tst-interpose-static-thread): Remove -lihash. (LDLIBS-tst-linkall-static): Remove -lihash. * Makefile (HURDLIBS): Remove ihash. (LDLIBS-pthread.so): Remove -lihash. * libpthread.a: Remove -lihash. * libpthread_pic.a: Remove -lihash_pic.
2017-09-25Fix symbol expositionSamuel Thibault
* sysdeps/generic/pt-rwlock-rdlock.c (pthread_rwlock_rdlock): Make alias weak. * sysdeps/generic/pt-rwlock-unlock.c (pthread_rwlock_unlock): Likewise. * sysdeps/generic/pt-rwlock-wrlock.c (pthread_rwlock_wrlock): Likewise. * sysdeps/generic/sem-timedwait.c (sem_timedwait): Likewise. * sysdeps/generic/pt-rwlock-timedrdlock.c (pthread_rwlock_timedrdlock): Make it a weak alias. * sysdeps/generic/pt-rwlock-timedwrlock.c (pthread_rwlock_timedwrlock): Likewise.
2017-09-25Fix exposing symbolsSamuel Thibault
* sysdeps/hurd/pt-key.h (__pthread_key_lock_ready): Use __pthread_mutexattr_init, __pthread_mutexattr_settype, _pthread_mutex_init, __pthread_mutexattr_destroy, __pthread_once instead of pthread_mutexattr_init, pthread_mutexattr_settype,pthread_mutex_init, pthread_mutexattr_destroy, pthread_once.
2017-09-24Fix symbols exposed in linkspaceSamuel Thibault
Libc uses some thread functions, but should not expose the corresponding symbols, so use aliases. * Versions (__cthread_detach, __cthread_fork, __cthread_keycreate, __cthread_getspecific, __cthread_setspecific, __pthread_getattr_np, __pthread_attr_getstack): Add symbols * pthread/cthreads-compat.c (cthread_t, cthread_fn_t, cthread_key_t): Do not define. (cthread_detach): Rename to __cthread_detach. (cthread_detach): Define as weak alias to __cthread_detach. (cthread_fork, cthread_keycreate, cthread_getspecific, cthread_setspecific): Likewise. * pthread/pt-getattr.c (pthread_getattr_np): Likewise. * sysdeps/generic/pt-attr-getstack.c (pthread_attr_getstack): Likewise. * sysdeps/pthread/pthread.h (__cthread_t, __cthread_key_t, __cthread_fn_t, __cthread_fork, __cthread_detach, __cthread_keycreate, __cthread_getspecific, __cthread_setspecific, __pthread_getattr_np, __pthread_attr_getstack): Declare.
2017-09-03Add headers wanted by glibc 2.26Samuel Thibault
* sysdeps/i386/bits/pthreadtypes-arch.h: New file. * sysdeps/pthread/bits/thread-shared-types.h: New file. * sysdeps/pthread/bits/pthreadtypes.h: Include <thread-shared-types.h>
2017-09-03Fix build with glibc 2.26Samuel Thibault
* sysdeps/generic/pt-attr.c (__pthread_default_attr.__schedparam): Use __sched_priority field name instead of sched_priority.
2017-08-28Implement basic pthread_getschedparamSamuel Thibault
* sysdeps/generic/pt-getschedparam.c (__pthread_getschedparam): Return SCHED_OTHER and priority 0. Remove stub warning.
2017-08-03Move pthread.h to where glibc will find itSamuel Thibault
* include/pthread.h: Move to... * sysdeps/pthread/pthread.h: ... here.
2016-10-24Do not pthread_self when raise is called before libpthread initSamuel Thibault
* Versions (__pthread_threads): Add in GLIBC_PRIVATE. * pthreadP.h (__pthread_threads): Declare. * sysdeps/generic/raise.c (__pthread_threads): Make symbol weak. (raise): Check for __pthread_threads before calling __pthread_self.
2016-10-18Fix unregistering atfork handlers on library unloadSamuel Thibault
* sysdeps/generic/old_pt-atfork.c: New file. * Makefile (libpthread-routines): Add old_pt-atfork. (libpthread-static-only-routines): Add pt-atfork. [build-shared=yes] (install): Explicit $(inst_libdir)/libpthread.so [build-shared=yes] $(inst_libdir)/libpthread.so: Replace with script to link libpthread_nonshared.a in. [build-shared=yes] (tests): Link libpthread_nonshared.a in addition to libpthread.so. (generated): Add libpthread_nonshared.a.
2016-10-17Fix too weak references when linking libpthread staticallySamuel Thibault
* sysdeps/pthread/libc-lockP.h [IS_IN (libpthread)]: Do not make __pthread symbols weak.
2016-10-10Fix warningSamuel Thibault
* sysdeps/generic/pt-atfork.c: Include <fork.h>
2016-10-09Merge branch 'master' into master-glibc-2.23Samuel Thibault
2016-10-09Add unregistering atfork handlers on dlcloseSamuel Thibault
* sysdeps/generic/fork.h: New file. * forward.c: Include <fork.h>. (__unregister_atfork): New function.
2016-10-02Add timer routinesSamuel Thibault
* sysdeps/pthread/Makefile (librt-sysdep_routines) [subdir = rt]: Add timer_routines.
2016-09-21Merge branch 'master' into master-glibc-2.23Samuel Thibault
2016-09-20Fix warningSamuel Thibault
* sysdeps/mach/pt-thread-terminate.c (__pthread_thread_terminate): Cast stack address to vm_address_t before calling __thread_terminate_release.
2016-09-20Fix old-style function definitionsSamuel Thibault
* sysdeps/pthread/flockfile.c (__flockfile): Fix old-style function definition. * sysdeps/pthread/ftrylockfile.c (__ftrylockfile): Likewise. * sysdeps/pthread/funlockfile.c (__funlockfile): Likewise.
2016-09-19Fix exposition of pthread functionsSamuel Thibault
* pthread/pt-alloc.c (__pthread_alloc): Use __pthread_rwlock_wrlock and __pthread_rwlock_unlock instead of pthread_rwlock_wrlock and pthread_rwlock_unlock. * pthread/pt-create.c (__pthread_create_internal): Use__pthread_rwlock_rdlock and __pthread_rwlock_unlock instead of pthread_rwlock_rdlock and pthread_rwlock_unlock. * pthread/pt-dealloc.c (__pthread_dealloc): Use __pthread_cond_broadcast, __pthread_mutex_lock, and __pthread_mutex_unlock instead of pthread_cond_broadcast, pthread_mutex_lock, and pthread_mutex_unlock * pthread/pt-exit.c (__pthread_exit): Use __pthread_setcancelstate and __pthread_cond_broadcast instead of pthread_setcancelstate and pthread_cond_broadcast. * pthread/pt-internal.h (__pthread_getid, __pthread_setid): Use __pthread_rwlock_rdlock, __pthread_rwlock_wrlock, and __pthread_rwlock_unlock instead of pthread_rwlock_rdlock, pthread_rwlock_wrlock, and pthread_rwlock_unlock * pthread/pt-join.c (pthread_join): Use __pthread_cond_wait instead of pthread_cond_wait. * sysdeps/hurd/pt-key-delete.c (pthread_key_delete): Use __pthread_rwlock_rdlock and __pthread_rwlock_unlock instead of pthread_rwlock_rdlock and pthread_rwlock_unlock.
2016-09-19Make PTHREAD_ONCE_INIT a symbolic valueSamuel Thibault
as required by Posix * sysdeps/pthread/bits/once.h (__PTHREAD_ONCE_INIT): Cast initializer to (struct __pthread_once).
2016-09-19Fix pthread_kill and pthread_self visibility from raiseSamuel Thibault
* pthreadP.h: New file. * sysdeps/generic/pt-kill.c (pthread_kill): Rename to __pthread_kill. pthread_kill: New strong alias. * sysdeps/hurd/pt-kill.c: Likewise. * sysdeps/generic/raise.c: Include <pthreadP.h> instead of <pthread.h>. Make __pthread_kill and __pthread_self weak. (raise): Use __pthread_kill and __pthread_self instead of pthread_kill and pthread_self.
2016-09-12Merge branch 'master-glibc-2.22' into master-glibc-2.23Samuel Thibault
2016-09-12Merge branch 'master-glibc-2.21' into master-glibc-2.22Samuel Thibault
2016-09-12Merge branch 'master' into master-glibc-2.21Samuel Thibault
2016-09-11Add dso_handle parameter to __register_atforkSamuel Thibault
* forward.c (struct atfork): Add dso_handle field. (__register_atfork): Add dso_handle parameter. Store it it dso_handle field. * sysdeps/generic/pt-atfork.c (__dso_handle): New variable. (pthread_atfork): Pass address of __dso_handle to __register_atfork.
2016-08-23Merge branch 'master-glibc-2.22' into master-glibc-2.23Samuel Thibault
2016-08-23Merge branch 'master-glibc-2.21' into master-glibc-2.22Samuel Thibault
2016-08-23Missing NOT_IN_ -> IS_IN conversionSamuel Thibault
* sysdeps/pthread/bits/libc-lockP.h: Use IS_IN (libc) instead of !defined NOT_IN_libc.
2016-08-21Revert "Fix build with 2.22"Samuel Thibault
This reverts commit edb5bb83ec918dc6b77b3da5b246c056932d78d7.
2016-08-20Fix build with 2.22Samuel Thibault
2016-08-20Fix weak reference for static linkingSamuel Thibault
2016-08-20Mark __libc_pthread_init as internal function, as in nptlSamuel Thibault
2016-03-21Fix weak reference for static linkingSamuel Thibault
2016-03-20Mark __libc_pthread_init as internal function, as in nptlSamuel Thibault
2016-03-19Fix build with 2.23Samuel Thibault
* sysdeps/pthread/bits/libc-lockP.h: Move to... * sysdeps/pthread/libc-lockP.h: ... here.
2016-03-19Merge branch 'master-glibc-2.21' into master-glibc-2.23Samuel Thibault
2016-03-17Fix build against glibc 2.23Samuel Thibault
2016-01-03Do not block unmaskable signalsglibc-2.19-hurd+libpthread-20160518Samuel Thibault
* sysdeps/mach/hurd/pt-sigstate.c (__pthread_sigstate): Always remove _SIG_CANT_MASK from blocked signals, like sigprocmask does.
2015-11-25Fix build with hidden supportSamuel Thibault
* sysdeps/generic/pt-key-create.c (pthread_key_create): Rename to __pthread_key_create. (pthread_key_create): New strong_alias. * sysdeps/generic/raise.c (raise): Add libc_hidden_def. (gsignal): Add weak_alias. * sysdeps/hurd/pt-key-create.c (__pthread_key_create): Remove hidden_def.
2015-10-31Merge branch 'master' into master-glibcSamuel Thibault
2015-10-10Fix pthread_killSamuel Thibault
* sysdeps/hurd/pt-kill.c (pthread_kill): Lock ss lock before calling _hurd_raise_signal. Return error returned by _hurd_raise_signal.
2015-10-10Fix errno set by raiseSamuel Thibault
* sysdeps/generic/raise.c: Include <signal.h> and <unistd.h>. (raise): Only set errno when calling pthread_kill, not kill.
2015-09-22Fix name exposure of including semaphore.hSamuel Thibault
* sysdeps/pthread/bits/semaphore.h: Include <bits/spinlock.h> and <bits/pthread.h> instead of the full <pthread.h>.
2015-09-21Avoid exposing function prototype parameter namesSamuel Thibault
* include/pthread/pthread.h: Prepend '__' to parameter names. * sysdeps/mach/hurd/bits/pthread-np.h: Likewise.
2015-09-01Move semaphore.h to place where glibc expects it to beSamuel Thibault
* include/semaphore.h: Move to ... * sysdeps/pthread/semaphore.h: ... here.
2015-09-01Fix spurious dependency of libc on libpthreadSamuel Thibault
* sysdeps/generic/raise.c (pthread_self): Make reference weak.
2015-09-01Fix raise thread-aware implementationSamuel Thibault
* sysdeps/generic/raise.c (pthread_kill): Make ref weak. (raise): Only call pthread_kill when it is not NULL. Call kill otherwise.