This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.24-149-g09cb278
- From: azanella at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 15 Sep 2016 19:33:32 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.24-149-g09cb278
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 09cb278539d6ebb30a4de89a6bfd8bda1b085c07 (commit)
from fbc994921b459d57b681a926780933a20745edf5 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=09cb278539d6ebb30a4de89a6bfd8bda1b085c07
commit 09cb278539d6ebb30a4de89a6bfd8bda1b085c07
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date: Thu Sep 15 11:21:52 2016 -0300
nptl: Consolidate sem_init implementations
Current sparc32 sem_init and default one only differ on sem.newsem.pad
initialization. This patch removes sparc32 and sparc32v9 sem_init arch
specific implementation and set sparc32 to use nptl default one.
The default implementation sets the required sem.newsem.pad to 0 (which
is ununsed in other architectures).
I checked on i686 and a sparc32v9 build.
* nptl/sem_init.c (sem_init): Init pad value to 0.
* sysdeps/sparc/sparc32/sem_init.c: Remove file.
* sysdeps/sparc/sparc32/sparcv9/sem_init.c: Likewise.
diff --git a/ChangeLog b/ChangeLog
index 99af3a7..33b84d5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2016-09-15 Adhemerval Zanella <adhemerval.zanella@linaro.org>
+ * nptl/sem_init.c (__new_sem_init): Init pad value to 0.
+ * sysdeps/sparc/sparc32/sem_open.c: Remove file.
+ * sysdeps/sparc/sparc32/sparcv9/sem_open.c: Likewise.
+
+2016-09-15 Adhemerval Zanella <adhemerval.zanella@linaro.org>
+
[BZ #18243]
* rt/Makefile (test): Add tst-shm-cancel.
* rt/tst-shm-cancel.c: New file.
diff --git a/nptl/sem_init.c b/nptl/sem_init.c
index be0f27d..9380a21 100644
--- a/nptl/sem_init.c
+++ b/nptl/sem_init.c
@@ -49,6 +49,8 @@ __new_sem_init (sem_t *sem, int pshared, unsigned int value)
isem->data = value;
#else
isem->value = value << SEM_VALUE_SHIFT;
+ /* pad is used as a mutex on pre-v9 sparc and ignored otherwise. */
+ isem->pad = 0;
isem->nwaiters = 0;
#endif
diff --git a/sysdeps/sparc/sparc32/sem_init.c b/sysdeps/sparc/sparc32/sem_init.c
deleted file mode 100644
index ae49ec5..0000000
--- a/sysdeps/sparc/sparc32/sem_init.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/* Copyright (C) 2002-2016 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <semaphore.h>
-#include <shlib-compat.h>
-#include "semaphoreP.h"
-#include <futex-internal.h>
-
-
-int
-__new_sem_init (sem_t *sem, int pshared, unsigned int value)
-{
- /* Parameter sanity check. */
- if (__glibc_unlikely (value > SEM_VALUE_MAX))
- {
- __set_errno (EINVAL);
- return -1;
- }
-
- pshared = pshared != 0 ? PTHREAD_PROCESS_SHARED : PTHREAD_PROCESS_PRIVATE;
- int err = futex_supports_pshared (pshared);
- if (err != 0)
- {
- __set_errno (err);
- return -1;
- }
-
- /* Map to the internal type. */
- struct new_sem *isem = (struct new_sem *) sem;
-
- /* Use the values the caller provided. */
- isem->value = value << SEM_VALUE_SHIFT;
- isem->pad = 0;
- isem->nwaiters = 0;
-
- isem->private = (pshared == PTHREAD_PROCESS_PRIVATE
- ? FUTEX_PRIVATE : FUTEX_SHARED);
-
- return 0;
-}
-versioned_symbol (libpthread, __new_sem_init, sem_init, GLIBC_2_1);
-
-
-
-#if SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_1)
-int
-attribute_compat_text_section
-__old_sem_init (sem_t *sem, int pshared, unsigned int value)
-{
- /* Parameter sanity check. */
- if (__glibc_unlikely (value > SEM_VALUE_MAX))
- {
- __set_errno (EINVAL);
- return -1;
- }
-
- /* Map to the internal type. */
- struct old_sem *isem = (struct old_sem *) sem;
-
- /* Use the value the user provided. */
- isem->value = value;
-
- /* We cannot store the PSHARED attribute. So we always use the
- operations needed for shared semaphores. */
-
- return 0;
-}
-compat_symbol (libpthread, __old_sem_init, sem_init, GLIBC_2_0);
-#endif
diff --git a/sysdeps/sparc/sparc32/sparcv9/sem_init.c b/sysdeps/sparc/sparc32/sparcv9/sem_init.c
deleted file mode 100644
index c90d1b5..0000000
--- a/sysdeps/sparc/sparc32/sparcv9/sem_init.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <nptl/sem_init.c>
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 6 ++
nptl/sem_init.c | 2 +
sysdeps/sparc/sparc32/sem_init.c | 85 ------------------------------
sysdeps/sparc/sparc32/sparcv9/sem_init.c | 1 -
4 files changed, 8 insertions(+), 86 deletions(-)
delete mode 100644 sysdeps/sparc/sparc32/sem_init.c
delete mode 100644 sysdeps/sparc/sparc32/sparcv9/sem_init.c
hooks/post-receive
--
GNU C Library master sources