From patchwork Mon Aug 22 14:27:31 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella Netto X-Patchwork-Id: 14843 Received: (qmail 72449 invoked by alias); 22 Aug 2016 14:27:53 -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 72344 invoked by uid 89); 22 Aug 2016 14:27:51 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 spammy=sem, asynchronous, contributed X-HELO: mail-ua0-f182.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=hmkdU61DufmSr+CQ83UtrvTJ/l+7lqlPTN+NtBKaYBQ=; b=DhGtPS7We2SjjSM9JrH9d5DOUGrdwHpyRZ71NVltJkvYzdPoJO5Ca5m15fDXIl64mt xU3VrFYkjtRYqWNGR3ud7wx915P0bf3Kzmah+HpGr4nbHiBRRoDqXV4jk0uhhAWyuqud 964eXTjGKD7TJJ+KgQyBEKx0SCJIOJcDE7WcBjlgO0HSWZ/qy+odl+XAcstTkCuPrJ/s Hp5tPxt6JgI/wNEeKyzlSaAOEoQNJr1f/o4+8yN+PxnHgJxkXFWB400nLFaSeIYmwFto JKaaKKOkSRplTGeM+9LCMwoiWdXNc6KygbwP6fXrYbCkkFQznLhJXA+aTGfdKRdSdqk7 pgmQ== X-Gm-Message-State: AEkooutTuX1TejFbvF0PCodZyGtkZGM9pX5TxsFw5YpHMjCV9qRt8+GpaAHtdhncH6gK+v+2 X-Received: by 10.31.49.7 with SMTP id x7mr11416393vkx.158.1471876061471; Mon, 22 Aug 2016 07:27:41 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Subject: [PATCH 3/5] Remove sparc sem_wait Date: Mon, 22 Aug 2016 11:27:31 -0300 Message-Id: <1471876053-780-3-git-send-email-adhemerval.zanella@linaro.org> In-Reply-To: <1471876053-780-1-git-send-email-adhemerval.zanella@linaro.org> References: <1471876053-780-1-git-send-email-adhemerval.zanella@linaro.org> This patch removes the sparc32 sem_wait.c implementation since it is identical to default nptl one. The sparcv9 is no longer required with the removal. Checked with a sparcv9 build. * sysdeps/sparc/sparc32/sem_wait.c: Remove file. * sysdeps/sparc/sparc32/sparcv9/sem_wait.c: Likewise. --- sysdeps/sparc/sparc32/sem_wait.c | 93 -------------------------------- sysdeps/sparc/sparc32/sparcv9/sem_wait.c | 1 - 3 files changed, 3 insertions(+), 94 deletions(-) delete mode 100644 sysdeps/sparc/sparc32/sem_wait.c delete mode 100644 sysdeps/sparc/sparc32/sparcv9/sem_wait.c diff --git a/sysdeps/sparc/sparc32/sem_wait.c b/sysdeps/sparc/sparc32/sem_wait.c deleted file mode 100644 index 84b523a..0000000 --- a/sysdeps/sparc/sparc32/sem_wait.c +++ /dev/null @@ -1,93 +0,0 @@ -/* sem_wait -- wait on a semaphore. Generic futex-using version. - Copyright (C) 2003-2016 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Paul Mackerras , 2003. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#include /* lll_futex* used by the old code. */ -#include "sem_waitcommon.c" - -int -__new_sem_wait (sem_t *sem) -{ - if (__new_sem_wait_fast ((struct new_sem *) sem, 0) == 0) - return 0; - else - return __new_sem_wait_slow((struct new_sem *) sem, NULL); -} -versioned_symbol (libpthread, __new_sem_wait, sem_wait, GLIBC_2_1); - -#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_1) -int -attribute_compat_text_section -__old_sem_wait (sem_t *sem) -{ - int *futex = (int *) sem; - int err; - - do - { - if (atomic_decrement_if_positive (futex) > 0) - return 0; - - /* Enable asynchronous cancellation. Required by the standard. */ - int oldtype = __pthread_enable_asynccancel (); - - /* Always assume the semaphore is shared. */ - err = lll_futex_wait (futex, 0, LLL_SHARED); - - /* Disable asynchronous cancellation. */ - __pthread_disable_asynccancel (oldtype); - } - while (err == 0 || err == -EWOULDBLOCK); - - __set_errno (-err); - return -1; -} - -compat_symbol (libpthread, __old_sem_wait, sem_wait, GLIBC_2_0); -#endif - -int -__new_sem_trywait (sem_t *sem) -{ - /* We must not fail spuriously, so require a definitive result even if this - may lead to a long execution time. */ - if (__new_sem_wait_fast ((struct new_sem *) sem, 1) == 0) - return 0; - __set_errno (EAGAIN); - return -1; -} -versioned_symbol (libpthread, __new_sem_trywait, sem_trywait, GLIBC_2_1); -#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_1) -int -__old_sem_trywait (sem_t *sem) -{ - int *futex = (int *) sem; - int val; - - if (*futex > 0) - { - val = atomic_decrement_if_positive (futex); - if (val > 0) - return 0; - } - - __set_errno (EAGAIN); - return -1; -} -compat_symbol (libpthread, __old_sem_trywait, sem_trywait, GLIBC_2_0); -#endif diff --git a/sysdeps/sparc/sparc32/sparcv9/sem_wait.c b/sysdeps/sparc/sparc32/sparcv9/sem_wait.c deleted file mode 100644 index bccdaed..0000000 --- a/sysdeps/sparc/sparc32/sparcv9/sem_wait.c +++ /dev/null @@ -1 +0,0 @@ -#include