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.22-253-ge67dc1b


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  e67dc1b57f1fc8407cb45bdb38ae1eaa0a5c6f78 (commit)
      from  1f11365a75a1eedf07a221938e79cd6c9b915ccb (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=e67dc1b57f1fc8407cb45bdb38ae1eaa0a5c6f78

commit e67dc1b57f1fc8407cb45bdb38ae1eaa0a5c6f78
Author: Andreas Schwab <schwab@suse.de>
Date:   Thu Sep 17 15:58:01 2015 +0200

    Restore sparc64 implementation of semctl
    
    The sparc64 variant of the ipc syscall does not dereference the pointer
    argument for the SEMCTL operation.

diff --git a/ChangeLog b/ChangeLog
index deef2a3..2a442d2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2015-09-17  Andreas Schwab  <schwab@suse.de>
+
+	* sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c: Readd.
+
 2015-09-16  Joseph Myers  <joseph@codesourcery.com>
 
 	[BZ #18977]
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c b/sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c
new file mode 100644
index 0000000..2714728
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c
@@ -0,0 +1,54 @@
+/* Copyright (C) 1995-2015 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
+
+   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 <stdarg.h>
+#include <sys/sem.h>
+#include <ipc_priv.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+/* Define a `union semun' suitable for Linux here.  */
+union semun
+{
+  int val;			/* value for SETVAL */
+  struct semid_ds *buf;		/* buffer for IPC_STAT & IPC_SET */
+  unsigned short int *array;	/* array for GETALL & SETALL */
+  struct seminfo *__buf;	/* buffer for IPC_INFO */
+};
+
+/* Return identifier for array of NSEMS semaphores associated with
+   KEY.  */
+
+int
+semctl (int semid, int semnum, int cmd, ...)
+{
+  union semun arg;
+  va_list ap;
+
+  va_start (ap, cmd);
+
+  /* Get the argument.  */
+  arg = va_arg (ap, union semun);
+
+  va_end (ap);
+
+  return INLINE_SYSCALL (ipc, 5, IPCOP_semctl, semid, semnum, cmd,
+			 arg.array);
+}

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |    4 ++++
 .../sysv/linux/{arm => sparc/sparc64}/semctl.c     |   14 +++++++-------
 2 files changed, 11 insertions(+), 7 deletions(-)
 copy sysdeps/unix/sysv/linux/{arm => sparc/sparc64}/semctl.c (84%)


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]