aboutsummaryrefslogtreecommitdiff
path: root/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sem_init.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-08-15 20:47:43 +0000
committerJakub Jelinek <jakub@redhat.com>2007-08-15 20:47:43 +0000
commite4720b0e594f4599d0256dfb713ddd4d2281ddbc (patch)
tree361c259b576fbbda177da526e1f248e0c6830749 /nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sem_init.c
parentd13f4a43865051177cb6bb084f64dbc5b62c97c7 (diff)
downloadglibc-e4720b0e594f4599d0256dfb713ddd4d2281ddbc.tar
glibc-e4720b0e594f4599d0256dfb713ddd4d2281ddbc.tar.gz
glibc-e4720b0e594f4599d0256dfb713ddd4d2281ddbc.tar.bz2
glibc-e4720b0e594f4599d0256dfb713ddd4d2281ddbc.zip
* sysdeps/sparc/fpu/fraiseexcpt.c (__feraiseexcept): Fix raising cvs/fedora-glibc-20070815T2049
FE_UNDERFLOW on Niagara CPUs. * sysdeps/sparc/fpu/feholdexcpt.c (feholdexcept): Clear all exceptions. * sysdeps/unix/sysv/linux/sparc/internaltypes.h (sparc_new_sem, sparc_old_sem): New structs. * sysdeps/unix/sysv/linux/sparc/sparc32/sem_wait.c (__sem_wait_cleanup): New function. (__new_sem_wait): Use sparc_new_sem structure. Bump and afterwards decrease nwaiters. Register __sem_wait_cleanup as cleanup handler. Pass isem->private ^ FUTEX_PRIVATE_FLAG as last argument to lll_futex_wait. (__old_sem_wait): New function. * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_wait.c: Include nptl/sysdeps/unix/sysv/linux/sparc version. * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_timedwait.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_post.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sem_trywait.c (__new_sem_trywait): Use sparc_old_sem structure. * sysdeps/unix/sysv/linux/sparc/sparc32/sem_timedwait.c (sem_timedwait): Use sparc_new_sem structure. Bump and afterwards decrease nwaiters. Register __sem_wait_cleanup as cleanup handler. Pass isem->private ^ FUTEX_PRIVATE_FLAG as last argument to lll_futex_timed_wait. * sysdeps/unix/sysv/linux/sparc/sparc32/sem_post.c (__new_sem_post): Use sparc_new_sem structure. Only wake if nwaiters > 0. Pass isem->private ^ FUTEX_PRIVATE_FLAG as last argument to lll_futex_wake. (__old_sem_post): New function. * sysdeps/unix/sysv/linux/sparc/sem_wait.c: New file. * sysdeps/unix/sysv/linux/sparc/sem_init.c: New file. * sysdeps/unix/sysv/linux/sparc/sem_timedwait.c: New file. * sysdeps/unix/sysv/linux/sparc/sem_post.c: New file. * sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_init.c: Remove. * sysdeps/unix/sysv/linux/sparc/sparc32/sem_init.c: Remove. 2007-08-15 Jakub Jelinek <jakub@redhat.com> * sysdeps/sparc/fpu/fraiseexcpt.c (__feraiseexcept): Fix raising FE_UNDERFLOW on Niagara CPUs. * sysdeps/sparc/fpu/feholdexcpt.c (feholdexcept): Clear all exceptions.
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sem_init.c')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sem_init.c63
1 files changed, 0 insertions, 63 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sem_init.c b/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sem_init.c
deleted file mode 100644
index dffd8c7efa..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sem_init.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Copyright (C) 2002, 2006 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
-
- 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, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#include <errno.h>
-#include <semaphore.h>
-#include <lowlevellock.h>
-#include <shlib-compat.h>
-#include "semaphoreP.h"
-
-struct sparc_sem
-{
- struct sem s;
- unsigned char lock;
-};
-
-
-int
-__new_sem_init (sem, pshared, value)
- sem_t *sem;
- int pshared;
- unsigned int value;
-{
- /* Parameter sanity check. */
- if (__builtin_expect (value > SEM_VALUE_MAX, 0))
- {
- __set_errno (EINVAL);
- return -1;
- }
-
- /* Map to the internal type. */
- struct sparc_sem *isem = (struct sparc_sem *) sem;
-
- /* Use the value the user provided. */
- isem->s.count = value;
-
- isem->lock = 0;
-
- /* We can completely ignore the PSHARED parameter since inter-process
- use needs no special preparation. */
-
- return 0;
-}
-versioned_symbol (libpthread, __new_sem_init, sem_init, GLIBC_2_1);
-#if SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_1)
-strong_alias (__new_sem_init, __old_sem_init)
-compat_symbol (libpthread, __old_sem_init, sem_init, GLIBC_2_0);
-#endif