This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 0/5] Add support for C11 threads.h


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]