Age | Commit message (Collapse) | Author |
|
This patch consolidates the semctl Linux implementation in only
one default file, sysdeps/unix/sysv/linux/semctl.c. If tries to use
the direct syscall if it is supported, otherwise will use the old ipc
multiplex mechanism.
The patch also simplify header inclusion and reorganize internal
compat symbol to be built only if old ipc is defined.
Checked on x86_64, i686, powerpc64le, aarch64, and armhf.
* sysdeps/unix/sysv/linux/alpha/Makefile (sysdeps_routines): Remove
oldsemctl.
* sysdeps/unix/sysv/linux/alpha/semctl.c: Remove file.
* sysdeps/unix/sysv/linux/arm/semctl.c: Likewise.
* sysdeps/unix/sysv/linux/microblaze/semctl.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c: Likewise.
* sysdeps/unix/sysv/linux/mips/mips64/semctl.c: Use defaulf
implementation.
* sysdeps/unix/sysv/linux/semctl.c (__new_semctl): Use semctl
syscall if it is defined.
* sysdeps/unix/sysv/linux/generic/syscalls.list (semctl): Remove.
* sysdeps/unix/sysv/linux/alpha/syscalls.list (semctl): Likewise.
* sysdeps/unix/sysv/linux/hppa/syscalls.list (semctl): Likewise.
* sysdeps/unix/sysv/linux/ia64/syscalls.list (semctl): Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (semctl):
Likewise.
* sysdeps/unix/sysv/linux/x86_64/syscalls.list (semctl): Likewise.
|
|
|
|
The sparc64 variant of the ipc syscall does not dereference the pointer
argument for the SEMCTL operation.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
Pass "union semun" properly in to sys_ipc, it must be passed
by value, not by reference.
2008-04-25 David S. Miller <davem@davemloft.net>
* sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c (semctl):
Pass "union semun" properly in to sys_ipc, it must be passed
by value, not by reference.
|
|
2001-07-06 Paul Eggert <eggert@twinsun.com>
* manual/argp.texi: Remove ignored LGPL copyright notice; it's
not appropriate for documentation anyway.
* manual/libc-texinfo.sh: "Library General Public License" ->
"Lesser General Public License".
2001-07-06 Andreas Jaeger <aj@suse.de>
* All files under GPL/LGPL version 2: Place under LGPL version
2.1.
|
|
data structure pointers as __unbounded.
* sysdeps/unix/sysv/linux/mips/bits/shm.h: Likewise.
* sysdeps/generic/bp-semctl.h: New file.
* sysdeps/unix/sysv/linux/msgctl.c: Qualify kernel's data structure
pointers as __unbounded. Check bounds of syscall args.
* sysdeps/unix/sysv/linux/msgrcv.c: Likewise.
* sysdeps/unix/sysv/linux/msgsnd.c: Likewise.
* sysdeps/unix/sysv/linux/semctl.c: Likewise.
* sysdeps/unix/sysv/linux/semop.c: Likewise.
* sysdeps/unix/sysv/linux/shmat.c: Likewise.
* sysdeps/unix/sysv/linux/shmctl.c: Likewise.
* sysdeps/unix/sysv/linux/shmdt.c: Likewise.
* sysdeps/unix/sysv/linux/alpha/msgctl.c: Likewise.
* sysdeps/unix/sysv/linux/alpha/semctl.c: Likewise.
* sysdeps/unix/sysv/linux/alpha/shmctl.c: Likewise.
* sysdeps/unix/sysv/linux/i386/msgctl.c: Likewise.
* sysdeps/unix/sysv/linux/i386/semctl.c: Likewise.
* sysdeps/unix/sysv/linux/i386/shmctl.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/msgctl.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/shmctl.c: Likewise.
2000-07-26 Greg McGary <greg@mcgary.org>
* sysdeps/gnu/bits/msq.h: Qualify kernel's
data structure pointers as __unbounded.
* sysdeps/unix/sysv/linux/mips/bits/shm.h: Likewise.
* sysdeps/generic/bp-semctl.h: New file.
* sysdeps/unix/sysv/linux/msgctl.c: Qualify kernel's data structure
pointers as __unbounded. Check bounds of syscall args.
* sysdeps/unix/sysv/linux/msgrcv.c: Likewise.
* sysdeps/unix/sysv/linux/msgsnd.c: Likewise.
* sysdeps/unix/sysv/linux/semctl.c: Likewise.
* sysdeps/unix/sysv/linux/semop.c: Likewise.
* sysdeps/unix/sysv/linux/shmat.c: Likewise.
* sysdeps/unix/sysv/linux/shmctl.c: Likewise.
* sysdeps/unix/sysv/linux/shmdt.c: Likewise.
* sysdeps/unix/sysv/linux/alpha/msgctl.c: Likewise.
* sysdeps/unix/sysv/linux/alpha/semctl.c: Likewise.
* sysdeps/unix/sysv/linux/alpha/shmctl.c: Likewise.
* sysdeps/unix/sysv/linux/i386/msgctl.c: Likewise.
* sysdeps/unix/sysv/linux/i386/semctl.c: Likewise.
* sysdeps/unix/sysv/linux/i386/shmctl.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/msgctl.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/shmctl.c: Likewise.
|
|
2000-01-24 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/Dist: Add ipc_priv.h.
* sysdeps/unix/sysv/linux/alpha/Dist: Likewise.
2000-01-24 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/bits/ipc.h: Move private decls...
* sysdeps/unix/sysv/linux/ipc_priv.h: ...here.
* sysdeps/unix/sysv/linux/bits/msq.h: Move private decls...
* sysdeps/unix/sysv/linux/msgctl.c: ...here. Include ipc_priv.h.
* sysdeps/unix/sysv/linux/bits/sem.h: Move private decls...
* sysdeps/unix/sysv/linux/semctl.c: ...here. Include ipc_priv.h.
* sysdeps/unix/sysv/linux/bits/shm.h: Move private decls...
* sysdeps/unix/sysv/linux/shmctl.c: ...here. Include ipc_priv.h.
* sysdeps/unix/sysv/linux/alpha/bits/ipc.h: Move private decls...
* sysdeps/unix/sysv/linux/alpha/ipc_priv.h: ...here.
* sysdeps/unix/sysv/linux/alpha/bits/msq.h: Remove private decls.
* sysdeps/unix/sysv/linux/alpha/bits/sem.h: Likewise.
* sysdeps/unix/sysv/linux/alpha/bits/shm.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/ipc.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/msq.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/sem.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/msgctl.c: Include ipc_priv.h.
* sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/shmctl.c: Likewise.
* sysdeps/unix/sysv/linux/msgget.c: Likewise.
* sysdeps/unix/sysv/linux/msgrcv.c: Likewise.
* sysdeps/unix/sysv/linux/msgsnd.c: Likewise.
* sysdeps/unix/sysv/linux/semget.c: Likewise.
* sysdeps/unix/sysv/linux/semop.c: Likewise.
* sysdeps/unix/sysv/linux/shmat.c: Likewise.
* sysdeps/unix/sysv/linux/shmdt.c: Likewise.
* sysdeps/unix/sysv/linux/shmget.c: Likewise.
|
|
2000-01-17 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/bits/ipc.h: New file.
* sysdeps/unix/sysv/linux/bits/sem.h: New file.
* sysdeps/unix/sysv/linux/bits/shm.h: New file.
* sysdeps/unix/sysv/linux/bits/msg.h: New file.
* sysdeps/unix/sysv/linux/bits/alpha/ipc.h: Update for new ipc.
* sysdeps/unix/sysv/linux/bits/alpha/sem.h: New file.
* sysdeps/unix/sysv/linux/bits/alpha/shm.h: New file.
* sysdeps/unix/sysv/linux/bits/alpha/msg.h: New file.
* sysdeps/unix/sysv/linux/bits/sparc/ipc.h: New file.
* sysdeps/unix/sysv/linux/bits/sparc/sem.h: New file.
* sysdeps/unix/sysv/linux/bits/sparc/shm.h: New file.
* sysdeps/unix/sysv/linux/bits/sparc/msg.h: New file.
* sysdeps/unix/sysv/linux/msgctl.c (__old_msgctl):
Renamed from msgctl.
(__new_msgctl): New function.
* sysdeps/unix/sysv/linux/semctl.c (__old_semctl):
Renamed from semctl.
(__new_semctl): New function.
* sysdeps/unix/sysv/linux/shmctl.c (__old_shmctl):
Renamed from shmctl.
(__new_shmctl): New function.
* sysdeps/unix/sysv/linux/msgget.c: Define __LIBC_IPC_INTERNAL.
* sysdeps/unix/sysv/linux/msgrcv.c: Likewise.
* sysdeps/unix/sysv/linux/semget.c: Likewise.
* sysdeps/unix/sysv/linux/msgsnd.c: Likewise.
* sysdeps/unix/sysv/linux/semop.c: Likewise.
* sysdeps/unix/sysv/linux/shmat.c: Likewise.
* sysdeps/unix/sysv/linux/shmdt.c: Likewise.
* sysdeps/unix/sysv/linux/shmget.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/semctl.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/msgctl.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/shmctl.c: New file.
* sysdeps/unix/sysv/linux/Versions: Add msgctl, semctl, shmctl.
2000-01-17 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/sparc/sparc32/seteuid.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/setegid.c: New file.
* sysdeps/unix/sysv/linux/sparc/sparc32/Dist: Remove setres[ug]id.
* sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c: Kill warnings.
* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Define needed
syscalls.
* sysdeps/unix/sysv/linux/pwrite64.c: Use proper prototype.
* sysdeps/unix/sysv/linux/truncate64.c: Likewise.
* sysdeps/unix/sysv/linux/kernel-features.h: [gs]etres[ug]id are
available on sparc since 2.3.39.
* sysdeps/unix/sysv/linux/execve.c: Kill warnings.
2000-01-17 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/i386/chown.c (__syscall_chown): Use proper
prototype.
(__real_chown): Return EINVAL if owner or group are out of the range
-1U .. 65534.
* sysdeps/unix/sysv/linux/i386/lchown.c (__lchown): Likewise.
* sysdeps/unix/sysv/linux/i386/fchown.c (__fchown): Likewise.
* sysdeps/unix/sysv/linux/i386/setresuid.c (__setresuid): Return
EINVAL if ruid, euid or suid are out of the range -1U .. 65534.
* sysdeps/unix/sysv/linux/i386/setresgid.c (__setresgid): Similarly.
* sysdeps/unix/sysv/linux/i386/setreuid.c (__setreuid): Simplify.
* sysdeps/unix/sysv/linux/i386/setregid.c (__setregid): Likewise.
* sysdeps/unix/sysv/linux/m68k/chown.c (__syscall_chown): Use proper
prototype.
Don't include non-existant header.
(__chown): Return EINVAL if owner or group are out of the range
-1U .. 65534.
* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list (setresuid,
setresgid): Inherit standard linux/syscalls.list definitions.
* sysdeps/unix/sysv/linux/sparc/sparc32/setresuid.c: Remove.
* sysdeps/unix/sysv/linux/sparc/sparc32/setresgid.c: Remove.
* sysdeps/unix/sysv/linux/syscalls.list (setresgid): Provide
__setresgid symbol.
|