From patchwork Fri Feb 2 17:04:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella X-Patchwork-Id: 126752 Delivered-To: patch@linaro.org Received: by 10.46.124.24 with SMTP id x24csp818586ljc; Fri, 2 Feb 2018 09:05:06 -0800 (PST) X-Google-Smtp-Source: AH8x225b9Y/4o0drPrJ9Kfty886uQMatsH3K82pXMOKUCEmbUNbmWcSGxINHSFObn7aS9/fl/gzo X-Received: by 10.99.172.86 with SMTP id z22mr32237487pgn.227.1517591105881; Fri, 02 Feb 2018 09:05:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517591105; cv=none; d=google.com; s=arc-20160816; b=u7ErSHV3uometcnZvwdFs2OWVvZ7YEjjcsZolBAeECkjzrDbv8QOyVfIwkDCUQUlRx B29ft2EjgBZMeftj7KJn8TIOZGO/Ti9RxOJ88mevcufIkQqvvBw+6ig2vlr28tEilVe6 Az2wi7wa3wjtFuWltCePWDCOvr15FRyNUEK4XKWHWDvdN9rFbCjR3GTTZawEhiyJ/m3f WVZVgc3tw5sEEc+DD6xlx/zV/eA3Dwrmp6bASFUOUxc3UwmwWSvrAT0R4BJC3Kph6ipK 6xmyKuCnQ2hXSN96Rl7ZvxTYqKrexK22VEllFNuJbR8CLXgPewjTZVfmnoAxPfjE1CBn Npig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=message-id:date:subject:to:from:delivered-to:sender:list-help :list-post:list-archive:list-subscribe:list-unsubscribe:list-id :precedence:mailing-list:dkim-signature:domainkey-signature :arc-authentication-results; bh=GVsAdk62okGJXotSIisQoW3B7cT8+34DEgizBIpQV+A=; b=rI3q7mruPM5AN6Pu8gKwpQH8lN9DoeS2EMVTfg7XhAgCoqL12fcHxLOTa/bQJENd/X 2unLIv7eXwBUE9R3xD//yyTYC8yk+EE0yBJswVP5GEzx3UZtoPmKEOLqVAYuJkwrwNuF YZXVqTNg9zRwxDck1zoSGWKUSGgNn0Tygp03Bs5Dk4VbEc8qRVrJrGvWgR34/QGvslqq /qoKKVP77nAcXOQgy/jBo6Zr1N0E5TnOPPfNbqoASGHypoeRO9O1N/mR5JTTF3qBUENB loJ514uMlrocjfzymuTT3A2FADaAQCmJTOWIxPUY0Isor5djdErP7qMmFFns3eri7u2F qTyg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=Mf+YNpDs; spf=pass (google.com: domain of libc-alpha-return-89920-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=libc-alpha-return-89920-patch=linaro.org@sourceware.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id r3-v6si2138584plb.232.2018.02.02.09.05.05 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 02 Feb 2018 09:05:05 -0800 (PST) Received-SPF: pass (google.com: domain of libc-alpha-return-89920-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=Mf+YNpDs; spf=pass (google.com: domain of libc-alpha-return-89920-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=libc-alpha-return-89920-patch=linaro.org@sourceware.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id; q=dns; s= default; b=CcTFT933QfKUqwY0I386QV7e8ISYRnjVrUmnpnRTh545oLsjb/tTJ jauLmKl2eCY2qZmbfFVJTe1aPx+Iq+IrK0aZQKvDxbPqXjKCKuaHEWfmcpRgkmHO AdXsPTPSj5KH7MP8U4vy4FVi0KbZjoKczhJH0vrgTkEoCqsPCBExw8= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id; s=default; bh=ENk37lypJT+3Sdd7hKewjK+2Q4g=; b=Mf+YNpDs6axvra9PQ3QoWwdoLLcu WrdO2UspShHGtYuqPnpDbGCe6ykDbqzjsP1kf6F0qrXShczPF+hbnbgsodu6Z0jU HXofTjX5eupXSSMBr9Haclj0agdsc8Q/OAR4YbjsaNK+Leo+QeommsgDnvFe/JkA 2qgLjPkSPjGMMFI= Received: (qmail 128187 invoked by alias); 2 Feb 2018 17:04:56 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 128178 invoked by uid 89); 2 Feb 2018 17:04:55 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-7.4 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.2 spammy=juan, manuel, Torres, Manuel X-HELO: mail-qk0-f195.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id; bh=GVsAdk62okGJXotSIisQoW3B7cT8+34DEgizBIpQV+A=; b=OGp2vjnPwjy3cRl2OBGOXVPxNPxj9jH8AKCf20izl4Cf36/Ev3rkOGIa9dg8M1EX6q nhSGvbsXlLg4jk/jeRj8zdf4tdlUj3B6t3crUYRVE47xAFba8CwulJYND6E0QFk7zdQ1 wYW82XbdpBz0DNP6y51GgWTgmAZ8aOx0Ci0V+G2ZJ9MSxofTyxDiVEBR5oC8WwDqXjpV WJvw6Z1qNE7WutruMb6CTASIWCBaQjRBpOivSDisnoTtjJNmKAGMorw0pcfoUdZd22Xf nsjGbJXNm69vnj1zGoUlB6ri67dP+baAIjK+2SIKrlc8zg/5UAtGfSdqbuzVcmBNUJim zBNg== X-Gm-Message-State: AKwxytfB9k3f+yDBMS0prsLP81CEXFwFXPhXFmRdU6kWwIetkWprm0fv 16w9cM/0G5I+Lic2sjIwHMqiPaM0hx8= X-Received: by 10.55.79.68 with SMTP id d65mr61894472qkb.153.1517591091720; Fri, 02 Feb 2018 09:04:51 -0800 (PST) From: Adhemerval Zanella To: libc-alpha@sourceware.org Subject: [PATCH v8 0/8] Add support for ISO C threads.h Date: Fri, 2 Feb 2018 15:04:36 -0200 Message-Id: <1517591084-11347-1-git-send-email-adhemerval.zanella@linaro.org> This is a new update for C11 threads support based on my previous [1] version. The main changes from previous version are: - Rebase against 2.28. - Add RISCV abilist symbols. - Adjusted copyright dates for 2018. - Remove some redundant comments. 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-09/msg00871.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 | 175 ++++++++++ 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 | 31 ++ nptl/cnd_broadcast.c | 26 ++ nptl/cnd_destroy.c | 26 ++ nptl/cnd_init.c | 32 ++ nptl/cnd_signal.c | 26 ++ nptl/cnd_timedwait.c | 29 ++ nptl/cnd_wait.c | 27 ++ nptl/descr.h | 2 + nptl/mtx_destroy.c | 26 ++ nptl/mtx_init.c | 52 +++ nptl/mtx_lock.c | 26 ++ nptl/mtx_timedlock.c | 28 ++ nptl/mtx_trylock.c | 26 ++ nptl/mtx_unlock.c | 26 ++ nptl/pthreadP.h | 3 + nptl/pthread_create.c | 18 +- nptl/thrd_create.c | 29 ++ nptl/thrd_current.c | 25 ++ nptl/thrd_detach.c | 28 ++ nptl/thrd_equal.c | 25 ++ nptl/thrd_exit.c | 25 ++ nptl/thrd_join.c | 30 ++ nptl/thrd_priv.h | 45 +++ nptl/thrd_sleep.c | 38 +++ nptl/thrd_yield.c | 26 ++ nptl/tss_create.c | 28 ++ nptl/tss_delete.c | 25 ++ nptl/tss_get.c | 25 ++ nptl/tss_set.c | 26 ++ 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 ++ .../unix/sysv/linux/riscv/rv64/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 ++ .../sysv/linux/tile/tilegx32/libpthread.abilist | 26 ++ .../sysv/linux/tile/tilegx64/libpthread.abilist | 26 ++ .../unix/sysv/linux/x86_64/64/libpthread.abilist | 26 ++ .../unix/sysv/linux/x86_64/x32/libpthread.abilist | 26 ++ 74 files changed, 3011 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 Reviewed-by: Carlos O'Donell