mirror of
https://sourceware.org/git/glibc.git
synced 2025-12-24 17:51:17 +03:00
ipc: Refactor sysvipc internal definitions
This patch refactor the internal sysvipc in two main points:
1. Add a new __ASSUME_SYSVIPC_DEFAULT_IPC_64 to infer the __IPC_64
value to be used along either the multiplexed __NR_ipc or wired-up
syscall. The defaut value assumed for __IPC_64 is also changed
from 0x100 to 0x0, aligning with Linux generic UAPI. The idea
is to simplify the Linux 5.1 wire-up for sysvipc syscalls for
some 32-bit ABIs (which expectes __IPC_64 being 0x0) and simplify
new ports (which will no longer need to add ipc_priv.h).
2. It also removes some duplicated internal definition used on compat
sysvipc symbols defined at ipc_priv.h (more specifically the
__old_ipc_perm, SEMCTL_ARG_ADDRESS, MSGRCV_ARGS, and
SEMTIMEDOP_IPC_ARGS). The idea is also to make it simpler to enable
the new wire-up sysvipc syscall provided by Linux v5.1.
There is no semantic change expected on any port. Checked with a build
against all affected ABIs.
Reviewed-by: Florian Weimer <fweimer@redhat.com>
This commit is contained in:
@@ -85,6 +85,9 @@
|
||||
/* Support for SysV IPC through wired syscalls. All supported architectures
|
||||
either support ipc syscall and/or all the ipc correspondent syscalls. */
|
||||
#define __ASSUME_DIRECT_SYSVIPC_SYSCALLS 1
|
||||
/* The generic default __IPC_64 value is 0x0, however some architectures
|
||||
require a different value of 0x100. */
|
||||
#define __ASSUME_SYSVIPC_DEFAULT_IPC_64 1
|
||||
|
||||
/* All supported architectures reserve a 32-bit for MODE field in sysvipc
|
||||
ipc_perm. However, some kernel ABI interfaces still expect a 16-bit
|
||||
|
||||
Reference in New Issue
Block a user