summaryrefslogtreecommitdiff
path: root/sysdeps/pthread
AgeCommit message (Collapse)Author
2018-03-19Avoid installing private pthread.hSamuel Thibault
It was actually by mistake that sysdeps/pthread/pthread.h was getting installed and that we'd have an include/pthread/pthread.h. Let's simplify this. * sysdeps/pthread/pthread.h: Move file content to... * ./sysdeps/pthread/pthreadP.h: ... here. * sysdeps/generic/pthread/pthread.h: Move file to... * sysdeps/generic/pthread.h: ... here. * Makefile (headers): Remove pthread/pthread.h. * Makeconfig (includes): Remove -I$(..)htl/include. * pthread/cthreads-compat.c: Include <pthreadP.h> instead of <pthread.h>
2018-03-19Move pthread/pthreadtypes.h to bits/pthreadtypes.hSamuel Thibault
* Makefile (headers): Remove pthread/pthreadtypes.h. * sysdeps/generic/pthread/pthread.h: Include <bits/pthreadtypes.h> instead of <pthread/pthreadtypes.h>. * sysdeps/generic/timer_routines.h: Likewise. * sysdeps/pthread/pthread/pthreadtypes.h: Move file content to... * sysdeps/pthread/bits/pthreadtypes.h: ... this file. Do not include <pthread/pthreadtypes.h>
2018-03-18Use sched_param for nowSamuel Thibault
This exposes more structure names than desired, but we can see how to fix that another way later. * sysdeps/pthread/bits/thread-attr.h (__need_schedparam): Do not define macro. (struct __pthread_attr): Make __schedparam field struct sched_param instead of struct __sched_param. * sysdeps/generic/pt-attr.c (__pthread_default_attr): Use sched_priority instead of __sched_priority. * sysdeps/generic/pt-getschedparam.c (__pthread_getschedparam): Likewise. * sysdeps/generic/timer_routines.h (thread_attr_compare): Likewise.
2018-03-18Remove __need_pthread_mutex / __pthread_mutex_definedSamuel Thibault
We do not actually use them. * sysdeps/mach/hurd/bits/mutex.h: Always include content. * sysdeps/pthread/bits/mutex.h: Always include content.
2018-03-18Fix getting typesSamuel Thibault
* pthread/pt-internal.h: Include <bits/types/res_state.h> instead of defining __need_res_state and including <resolv.h>. * sysdeps/pthread/semaphore.h [__USE_XOPEN2K]: Include <bits/types/struct_timespec.h> instead of defining __need_timespec and including <time.h>.
2018-03-03Fix copyright years and addressesAmos Jeffries
* sysdeps/mach/hurd/bits/mutex.h: reformat copyright blurb intro to match other files * replace Free Software Foundation address using gnu.org URL from upstream glibc copyright blurbs. * apply upstream glibc scripts/update-copyrights * update copyright date syntax per upstream glibc request
2018-01-27Fix duplicate definition of LIBPTHREAD_VERSIONSamuel Thibault
Now that libpthread is built along glibc, it should follow that versioning anyway. * Makefile (pthread-version): Do not define. * sysdeps/pthread/Makefile [$(subdir) == posix] (CFLAGS-confstr.c): Set -DLIBPTHREAD_VERSION='"HTL $(version)"'.
2018-01-27Use pthread_key for libc_keySamuel Thibault
* sysdeps/pthread/pthread-functions.h (struct pthread_functions): Rename ptr_pthread_key_create, ptr_pthread_getspecific, ptr_pthread_setspecific fields into ptr___pthread_key_create, ptr___pthread_getspecific, ptr___pthread_setspecific * pthread/pt-initialize.c (struct pthread_functions): Likewise. * sysdeps/pthread/libc-lockP.h (__libc_key_t): Define type. [IS_IN (libpthread)] (PTFAVAIL, __libc_ptf_call, __libc_ptf_call_always): Directly call pthread functions. (__libc_key_create): Define macro to calling __pthread_key_create. (__libc_getspecific): Define macro to calling __pthread_getspecific. (__libc_setspecific): Define macro to calling __pthread_setspecific.
2018-01-27Fix warningSamuel Thibault
* sysdeps/pthread/flockfile.c: Do not include <libio.h> * sysdeps/pthread/funlockfile.c: Likewise.
2018-01-25Fix spurious whitespacesSamuel Thibault
2018-01-21Versions: Add missing symbol export from libcSamuel Thibault
* sysdeps/pthread/Versions (__mach_port_allocate): Add symbol.
2018-01-21Move Version to sysdeps so the normal sysdeps mechanism worksSamuel Thibault
to cope with the removal of add-ons mechanism. * pthread/Versions: Move to sysdeps/pthread/.
2018-01-06Move headers to sysdeps so the normal sysdeps mechanism worksSamuel Thibault
to cope with the removal of add-ons mechanism. * include/pthread/pthread.h: rename to sysdeps/generic/pthread/pthread.h * include/pthread/pthreadtypes.h: rename to sysdeps/generic/pthread/pthreadtypes.h * pthreadP.h: rename to sysdeps/pthread/pthreadP.h
2018-01-06Remove use of `internal_function'Samuel Thibault
Recent glibc does not define it any more. * sysdeps/pthread/pthread-functions.h (__libc_pthread_init): Do not qualify with internal_function.
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-08-03Move pthread.h to where glibc will find itSamuel Thibault
* include/pthread.h: Move to... * sysdeps/pthread/pthread.h: ... here.
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-09Merge branch 'master' into master-glibc-2.23Samuel Thibault
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 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-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-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-17Fix build against glibc 2.23Samuel Thibault
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-01Move semaphore.h to place where glibc expects it to beSamuel Thibault
* include/semaphore.h: Move to ... * sysdeps/pthread/semaphore.h: ... here.
2015-03-22Move headers from generic/ to pthread/Samuel Thibault
So that the glibc makerules can find them instead of using the system ones. * sysdeps/generic/bits/barrier-attr.h: Move to... * sysdeps/pthread/bits/barrier-attr.: ... here. * sysdeps/generic/bits/barrier.h: Move to... * sysdeps/pthread/bits/barrier.: ... here. * sysdeps/generic/bits/cancelation.h: Move to... * sysdeps/pthread/bits/cancelation.: ... here. * sysdeps/generic/bits/condition-attr.h: Move to... * sysdeps/pthread/bits/condition-attr.: ... here. * sysdeps/generic/bits/condition.h: Move to... * sysdeps/pthread/bits/condition.: ... here. * sysdeps/generic/bits/mutex-attr.h: Move to... * sysdeps/pthread/bits/mutex-attr.: ... here. * sysdeps/generic/bits/mutex.h: Move to... * sysdeps/pthread/bits/mutex.: ... here. * sysdeps/generic/bits/once.h: Move to... * sysdeps/pthread/bits/once.: ... here. * sysdeps/generic/bits/pthread-np.h: Move to... * sysdeps/pthread/bits/pthread-np.: ... here. * sysdeps/generic/bits/pthread.h: Move to... * sysdeps/pthread/bits/pthread.: ... here. * sysdeps/generic/bits/pthreadtypes.h: Move to... * sysdeps/pthread/bits/pthreadtypes.: ... here. * sysdeps/generic/bits/rwlock-attr.h: Move to... * sysdeps/pthread/bits/rwlock-attr.: ... here. * sysdeps/generic/bits/rwlock.h: Move to... * sysdeps/pthread/bits/rwlock.: ... here. * sysdeps/generic/bits/semaphore.h: Move to... * sysdeps/pthread/bits/semaphore.: ... here. * sysdeps/generic/bits/thread-attr.h: Move to... * sysdeps/pthread/bits/thread-attr.: ... here. * sysdeps/generic/bits/thread-specific.h: Move to... * sysdeps/pthread/bits/thread-specific.: ... here.
2015-03-22Fix build after 32b1b38Samuel Thibault
* sysdeps/pthread/pthread-functions.h (pthread_functions): Rename ptr_pthread_exit field to ptr___pthread_exit. * pthread/pt-initialize.c (pthread_functions): Likewise.
2015-03-08Fix static linking of programs using pthreadSamuel Thibault
The libc-provided lockfile functions must be overriden by the libpthread ones. * sysdeps/pthread/flockfile.c (_IO_flockfile): Make alias weak. * sysdeps/pthread/ftrylockfile.c (_IO_ftrylockfile): Likewise. * sysdeps/pthread/funlockfile.c (_IO_funlockfile): Likewise.
2015-03-08Move pthread-specific lock definitions and declarations to libpthreadSamuel Thibault
* sysdeps/pthread/bits/libc-lockP.h: New file * pthread/pthread-functions.h: Move to... * sysdeps/pthread/pthread-functions.h: ... here.
2015-03-01Forward lockfile calls from libc to dynamically loaded libpthreadSamuel Thibault
* forward.c: (__libc_pthread_functions_init): Add variable (FORWARD2): Use __libc_pthread_functions_init instead of testing __libc_pthread_functions.ptr_##name value. (FORWARD_NORETURN): Add macro. (pthread_exit): Use FORWARD_NORETURN instead of FORWARD2. * libc_pthread_init.c (__libc_pthread_init): Set __libc_pthread_functions_init to 1. * pthread/pthread-functions.h (__pthread_once, __pthread_rwlock_rdlock, __pthread_rwlock_wrlock, __pthread_rwlock_unlock, __pthread_key_create, __pthread_getspecific, __pthread_setspecific, _cthreads_flockfile, _cthreads_funlockfile, _cthreads_ftrylockfile): Add prototypes. (pthread_functions): Add ptr_pthread_once, ptr_pthread_rwlock_rdlock, ptr_pthread_rwlock_wrlock, ptr_pthread_rwlock_unlock, ptr_pthread_key_create, ptr_pthread_getspecific, ptr_pthread_setspecific, ptr__IO_flockfile, ptr__IO_funlockfile, ptr__IO_ftrylockfile. (__libc_pthread_functions_init): Add variable declaration. (PTHFCT_CALL): Add macro. * pthread/pt-initialize.c (pthread_functions): Initialize ptr_pthread_once, ptr_pthread_rwlock_rdlock, ptr_pthread_rwlock_wrlock, pthread_rwlock_unlock, ptr_ptr_pthread_key_create, pthread_getspecific, ptr_pthread_setspecific, ptr_ptr__IO_flockfile, _IO_funlockfile, ptr__IO_ftrylockfile. * sysdeps/generic/pt-once.c (pthread_once): Rename to __pthread_once (pthread_once): Add strong alias. * sysdeps/generic/pt-rwlock-rdlock.c (pthread_rwlock_rdlock): Rename to __pthread_rwlock_rdlock (pthread_rwlock_rdlock): Add strong alias. * sysdeps/generic/pt-rwlock-wrlock.c (pthread_rwlock_wrlock): Rename to __pthread_rwlock_wrlock (pthread_rwlock_wrlock): Add strong alias. * sysdeps/generic/pt-rwlock-unlock.c (pthread_rwlock_unlock): Rename to __pthread_rwlock_unlock (pthread_rwlock_unlock): Add strong alias. * sysdeps/generic/pt-getspecific.c (pthread_getspecific): Rename to __pthread_getspecific (pthread_getspecific): Add strong alias. * sysdeps/generic/pt-setspecific.c (pthread_setspecific): Rename to __pthread_setspecific (pthread_setspecific): Add strong alias. * sysdeps/pthread/flockfile.c: Add file. * sysdeps/pthread/ftrylockfile.c: Add file. * sysdeps/pthread/funlockfile.c: Add file.
2014-01-02add FIXME commentSamuel Thibault
2013-01-25New Makefile snippet for the "pthread" sysdepPino Toscano
Hook the libpthread version when compiling glibc's confstr.c, so that confstr can show it. * sysdeps/pthread/Makefile: New file.