This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH 0/5] Add support for C11 threads.h
- From: Juan Manuel Torres Palma <j dot m dot torrespalma at gmail dot com>
- To: libc-alpha at sourceware dot org
- Cc: Juan Manuel Torres Palma <jmtorrespalma at gmail dot com>
- Date: Mon, 10 Aug 2015 23:37:45 +0900
- Subject: [PATCH 0/5] Add support for C11 threads.h
- Authentication-results: sourceware.org; auth=none
From: Juan Manuel Torres Palma <jmtorrespalma@gmail.com>
This patchset adds support for the header threads.h defined in ISO C11
standard. The implementation is based on POSIX threads because both
APIs have many similarities and many of their functions have exactly
the same functionality.
Juan Manuel Torres Palma (5):
Clean pthread types namespace for all archs.
Clean pthread functions namespaces for C11 threads
Add C11 threads.h support.
Add manual documentation for threads.h
Add test cases for ISO C11 threads
bits/pthreadtypes-common.h | 43 +++
bits/thread-shared-types.h | 1 +
conform/Makefile | 7 +-
conform/data/threads.h-data | 56 ++++
include/stdc-predef.h | 2 -
include/threads.h | 198 +++++++++++++
manual/Makefile | 3 +-
manual/isothreads.texi | 326 +++++++++++++++++++++
misc/Versions | 1 +
nptl/Makefile | 20 +-
nptl/Versions | 16 +-
nptl/__thrd_err_map.h | 43 +++
nptl/allocatestack.c | 22 +-
nptl/call_once.c | 29 ++
nptl/cnd_broadcast.c | 30 ++
nptl/cnd_destroy.c | 29 ++
nptl/cnd_init.c | 29 ++
nptl/cnd_signal.c | 30 ++
nptl/cnd_timedwait.c | 33 +++
nptl/cnd_wait.c | 31 ++
nptl/mtx_destroy.c | 28 ++
nptl/mtx_init.c | 54 ++++
nptl/mtx_lock.c | 31 ++
nptl/mtx_timedlock.c | 35 +++
nptl/mtx_trylock.c | 31 ++
nptl/mtx_unlock.c | 31 ++
nptl/pthreadP.h | 6 +
nptl/pthread_cancel.c | 5 +-
nptl/pthread_create.c | 18 +-
nptl/pthread_detach.c | 3 +-
nptl/pthread_equal.c | 2 +-
nptl/pthread_exit.c | 4 +-
nptl/pthread_getspecific.c | 2 +-
nptl/pthread_join.c | 3 +-
nptl/pthread_key_create.c | 2 +-
nptl/pthread_key_delete.c | 3 +-
nptl/pthread_mutex_destroy.c | 2 +-
nptl/pthread_mutex_init.c | 2 +-
nptl/pthread_mutex_lock.c | 2 +-
nptl/pthread_mutex_timedlock.c | 3 +-
nptl/pthread_mutex_trylock.c | 2 +-
nptl/pthread_mutex_unlock.c | 2 +-
nptl/pthread_mutexattr_init.c | 2 +-
nptl/pthread_mutexattr_settype.c | 2 +-
nptl/pthread_self.c | 2 +-
nptl/pthread_setspecific.c | 2 +-
nptl/thrd_create.c | 32 ++
nptl/thrd_current.c | 28 ++
nptl/thrd_detach.c | 32 ++
nptl/thrd_equal.c | 28 ++
nptl/thrd_exit.c | 34 +++
nptl/thrd_join.c | 48 +++
nptl/thrd_sleep.c | 34 +++
nptl/thrd_yield.c | 29 ++
nptl/tpp.c | 4 +-
nptl/tss_create.c | 32 ++
nptl/tss_delete.c | 30 ++
nptl/tss_get.c | 30 ++
nptl/tss_set.c | 30 ++
nptl/tst-call-once.c | 77 +++++
nptl/tst-cnd-basic.c | 92 ++++++
nptl/tst-cnd-broadcast.c | 95 ++++++
nptl/tst-cnd-timedwait.c | 104 +++++++
nptl/tst-mtx-basic.c | 112 +++++++
nptl/tst-mtx-recursive.c | 57 ++++
nptl/tst-mtx-timedlock.c | 124 ++++++++
nptl/tst-mtx-trylock.c | 114 +++++++
nptl/tst-thrd-basic.c | 63 ++++
nptl/tst-thrd-detach.c | 61 ++++
nptl/tst-thrd-sleep.c | 71 +++++
nptl/tst-tss-basic.c | 70 +++++
posix/Makefile | 3 +-
sysdeps/aarch64/nptl/bits/pthreadtypes.h | 42 +--
sysdeps/aarch64/nptl/bits/thread-shared-types.h | 75 +++++
sysdeps/arm/nptl/bits/pthreadtypes.h | 45 +--
sysdeps/arm/nptl/bits/thread-shared-types.h | 78 +++++
sysdeps/hppa/nptl/bits/pthreadtypes.h | 73 +----
sysdeps/hppa/nptl/bits/thread-shared-types.h | 98 +++++++
sysdeps/ia64/nptl/bits/pthreadtypes.h | 44 +--
sysdeps/ia64/nptl/bits/thread-shared-types.h | 73 +++++
sysdeps/m68k/nptl/bits/pthreadtypes.h | 45 +--
sysdeps/m68k/nptl/bits/thread-shared-types.h | 80 +++++
sysdeps/microblaze/nptl/bits/pthreadtypes.h | 43 +--
sysdeps/microblaze/nptl/bits/thread-shared-types.h | 76 +++++
sysdeps/mips/nptl/bits/pthreadtypes.h | 64 +---
sysdeps/mips/nptl/bits/thread-shared-types.h | 99 +++++++
sysdeps/nacl/libpthread.abilist | 27 ++
sysdeps/nios2/nptl/bits/pthreadtypes.h | 45 +--
sysdeps/nios2/nptl/bits/thread-shared-types.h | 77 +++++
sysdeps/posix/gethostname.c | 2 +-
sysdeps/s390/nptl/bits/pthreadtypes.h | 89 +-----
sysdeps/s390/nptl/bits/thread-shared-types.h | 123 ++++++++
sysdeps/sh/nptl/bits/pthreadtypes.h | 45 +--
sysdeps/sh/nptl/bits/thread-shared-types.h | 78 +++++
sysdeps/sparc/nptl/bits/pthreadtypes.h | 64 +---
sysdeps/sparc/nptl/bits/thread-shared-types.h | 103 +++++++
sysdeps/tile/nptl/bits/pthreadtypes.h | 63 +---
sysdeps/tile/nptl/bits/thread-shared-types.h | 101 +++++++
sysdeps/unix/sysv/linux/aarch64/libpthread.abilist | 27 ++
sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h | 44 +--
.../sysv/linux/alpha/bits/thread-shared-types.h | 77 +++++
sysdeps/unix/sysv/linux/alpha/libpthread.abilist | 27 ++
sysdeps/unix/sysv/linux/arm/libpthread.abilist | 27 ++
sysdeps/unix/sysv/linux/hppa/libpthread.abilist | 27 ++
sysdeps/unix/sysv/linux/i386/libpthread.abilist | 27 ++
sysdeps/unix/sysv/linux/ia64/libpthread.abilist | 27 ++
.../sysv/linux/m68k/coldfire/libpthread.abilist | 27 ++
.../unix/sysv/linux/m68k/m680x0/libpthread.abilist | 27 ++
.../unix/sysv/linux/microblaze/libpthread.abilist | 27 ++
.../unix/sysv/linux/mips/mips32/libpthread.abilist | 27 ++
.../unix/sysv/linux/mips/mips64/libpthread.abilist | 27 ++
sysdeps/unix/sysv/linux/nios2/libpthread.abilist | 27 ++
.../unix/sysv/linux/powerpc/bits/pthreadtypes.h | 59 +---
.../sysv/linux/powerpc/bits/thread-shared-types.h | 110 +++++++
.../linux/powerpc/powerpc32/libpthread.abilist | 27 ++
.../linux/powerpc/powerpc64/libpthread.abilist | 27 ++
.../sysv/linux/s390/s390-32/libpthread.abilist | 27 ++
.../sysv/linux/s390/s390-64/libpthread.abilist | 27 ++
sysdeps/unix/sysv/linux/sh/libpthread.abilist | 27 ++
.../sysv/linux/sparc/sparc32/libpthread.abilist | 27 ++
.../sysv/linux/sparc/sparc64/libpthread.abilist | 27 ++
.../linux/tile/tilegx/tilegx32/libpthread.abilist | 27 ++
.../linux/tile/tilegx/tilegx64/libpthread.abilist | 27 ++
.../sysv/linux/tile/tilepro/libpthread.abilist | 27 ++
.../unix/sysv/linux/x86_64/64/libpthread.abilist | 27 ++
.../unix/sysv/linux/x86_64/x32/libpthread.abilist | 27 ++
sysdeps/x86/bits/pthreadtypes.h | 76 +----
sysdeps/x86/bits/thread-shared-types.h | 116 ++++++++
128 files changed, 4667 insertions(+), 877 deletions(-)
create mode 100644 bits/pthreadtypes-common.h
create mode 100644 bits/thread-shared-types.h
create mode 100644 conform/data/threads.h-data
create mode 100644 include/threads.h
create mode 100644 manual/isothreads.texi
create mode 100644 nptl/__thrd_err_map.h
create mode 100644 nptl/call_once.c
create mode 100644 nptl/cnd_broadcast.c
create mode 100644 nptl/cnd_destroy.c
create mode 100644 nptl/cnd_init.c
create mode 100644 nptl/cnd_signal.c
create mode 100644 nptl/cnd_timedwait.c
create mode 100644 nptl/cnd_wait.c
create mode 100644 nptl/mtx_destroy.c
create mode 100644 nptl/mtx_init.c
create mode 100644 nptl/mtx_lock.c
create mode 100644 nptl/mtx_timedlock.c
create mode 100644 nptl/mtx_trylock.c
create mode 100644 nptl/mtx_unlock.c
create mode 100644 nptl/thrd_create.c
create mode 100644 nptl/thrd_current.c
create mode 100644 nptl/thrd_detach.c
create mode 100644 nptl/thrd_equal.c
create mode 100644 nptl/thrd_exit.c
create mode 100644 nptl/thrd_join.c
create mode 100644 nptl/thrd_sleep.c
create mode 100644 nptl/thrd_yield.c
create mode 100644 nptl/tss_create.c
create mode 100644 nptl/tss_delete.c
create mode 100644 nptl/tss_get.c
create mode 100644 nptl/tss_set.c
create mode 100644 nptl/tst-call-once.c
create mode 100644 nptl/tst-cnd-basic.c
create mode 100644 nptl/tst-cnd-broadcast.c
create mode 100644 nptl/tst-cnd-timedwait.c
create mode 100644 nptl/tst-mtx-basic.c
create mode 100644 nptl/tst-mtx-recursive.c
create mode 100644 nptl/tst-mtx-timedlock.c
create mode 100644 nptl/tst-mtx-trylock.c
create mode 100644 nptl/tst-thrd-basic.c
create mode 100644 nptl/tst-thrd-detach.c
create mode 100644 nptl/tst-thrd-sleep.c
create mode 100644 nptl/tst-tss-basic.c
create mode 100644 sysdeps/aarch64/nptl/bits/thread-shared-types.h
create mode 100644 sysdeps/arm/nptl/bits/thread-shared-types.h
create mode 100644 sysdeps/hppa/nptl/bits/thread-shared-types.h
create mode 100644 sysdeps/ia64/nptl/bits/thread-shared-types.h
create mode 100644 sysdeps/m68k/nptl/bits/thread-shared-types.h
create mode 100644 sysdeps/microblaze/nptl/bits/thread-shared-types.h
create mode 100644 sysdeps/mips/nptl/bits/thread-shared-types.h
create mode 100644 sysdeps/nios2/nptl/bits/thread-shared-types.h
create mode 100644 sysdeps/s390/nptl/bits/thread-shared-types.h
create mode 100644 sysdeps/sh/nptl/bits/thread-shared-types.h
create mode 100644 sysdeps/sparc/nptl/bits/thread-shared-types.h
create mode 100644 sysdeps/tile/nptl/bits/thread-shared-types.h
create mode 100644 sysdeps/unix/sysv/linux/alpha/bits/thread-shared-types.h
create mode 100644 sysdeps/unix/sysv/linux/powerpc/bits/thread-shared-types.h
create mode 100644 sysdeps/x86/bits/thread-shared-types.h
--
2.1.0