From patchwork Mon Oct 14 20:56:35 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 176337 Delivered-To: patch@linaro.org Received: by 2002:a92:7e96:0:0:0:0:0 with SMTP id q22csp5011444ill; Mon, 14 Oct 2019 13:57:28 -0700 (PDT) X-Google-Smtp-Source: APXvYqxq++i6QsndKmzRdv/4CdK/wpkLG9bW4N379H1/sxezNhR8guaK/8Ng844fr7oQj5Ka7PB4 X-Received: by 2002:a05:6402:29a:: with SMTP id l26mr29886432edv.290.1571086647958; Mon, 14 Oct 2019 13:57:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1571086647; cv=none; d=google.com; s=arc-20160816; b=X2X8xlmSX9EN+vBgw/logh5fYuobA2TGhfxoIGRq3rUDRXVgEjPvj7SLCnAMHtEVwm i6o4OtFbNOPj6Gkb+8zVIxqAe3ftT94u4gVHBf3ImNdyc/DE+KJP6mqbw8KJWIYKQ/n7 ziXuzE5XfuG1mdV32uvt/VW8vmLDTtz4avOoKY16a8fFjax9gUxwvIVYXWMX5gHF3M4A Hz6XG7mCUwDUh5nxs1Kvr1N9WZlta+U0bkTETl03PaqEYU9tWU5U+lMWOEtlNytu5VtX IVUiVrmTr9A0sn+mtPojsCz/cMD5ahlN9iTSu0fT8y73hacaeT48G4XrGeCDUwy7UCsq LeaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=message-id:date:subject:to:from:dkim-signature:delivered-to:sender :list-help:list-post:list-archive:list-subscribe:list-unsubscribe :list-id:precedence:mailing-list:dkim-signature:domainkey-signature; bh=2PfRq9JkPzPUv7M4IQI19Qt4bL0ffLf3laZR7vzqG3c=; b=Acf4d1bwPPpychQNQjcfzz4t/lvGdN8iEhzoa8yvl7NQH9R7vBFNUPwAN3WMD8cGJp myVWOpgdbmbda0UG/I3Nyl5YrnktzrsqJc6RJxUIsiecp8OXDTvE680TsAdQqBKDdOJu W0KRllT0J6DBImUhOGMscIB6fUdtitlnZ0uQSKwL7NcfHYe1q0YymGYsoGGcxcLa+7Nj 1rnXpjmCUfgTxYr9ZXilCtuNpmK9Z7fLK6E5XFRpsXOUsDqRuoSHY4m4Rfd1xmdDyr2K AjZS5nXGnMiedsmveOETFVSdzk7TeM3HZfrBtYQ+u0TsNf9a9QE7PTR1y4ulO9v6cgmg QiQA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=BJ6tQT9u; dkim=pass header.i=@linaro.org header.s=google header.b=x+Fl4fak; spf=pass (google.com: domain of libc-alpha-return-105928-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) smtp.mailfrom="libc-alpha-return-105928-patch=linaro.org@sourceware.org"; dmarc=pass (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 l9si11790497ejq.164.2019.10.14.13.57.27 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 14 Oct 2019 13:57:27 -0700 (PDT) Received-SPF: pass (google.com: domain of libc-alpha-return-105928-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=BJ6tQT9u; dkim=pass header.i=@linaro.org header.s=google header.b=x+Fl4fak; spf=pass (google.com: domain of libc-alpha-return-105928-patch=linaro.org@sourceware.org designates 209.132.180.131 as permitted sender) smtp.mailfrom="libc-alpha-return-105928-patch=linaro.org@sourceware.org"; dmarc=pass (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=BzJZMq9389OJwg6JliMsxWuW0Ez0iZdNXOMmScHZhbCq05Qr2LLMD +0ZiRRq8LtIPceBpmHS9lrWp+kEGphjdXyvL09Kk31BrFxrxWo9fqorTov4FF0mW ddgh+ry6PyEJIGkTYtEWPXHDazAOuuEKmChCeIVkBW3emgxrRU8Ggg= 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=3rFmJBk1Nu3d+Wi2s7MbVDfnewI=; b=BJ6tQT9ucLffzqM7jGgWQ8L056IU W6ig5O2m8K9CkWnIFTu1nkqF13GsV70Z+O4Nup9YcZVZQTJF51TFSXgY9bbgZnjW wQ9LzktDiYNg3ArEfqUQNGi8Qo6c/1owQTHHjZ9U64B7aKh1FE4FEIOVNfAaGCeh FWhv1az6AAGwrM8= Received: (qmail 112649 invoked by alias); 14 Oct 2019 20:57:07 -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 112412 invoked by uid 89); 14 Oct 2019 20:57:07 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-13.7 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.1 spammy=triggering, msg00782html, simulator, msg00782.html X-HELO: mail-qt1-f196.google.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id; bh=2PfRq9JkPzPUv7M4IQI19Qt4bL0ffLf3laZR7vzqG3c=; b=x+Fl4fakEFlEv6cO1Fb2gVOd9Gpwvl5wjuonsnBFrJ/Z6E+1eeT3iOmz8xkIlGoBgc wxUDj+yr/Z9Lu+BKmaAgnOwVPjtQd1/hmvLsjjNJksSOmc/z78eETEo1QquYr77kLoMj XZPbikm7Zl3PJgCLl+Rrorg91MUOmoU5ZH0nPi+VS7U+fyIl9vX3wnoCJHLvQWDqicTU iL5o5oduaxD1t1O2MvlqTbmw3+h2yH1CZPhBNqXeE9ZKIGSx1Pf2gc/oke4zfP2bRnh8 sKiXMKUqWyzorpV2DYvw+EkfswZvFVCcWbsQNWZtHPyNOGIOmfhnvO6KLAFku5YXoMuN 5tuw== Return-Path: From: Adhemerval Zanella To: libc-alpha@sourceware.org Subject: [PATCH v3 00/21] nptl: Fix Race conditions in pthread cancellation (BZ#12683) Date: Mon, 14 Oct 2019 17:56:35 -0300 Message-Id: <20191014205656.29834-1-adhemerval.zanella@linaro.org> This is an updated version of my previous version [1] to fix BZ#12683. All the required internal changes not related to fix itself were already pushed, so the patchset contains only the changes to fix the issue itself. The changes from previous version [1] are: - Add a syscall_cancel.S implementation for every port, as suggested by Zack Weinberg. I agree with him that the reference C implementation is somewhat fragile to generate the correct markers, so I keep it only to use as reference for future ports to which semantic it should implement. - Fixed issues on ia64 regarding architecture instruction bundle and how kernel returned a syscall with side-effects. - Rework the SIGCANCEL handler so architectures that uses a different signature other than ucontext_t as third argument can override the required fields. I also extended the architectures I fully tested with a make check on real hardware: aarch64 no regresssions alpha no regresssions arm no regresssions csky no coverage hppa no regresssions i386 no regresssions ia64 1 regression * m68k basic tests on simulator microblaze no coverage mips64 no regresssions mips64n32 no regresssions mips no regresssions nios2 no coverage powerpc no regresssions powerpc64 no regresssions powerpc64le no regresssions riscv64 no coverage s390x no regresssions s390 no regresssions sh4 no regresssions sparc64 1 regression ** sparcv9 no regresssions x86_64 no regresssions x86_64-32 no regresssions * On ia64 I am seeing nptl/tst-cancel21{-static} failure on libunwind stack unwind on third internal test (for SA_SIGINFO). It only happens also for exception based unwind (-fexceptions), so I presume it might be related to the arch-specific syscall_cancel.S implementation. ** on sparc64 I am seeing intermitent nptl/tst-cond25 failures I can't pinpoint exactly what is triggering the SEGFAULT. I am inclined to see it as a codegen issue, I will try with an updated compiler. [1] https://sourceware.org/ml/libc-alpha/2018-02/msg00782.html Adhemerval Zanella (21): nptl: Handle EPIPE on tst-cancel2 nptl: Fix Race conditions in pthread cancellation (BZ#12683) nptl: x86_64: Fix Race conditions in pthread cancellation (BZ#12683) nptl: x32: Fix Race conditions in pthread cancellation (BZ#12683) nptl: ia64: Fix Race conditions in pthread cancellation (BZ#12683) nptl: mips: Fix Race conditions in pthread cancellation (BZ#12683) nptl: i386: Fix Race conditions in pthread cancellation (BZ#12683) nptl: aarch64: Fix Race conditions in pthread cancellation (BZ#12683) nptl: arm: Fix Race conditions in pthread cancellation (BZ#12683) nptl: powerpc: Fix Race conditions in pthread cancellation (BZ#12683) nptl: microblaze: Fix Race conditions in pthread cancellation (BZ#12683) nptl: sparc: Fix Race conditions in pthread cancellation (BZ#12683) nptl: hppa: Fix Race conditions in pthread cancellation (BZ#12683) nptl: m68k: Fix Race conditions in pthread cancellation (BZ#12683) nptl: alpha: Fix Race conditions in pthread cancellation (BZ#12683) nptl: sh: Fix Race conditions in pthread cancellation (BZ#12683) nptl: riscv: Fix Race conditions in pthread cancellation (BZ#12683) nptl: s390: Fix Race conditions in pthread cancellation (BZ#12683) nptl: nios2: Fix Race conditions in pthread cancellation (BZ#12683) nptl: csky: Fix Race conditions in pthread cancellation (BZ#12683) Remove sysdep-cancel header elf/dl-close.c | 1 - elf/dl-lookup.c | 1 - elf/dl-open.c | 1 - elf/dl-runtime.c | 1 - elf/dl-scope.c | 1 - elf/dl-sym.c | 1 - include/libc-pointer-arith.h | 16 ++- io/creat.c | 1 - io/ppoll.c | 1 - malloc/malloc.c | 3 - manual/llio.texi | 4 +- misc/pselect.c | 1 - nptl/Makefile | 12 +- nptl/Versions | 3 + nptl/cancellation.c | 101 ------------- nptl/descr.h | 15 +- nptl/libc-cancellation.c | 46 +++++- nptl/nptl-init.c | 88 ++++++------ nptl/pthreadP.h | 40 +++++- nptl/pthread_cancel.c | 69 ++------- nptl/pthread_create.c | 7 +- nptl/pthread_exit.c | 5 +- nptl/pthread_join_common.c | 2 +- nptl/pthread_kill.c | 7 +- .../pthread_kill_internal.c | 15 +- nptl/pthread_setcanceltype.c | 2 +- nptl/thrd_sleep.c | 8 +- nptl/tst-cancel2.c | 3 - nptl/tst-cancel28.c | 100 +++++++++++++ rt/Makefile | 2 +- sysdeps/generic/sysdep-cancel.h | 7 - sysdeps/htl/pthreadP.h | 1 + sysdeps/mach/hurd/sysdep-cancel.h | 8 -- sysdeps/mips/dl-trampoline.c | 1 - sysdeps/mips/nptl/tls.h | 2 +- sysdeps/nptl/Makefile | 3 +- sysdeps/nptl/cancellation-pc-check.h | 40 ++++++ .../cancellation-sigmask.h} | 21 ++- sysdeps/posix/open64.c | 1 - sysdeps/posix/pause.c | 1 - sysdeps/posix/sigpause.c | 1 - sysdeps/posix/sigwait.c | 1 - sysdeps/posix/waitid.c | 1 - sysdeps/powerpc/powerpc32/sysdep.h | 3 + sysdeps/powerpc/powerpc64/sysdep.h | 19 +++ sysdeps/sh/sysdep.h | 1 + sysdeps/unix/clock_nanosleep.c | 1 - sysdeps/unix/sysdep.h | 136 ++++++++++++++---- .../unix/sysv/linux/aarch64/syscall_cancel.S | 61 ++++++++ sysdeps/unix/sysv/linux/accept.c | 1 - sysdeps/unix/sysv/linux/accept4.c | 1 - sysdeps/unix/sysv/linux/access.c | 2 +- sysdeps/unix/sysv/linux/alpha/select.c | 1 - .../unix/sysv/linux/alpha/syscall_cancel.S | 82 +++++++++++ sysdeps/unix/sysv/linux/arm/syscall_cancel.S | 80 +++++++++++ sysdeps/unix/sysv/linux/clock_nanosleep.c | 7 +- sysdeps/unix/sysv/linux/close.c | 1 - sysdeps/unix/sysv/linux/close_nocancel.c | 1 - sysdeps/unix/sysv/linux/connect.c | 1 - sysdeps/unix/sysv/linux/copy_file_range.c | 1 - sysdeps/unix/sysv/linux/creat.c | 1 - sysdeps/unix/sysv/linux/creat64.c | 1 - sysdeps/unix/sysv/linux/csky/syscall_cancel.S | 116 +++++++++++++++ sysdeps/unix/sysv/linux/epoll_pwait.c | 1 - sysdeps/unix/sysv/linux/epoll_wait.c | 1 - sysdeps/unix/sysv/linux/fallocate.c | 1 - sysdeps/unix/sysv/linux/fallocate64.c | 1 - sysdeps/unix/sysv/linux/fcntl.c | 1 - sysdeps/unix/sysv/linux/fcntl64.c | 1 - sysdeps/unix/sysv/linux/fcntl_nocancel.c | 1 - sysdeps/unix/sysv/linux/fdatasync.c | 2 +- sysdeps/unix/sysv/linux/fsync.c | 2 +- sysdeps/unix/sysv/linux/futex-internal.h | 19 +-- sysdeps/unix/sysv/linux/getrandom.c | 1 - sysdeps/unix/sysv/linux/hppa/syscall_cancel.S | 82 +++++++++++ sysdeps/unix/sysv/linux/i386/Makefile | 2 +- sysdeps/unix/sysv/linux/i386/syscall_cancel.S | 105 ++++++++++++++ .../sysv/linux/ia64/cancellation-pc-check.h | 48 +++++++ .../sysv/linux/ia64/cancellation-sigmask.h | 33 +++++ sysdeps/unix/sysv/linux/ia64/syscall_cancel.S | 83 +++++++++++ sysdeps/unix/sysv/linux/lowlevellock-futex.h | 46 ++++-- sysdeps/unix/sysv/linux/m68k/syscall_cancel.S | 87 +++++++++++ .../sysv/linux/microblaze/syscall_cancel.S | 64 +++++++++ .../sysv/linux/mips/mips32/syscall_cancel.S | 128 +++++++++++++++++ sysdeps/unix/sysv/linux/mips/mips32/sysdep.h | 4 + .../sysv/linux/mips/mips64/syscall_cancel.S | 114 +++++++++++++++ sysdeps/unix/sysv/linux/mq_timedreceive.c | 2 +- sysdeps/unix/sysv/linux/mq_timedsend.c | 2 +- sysdeps/unix/sysv/linux/msgrcv.c | 2 +- sysdeps/unix/sysv/linux/msgsnd.c | 2 +- sysdeps/unix/sysv/linux/msync.c | 2 +- sysdeps/unix/sysv/linux/nanosleep.c | 3 +- sysdeps/unix/sysv/linux/nanosleep_nocancel.c | 1 - .../unix/sysv/linux/nios2/syscall_cancel.S | 97 +++++++++++++ sysdeps/unix/sysv/linux/open.c | 3 +- sysdeps/unix/sysv/linux/open64.c | 4 +- sysdeps/unix/sysv/linux/open_by_handle_at.c | 2 +- sysdeps/unix/sysv/linux/open_nocancel.c | 1 - sysdeps/unix/sysv/linux/openat.c | 3 +- sysdeps/unix/sysv/linux/openat64.c | 3 +- sysdeps/unix/sysv/linux/openat64_nocancel.c | 1 - sysdeps/unix/sysv/linux/openat_nocancel.c | 1 - sysdeps/unix/sysv/linux/pause.c | 2 +- sysdeps/unix/sysv/linux/pause_nocancel.c | 1 - sysdeps/unix/sysv/linux/poll.c | 1 - .../unix/sysv/linux/powerpc/syscall_cancel.S | 67 +++++++++ sysdeps/unix/sysv/linux/ppoll.c | 2 - sysdeps/unix/sysv/linux/pread.c | 2 +- sysdeps/unix/sysv/linux/pread64.c | 2 +- sysdeps/unix/sysv/linux/preadv.c | 2 +- sysdeps/unix/sysv/linux/preadv2.c | 2 +- sysdeps/unix/sysv/linux/preadv64.c | 2 +- sysdeps/unix/sysv/linux/preadv64v2.c | 2 +- sysdeps/unix/sysv/linux/pselect.c | 2 - ...pthread_kill.c => pthread_kill_internal.c} | 22 +-- sysdeps/unix/sysv/linux/pwrite.c | 2 +- sysdeps/unix/sysv/linux/pwrite64.c | 2 +- sysdeps/unix/sysv/linux/pwritev.c | 2 +- sysdeps/unix/sysv/linux/pwritev2.c | 2 +- sysdeps/unix/sysv/linux/pwritev64.c | 2 +- sysdeps/unix/sysv/linux/pwritev64v2.c | 2 +- sysdeps/unix/sysv/linux/read.c | 2 +- sysdeps/unix/sysv/linux/read_nocancel.c | 1 - sysdeps/unix/sysv/linux/readv.c | 2 +- sysdeps/unix/sysv/linux/recv.c | 1 - sysdeps/unix/sysv/linux/recvfrom.c | 1 - sysdeps/unix/sysv/linux/recvmmsg.c | 1 - sysdeps/unix/sysv/linux/recvmsg.c | 1 - .../unix/sysv/linux/riscv/syscall_cancel.S | 68 +++++++++ .../sysv/linux/s390/s390-32/syscall_cancel.S | 83 +++++++++++ .../sysv/linux/s390/s390-64/syscall_cancel.S | 83 +++++++++++ sysdeps/unix/sysv/linux/select.c | 1 - sysdeps/unix/sysv/linux/send.c | 1 - sysdeps/unix/sysv/linux/sendmmsg.c | 1 - sysdeps/unix/sysv/linux/sendmsg.c | 1 - sysdeps/unix/sysv/linux/sendto.c | 1 - sysdeps/unix/sysv/linux/sh/syscall_cancel.S | 128 +++++++++++++++++ sysdeps/unix/sysv/linux/sigsuspend.c | 2 +- sysdeps/unix/sysv/linux/sigtimedwait.c | 1 - sysdeps/unix/sysv/linux/sigwait.c | 1 - sysdeps/unix/sysv/linux/sigwaitinfo.c | 1 - sysdeps/unix/sysv/linux/socketcall.h | 42 ++++-- .../sysv/linux/sparc/cancellation-sigmask.h | 39 +++++ .../sysv/linux/sparc/sparc32/syscall_cancel.S | 76 ++++++++++ .../sysv/linux/sparc/sparc64/pause.c} | 17 +-- .../sysv/linux/sparc/sparc64/syscall_cancel.S | 77 ++++++++++ sysdeps/unix/sysv/linux/splice.c | 2 +- sysdeps/unix/sysv/linux/sync_file_range.c | 2 +- sysdeps/unix/sysv/linux/syscall_cancel.c | 64 +++++++++ sysdeps/unix/sysv/linux/sysdep-cancel.h | 67 --------- sysdeps/unix/sysv/linux/sysdep.h | 20 +++ sysdeps/unix/sysv/linux/tcdrain.c | 1 - sysdeps/unix/sysv/linux/tee.c | 2 +- sysdeps/unix/sysv/linux/timer_routines.c | 1 - sysdeps/unix/sysv/linux/vmsplice.c | 2 +- sysdeps/unix/sysv/linux/wait.c | 1 - sysdeps/unix/sysv/linux/waitid.c | 1 - sysdeps/unix/sysv/linux/waitpid.c | 1 - sysdeps/unix/sysv/linux/waitpid_nocancel.c | 1 - sysdeps/unix/sysv/linux/write.c | 2 +- sysdeps/unix/sysv/linux/write_nocancel.c | 1 - sysdeps/unix/sysv/linux/writev.c | 2 +- sysdeps/unix/sysv/linux/x86_64/cancellation.S | 104 -------------- .../unix/sysv/linux/x86_64/syscall_cancel.S | 61 ++++++++ sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h | 13 ++ sysdeps/x86_64/nptl/tcb-offsets.sym | 1 - 166 files changed, 2560 insertions(+), 660 deletions(-) delete mode 100644 nptl/cancellation.c rename sysdeps/unix/sysv/linux/x86_64/libc-cancellation.S => nptl/pthread_kill_internal.c (72%) create mode 100644 nptl/tst-cancel28.c delete mode 100644 sysdeps/generic/sysdep-cancel.h delete mode 100644 sysdeps/mach/hurd/sysdep-cancel.h create mode 100644 sysdeps/nptl/cancellation-pc-check.h rename sysdeps/{unix/sysv/linux/x86_64/librt-cancellation.S => nptl/cancellation-sigmask.h} (60%) create mode 100644 sysdeps/unix/sysv/linux/aarch64/syscall_cancel.S create mode 100644 sysdeps/unix/sysv/linux/alpha/syscall_cancel.S create mode 100644 sysdeps/unix/sysv/linux/arm/syscall_cancel.S create mode 100644 sysdeps/unix/sysv/linux/csky/syscall_cancel.S create mode 100644 sysdeps/unix/sysv/linux/hppa/syscall_cancel.S create mode 100644 sysdeps/unix/sysv/linux/i386/syscall_cancel.S create mode 100644 sysdeps/unix/sysv/linux/ia64/cancellation-pc-check.h create mode 100644 sysdeps/unix/sysv/linux/ia64/cancellation-sigmask.h create mode 100644 sysdeps/unix/sysv/linux/ia64/syscall_cancel.S create mode 100644 sysdeps/unix/sysv/linux/m68k/syscall_cancel.S create mode 100644 sysdeps/unix/sysv/linux/microblaze/syscall_cancel.S create mode 100644 sysdeps/unix/sysv/linux/mips/mips32/syscall_cancel.S create mode 100644 sysdeps/unix/sysv/linux/mips/mips64/syscall_cancel.S create mode 100644 sysdeps/unix/sysv/linux/nios2/syscall_cancel.S create mode 100644 sysdeps/unix/sysv/linux/powerpc/syscall_cancel.S rename sysdeps/unix/sysv/linux/{pthread_kill.c => pthread_kill_internal.c} (75%) create mode 100644 sysdeps/unix/sysv/linux/riscv/syscall_cancel.S create mode 100644 sysdeps/unix/sysv/linux/s390/s390-32/syscall_cancel.S create mode 100644 sysdeps/unix/sysv/linux/s390/s390-64/syscall_cancel.S create mode 100644 sysdeps/unix/sysv/linux/sh/syscall_cancel.S create mode 100644 sysdeps/unix/sysv/linux/sparc/cancellation-sigmask.h create mode 100644 sysdeps/unix/sysv/linux/sparc/sparc32/syscall_cancel.S rename sysdeps/{nptl/librt-cancellation.c => unix/sysv/linux/sparc/sparc64/pause.c} (63%) create mode 100644 sysdeps/unix/sysv/linux/sparc/sparc64/syscall_cancel.S create mode 100644 sysdeps/unix/sysv/linux/syscall_cancel.c delete mode 100644 sysdeps/unix/sysv/linux/sysdep-cancel.h delete mode 100644 sysdeps/unix/sysv/linux/x86_64/cancellation.S create mode 100644 sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S -- 2.17.1