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 v6 0/8] Add support for ISO C threads.h


This is a new update for C11 threads support based on my previous [1]
version.  The main changes from previous version are:

  - Split the C11 implementation in 5 patches to simplify it: one for
    thrd_* function, one for mtx_*, one for call_once, one for cnd_*,
    one for tss_*, and one for the abilist files update.

  - Fix some ChangeLog references for 2.25 version.

The idea is still to propose for 2.26. Based on previous discussion
there is no impending issue regarding C11 DRs related to threads to
avoid a POSIX based C11 thread implementation.

I tested this without regression with a full make/check on
x86_64-linux-gnu, i686-linux-gnu, powerpc64le-linux-gnu,
powerpc-linux-gnu, aarch64-linux-gnu, arm-linux-gnueabihf,
sparc64-linux-gnu, and sparcv9-linux-gnu.

[1] https://sourceware.org/ml/libc-alpha/2017-06/msg00853.html

Adhemerval Zanella (7):
  nptl: Add C11 threads thrd_* functions
  nptl: Add C11 threads mtx_* functions
  nptl: Add C11 threads call_once functions
  nptl: Add C11 threads cnd_* functions
  nptl: Add C11 threads tss_* functions
  nptl: Add abilist symbols for C11 threads
  nptl: Add test cases for ISO C11 threads

Juan Manuel Torres Palma (1):
  Add manual documentation for threads.h

 ChangeLog                                          | 174 ++++++++++
 conform/Makefile                                   |   7 +-
 conform/data/threads.h-data                        |  57 ++++
 include/stdc-predef.h                              |   3 -
 manual/Makefile                                    |   2 +-
 manual/isothreads.texi                             | 355 +++++++++++++++++++++
 nptl/Makefile                                      |  15 +-
 nptl/Versions                                      |   9 +
 nptl/call_once.c                                   |  27 ++
 nptl/cnd_broadcast.c                               |  28 ++
 nptl/cnd_destroy.c                                 |  28 ++
 nptl/cnd_init.c                                    |  27 ++
 nptl/cnd_signal.c                                  |  28 ++
 nptl/cnd_timedwait.c                               |  31 ++
 nptl/cnd_wait.c                                    |  28 ++
 nptl/descr.h                                       |   2 +
 nptl/mtx_destroy.c                                 |  27 ++
 nptl/mtx_init.c                                    |  48 +++
 nptl/mtx_lock.c                                    |  28 ++
 nptl/mtx_timedlock.c                               |  31 ++
 nptl/mtx_trylock.c                                 |  29 ++
 nptl/mtx_unlock.c                                  |  28 ++
 nptl/pthreadP.h                                    |   3 +
 nptl/pthread_create.c                              |  18 +-
 nptl/thrd_create.c                                 |  30 ++
 nptl/thrd_current.c                                |  26 ++
 nptl/thrd_detach.c                                 |  30 ++
 nptl/thrd_equal.c                                  |  26 ++
 nptl/thrd_exit.c                                   |  27 ++
 nptl/thrd_join.c                                   |  32 ++
 nptl/thrd_priv.h                                   |  46 +++
 nptl/thrd_sleep.c                                  |  41 +++
 nptl/thrd_yield.c                                  |  29 ++
 nptl/tss_create.c                                  |  29 ++
 nptl/tss_delete.c                                  |  27 ++
 nptl/tss_get.c                                     |  27 ++
 nptl/tss_set.c                                     |  28 ++
 nptl/tst-call-once.c                               |  66 ++++
 nptl/tst-cnd-basic.c                               |  68 ++++
 nptl/tst-cnd-broadcast.c                           |  83 +++++
 nptl/tst-cnd-timedwait.c                           |  70 ++++
 nptl/tst-mtx-basic.c                               |  73 +++++
 nptl/tst-mtx-recursive.c                           |  45 +++
 nptl/tst-mtx-timedlock.c                           |  98 ++++++
 nptl/tst-mtx-trylock.c                             |  90 ++++++
 nptl/tst-thrd-detach.c                             |  52 +++
 nptl/tst-thrd-sleep.c                              |  51 +++
 nptl/tst-tss-basic.c                               |  75 +++++
 sysdeps/nptl/threads.h                             | 200 ++++++++++++
 sysdeps/unix/sysv/linux/aarch64/libpthread.abilist |  26 ++
 sysdeps/unix/sysv/linux/alpha/libpthread.abilist   |  26 ++
 sysdeps/unix/sysv/linux/arm/libpthread.abilist     |  26 ++
 sysdeps/unix/sysv/linux/hppa/libpthread.abilist    |  26 ++
 sysdeps/unix/sysv/linux/i386/libpthread.abilist    |  26 ++
 sysdeps/unix/sysv/linux/ia64/libpthread.abilist    |  26 ++
 .../sysv/linux/m68k/coldfire/libpthread.abilist    |  26 ++
 .../unix/sysv/linux/m68k/m680x0/libpthread.abilist |  26 ++
 .../unix/sysv/linux/microblaze/libpthread.abilist  |  26 ++
 .../unix/sysv/linux/mips/mips32/libpthread.abilist |  26 ++
 .../unix/sysv/linux/mips/mips64/libpthread.abilist |  26 ++
 sysdeps/unix/sysv/linux/nios2/libpthread.abilist   |  26 ++
 .../linux/powerpc/powerpc32/libpthread.abilist     |  26 ++
 .../linux/powerpc/powerpc64/libpthread-le.abilist  |  26 ++
 .../linux/powerpc/powerpc64/libpthread.abilist     |  26 ++
 .../sysv/linux/s390/s390-32/libpthread.abilist     |  26 ++
 .../sysv/linux/s390/s390-64/libpthread.abilist     |  26 ++
 sysdeps/unix/sysv/linux/sh/libpthread.abilist      |  26 ++
 .../sysv/linux/sparc/sparc32/libpthread.abilist    |  26 ++
 .../sysv/linux/sparc/sparc64/libpthread.abilist    |  26 ++
 .../linux/tile/tilegx/tilegx32/libpthread.abilist  |  26 ++
 .../linux/tile/tilegx/tilegx64/libpthread.abilist  |  26 ++
 .../sysv/linux/tile/tilepro/libpthread.abilist     |  26 ++
 .../unix/sysv/linux/x86_64/64/libpthread.abilist   |  26 ++
 .../unix/sysv/linux/x86_64/x32/libpthread.abilist  |  26 ++
 74 files changed, 3040 insertions(+), 12 deletions(-)
 create mode 100644 conform/data/threads.h-data
 create mode 100644 manual/isothreads.texi
 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_priv.h
 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-detach.c
 create mode 100644 nptl/tst-thrd-sleep.c
 create mode 100644 nptl/tst-tss-basic.c
 create mode 100644 sysdeps/nptl/threads.h

-- 
2.7.4


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