This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]