[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[commits] r1293 - in /fsf/trunk/ports: ./ sysdeps/unix/sysv/linux/mips/mips64/
- To: commits@xxxxxxxxxx
- Subject: [commits] r1293 - in /fsf/trunk/ports: ./ sysdeps/unix/sysv/linux/mips/mips64/
- From: eglibc@xxxxxxxxxx
- Date: Fri, 26 Jan 2007 08:02:02 -0000
Author: eglibc
Date: Fri Jan 26 00:02:02 2007
New Revision: 1293
Log:
Import glibc-ports-mainline for 2007-01-26
Added:
fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/mips64/msgctl.c
fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/mips64/semctl.c
fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/mips64/shmctl.c
Modified:
fsf/trunk/ports/ChangeLog.mips
fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/mips64/syscalls.list
Modified: fsf/trunk/ports/ChangeLog.mips
==============================================================================
--- fsf/trunk/ports/ChangeLog.mips (original)
+++ fsf/trunk/ports/ChangeLog.mips Fri Jan 26 00:02:02 2007
@@ -1,3 +1,12 @@
+2007-01-25 Atsushi Nemoto <anemo@xxxxxxxxxxxxx>
+ Daniel Jacobowitz <dan@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/mips/mips64/syscalls.list: Remove msgctl,
+ shmctl, and semctl.
+ * sysdeps/unix/sysv/linux/mips/misp64/semctl.c,
+ sysdeps/unix/sysv/linux/mips/mips64/shmctl.c,
+ sysdeps/unix/sysv/linux/mips/mips64/msgctl.c: New files.
+
2007-01-23 Daniel Jacobowitz <dan@xxxxxxxxxxxxxxxx>
* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h (PTR_MANGLE,
Added: fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/mips64/msgctl.c
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/mips64/msgctl.c (added)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/mips64/msgctl.c Fri Jan 26 00:02:02 2007
@@ -1,0 +1,35 @@
+/* Copyright (C) 2007 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ 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 <sys/msg.h>
+#include <ipc_priv.h>
+#include <sysdep.h>
+
+#include <bp-checks.h>
+
+int __msgctl (int msqid, int cmd, struct msqid_ds *buf);
+
+int
+__msgctl (int msqid, int cmd, struct msqid_ds *buf)
+{
+ return INLINE_SYSCALL (msgctl, 3, msqid, cmd | __IPC_64, CHECK_1 (buf));
+}
+
+#include <shlib-compat.h>
+versioned_symbol (libc, __msgctl, msgctl, GLIBC_2_0);
Added: fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/mips64/semctl.c
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/mips64/semctl.c (added)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/mips64/semctl.c Fri Jan 26 00:02:02 2007
@@ -1,0 +1,57 @@
+/* Copyright (C) 2007 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ 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 <stdarg.h>
+#include <sys/sem.h>
+#include <ipc_priv.h>
+#include <sysdep.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 */
+};
+
+#include <bp-checks.h>
+#include <bp-semctl.h> /* definition of CHECK_SEMCTL needs union semum */
+
+int __semctl (int semid, int semnum, int cmd, ...);
+
+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 (semctl, 4, semid, semnum, cmd | __IPC_64,
+ CHECK_SEMCTL (&arg, semid, cmd | __IPC_64)->array);
+}
+
+#include <shlib-compat.h>
+versioned_symbol (libc, __semctl, semctl, GLIBC_2_0);
Added: fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/mips64/shmctl.c
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/mips64/shmctl.c (added)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/mips64/shmctl.c Fri Jan 26 00:02:02 2007
@@ -1,0 +1,35 @@
+/* Copyright (C) 2007 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ 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 <sys/shm.h>
+#include <ipc_priv.h>
+#include <sysdep.h>
+
+#include <bp-checks.h>
+
+int __shmctl (int shmid, int cmd, struct shmid_ds *buf);
+
+int
+__shmctl (int shmid, int cmd, struct shmid_ds *buf)
+{
+ return INLINE_SYSCALL (shmctl, 3, shmid, cmd | __IPC_64, CHECK_1 (buf));
+}
+
+#include <shlib-compat.h>
+versioned_symbol (libc, __shmctl, shmctl, GLIBC_2_0);
Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/mips64/syscalls.list
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/mips64/syscalls.list (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/mips64/syscalls.list Fri Jan 26 00:02:02 2007
@@ -2,16 +2,14 @@
lseek - lseek Ci:iii __libc_lseek __lseek lseek __llseek llseek __libc_lseek64 __lseek64 lseek64
-# semaphore and shm system calls
-msgctl - msgctl i:iip __msgctl msgctl
+# Semaphore and shm system calls. msgctl, shmctl, and semctl have C
+# wrappers (to set __IPC_64).
msgget - msgget i:ii __msgget msgget
msgrcv - msgrcv Ci:ibnii __msgrcv msgrcv
msgsnd - msgsnd Ci:ibni __msgsnd msgsnd
shmat - shmat i:ipi __shmat shmat
-shmctl - shmctl i:iip __shmctl shmctl
shmdt - shmdt i:s __shmdt shmdt
shmget - shmget i:iii __shmget shmget
semop - semop i:ipi __semop semop
semtimedop - semtimedop i:ipip semtimedop
semget - semget i:iii __semget semget
-semctl - semctl i:iiii __semctl semctl