mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-01 10:06:57 +03:00
Remove __ASSUME_IPC64
PowerPC has always used __IPC_64 like most other architectures, which means that __ASSUME_IPC64 can be always true. Also, all other architecture implementations that use the ipc syscall are effectively identical to the generic version and can be removed.
This commit is contained in:
@ -1 +0,0 @@
|
||||
#include <sysdeps/unix/sysv/linux/i386/msgctl.c>
|
@ -1,120 +0,0 @@
|
||||
/* Semctl for architectures where word sized unions are passed indirectly
|
||||
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 <string.h>
|
||||
#include <sys/syscall.h>
|
||||
|
||||
#include <shlib-compat.h>
|
||||
|
||||
struct __old_semid_ds
|
||||
{
|
||||
struct __old_ipc_perm sem_perm; /* operation permission struct */
|
||||
__time_t sem_otime; /* last semop() time */
|
||||
__time_t sem_ctime; /* last time changed by semctl() */
|
||||
struct sem *__sembase; /* ptr to first semaphore in array */
|
||||
struct sem_queue *__sem_pending; /* pending operations */
|
||||
struct sem_queue *__sem_pending_last; /* last pending operation */
|
||||
struct sem_undo *__undo; /* ondo requests on this array */
|
||||
unsigned short int sem_nsems; /* number of semaphores in set */
|
||||
};
|
||||
|
||||
/* 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 */
|
||||
struct __old_semid_ds *__old_buf;
|
||||
};
|
||||
|
||||
/* Return identifier for array of NSEMS semaphores associated with
|
||||
KEY. */
|
||||
#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)
|
||||
int __old_semctl (int semid, int semnum, int cmd, ...);
|
||||
#endif
|
||||
int __new_semctl (int semid, int semnum, int cmd, ...);
|
||||
|
||||
#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)
|
||||
int
|
||||
attribute_compat_text_section
|
||||
__old_semctl (int semid, int semnum, int cmd, ...)
|
||||
{
|
||||
union semun arg;
|
||||
va_list ap;
|
||||
|
||||
/* Get the argument only if required. */
|
||||
arg.buf = NULL;
|
||||
switch (cmd)
|
||||
{
|
||||
case SETVAL: /* arg.val */
|
||||
case GETALL: /* arg.array */
|
||||
case SETALL:
|
||||
case IPC_STAT: /* arg.buf */
|
||||
case IPC_SET:
|
||||
case SEM_STAT:
|
||||
case IPC_INFO: /* arg.__buf */
|
||||
case SEM_INFO:
|
||||
va_start (ap, cmd);
|
||||
arg = va_arg (ap, union semun);
|
||||
va_end (ap);
|
||||
break;
|
||||
}
|
||||
|
||||
return INLINE_SYSCALL (ipc, 5, IPCOP_semctl, semid, semnum, cmd,
|
||||
&arg);
|
||||
}
|
||||
compat_symbol (libc, __old_semctl, semctl, GLIBC_2_0);
|
||||
#endif
|
||||
|
||||
int
|
||||
__new_semctl (int semid, int semnum, int cmd, ...)
|
||||
{
|
||||
union semun arg;
|
||||
va_list ap;
|
||||
|
||||
/* Get the argument only if required. */
|
||||
arg.buf = NULL;
|
||||
switch (cmd)
|
||||
{
|
||||
case SETVAL: /* arg.val */
|
||||
case GETALL: /* arg.array */
|
||||
case SETALL:
|
||||
case IPC_STAT: /* arg.buf */
|
||||
case IPC_SET:
|
||||
case SEM_STAT:
|
||||
case IPC_INFO: /* arg.__buf */
|
||||
case SEM_INFO:
|
||||
va_start (ap, cmd);
|
||||
arg = va_arg (ap, union semun);
|
||||
va_end (ap);
|
||||
break;
|
||||
}
|
||||
|
||||
return INLINE_SYSCALL (ipc, 5, IPCOP_semctl, semid, semnum, cmd | __IPC_64,
|
||||
&arg);
|
||||
}
|
||||
|
||||
versioned_symbol (libc, __new_semctl, semctl, GLIBC_2_2);
|
@ -1 +0,0 @@
|
||||
#include <sysdeps/unix/sysv/linux/i386/shmctl.c>
|
@ -1,36 +0,0 @@
|
||||
/* 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 <sys/msg.h>
|
||||
#include <ipc_priv.h>
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <sys/syscall.h>
|
||||
|
||||
/* Allows to control internal state and destruction of message queue
|
||||
objects. */
|
||||
|
||||
int
|
||||
msgctl (msqid, cmd, buf)
|
||||
int msqid;
|
||||
int cmd;
|
||||
struct msqid_ds *buf;
|
||||
{
|
||||
return INLINE_SYSCALL (ipc, 5, IPCOP_msgctl, msqid, cmd, 0, buf);
|
||||
}
|
@ -1,54 +0,0 @@
|
||||
/* 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);
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
/* 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 <sys/shm.h>
|
||||
#include <ipc_priv.h>
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <sys/syscall.h>
|
||||
|
||||
/* Provide operations to control over shared memory segments. */
|
||||
|
||||
int
|
||||
shmctl (shmid, cmd, buf)
|
||||
int shmid;
|
||||
int cmd;
|
||||
struct shmid_ds *buf;
|
||||
{
|
||||
return INLINE_SYSCALL (ipc, 5, IPCOP_shmctl, shmid, cmd, 0, buf);
|
||||
}
|
Reference in New Issue
Block a user