From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
To: libc-alpha@sourceware.org
Subject: [PATCH v4 0/4] Add support for ISO C11 threads.h
Date: Wed, 10 May 2017 18:41:00 -0000 [thread overview]
Message-ID: <1494441656-1212-1-git-send-email-adhemerval.zanella@linaro.org> (raw)
This is a new update for C11 threads support based on my previous [1]
version. As discussed in previous thread and after several inputs
the general consensus [2] regarding current C11 DRs related to thread
support [3] (currently 405, 414, 416, 424, 449, 469, 470, 479, 480, and
493) is it should not prevent a implementation based on POSIX primitives.
So I would like to stil propose it for 2.26. I rebased my previous
version on top os master, so the patchset is simplified and should
contain only C11 threads code.
The main changes from previous version are:
- Rebased against master to adjust for CALL_THREAD_FCT macro, pthread
header reorganization, and mmap adjustment.
- Fixed some wording and typos.
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-03/msg00461.html
[2] https://sourceware.org/ml/libc-alpha/2017-04/msg00096.html
[3] http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2109.htm
[4] https://sourceware.org/git/?p=glibc.git;a=commit;h=a358c805300e358e30d4788a6f19c69988623a5c
[5] https://sourceware.org/git/?p=glibc.git;a=commit;h=eab380d8ec9884e90232dceba24161e63ddd26b8
Adhemerval Zanella (3):
Clean pthread functions namespaces for C11 threads
Add C11 threads support
Add test cases for ISO C11 threads
Juan Manuel Torres Palma (1):
Add manual documentation for threads.h
ChangeLog | 186 +++++++++++
NEWS | 9 +
conform/Makefile | 7 +-
conform/data/threads.h-data | 56 ++++
include/sched.h | 2 +
include/stdc-predef.h | 3 -
include/sys/mman.h | 4 +
include/termios.h | 2 +
include/time.h | 2 +-
manual/Makefile | 2 +-
manual/isothreads.texi | 355 +++++++++++++++++++++
misc/Versions | 2 +
misc/mmap.c | 1 +
misc/mmap64.c | 1 +
nptl/Makefile | 17 +-
nptl/Versions | 16 +
nptl/allocatestack.c | 24 +-
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 | 12 +
nptl/pthread_cancel.c | 7 +-
nptl/pthread_create.c | 36 ++-
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 | 5 +-
nptl/pthread_mutex_trylock.c | 3 +-
nptl/pthread_mutex_unlock.c | 2 +-
nptl/pthread_mutexattr_init.c | 3 +-
nptl/pthread_mutexattr_settype.c | 3 +-
nptl/pthread_self.c | 2 +-
nptl/pthread_setspecific.c | 2 +-
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/tpp.c | 4 +-
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 +++++
posix/nanosleep.c | 2 +-
sysdeps/nacl/libpthread.abilist | 26 ++
sysdeps/nptl/threads.h | 204 ++++++++++++
sysdeps/posix/gethostname.c | 2 +-
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/Versions | 2 +-
sysdeps/unix/sysv/linux/i386/libpthread.abilist | 26 ++
sysdeps/unix/sysv/linux/i386/smp.h | 2 +-
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/mmap.c | 1 +
sysdeps/unix/sysv/linux/mmap64.c | 2 +
sysdeps/unix/sysv/linux/nios2/libpthread.abilist | 26 ++
sysdeps/unix/sysv/linux/powerpc/ioctl.c | 6 +-
.../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 ++
sysdeps/unix/sysv/linux/tcsetattr.c | 3 +-
.../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 ++
111 files changed, 3186 insertions(+), 66 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
next reply other threads:[~2017-05-10 18:41 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-10 18:41 Adhemerval Zanella [this message]
2017-05-10 18:41 ` [PATCH v4 3/4] Add test cases for ISO C11 threads Adhemerval Zanella
2017-05-10 18:41 ` [PATCH v4 1/4] Clean pthread functions namespaces for " Adhemerval Zanella
2017-05-10 18:41 ` [PATCH v4 2/4] Add C11 threads support Adhemerval Zanella
2017-05-10 20:22 ` Joseph Myers
2017-05-10 20:25 ` Adhemerval Zanella
2017-05-10 18:41 ` [PATCH v4 4/4] Add manual documentation for threads.h Adhemerval Zanella
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1494441656-1212-1-git-send-email-adhemerval.zanella@linaro.org \
--to=adhemerval.zanella@linaro.org \
--cc=libc-alpha@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).