mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +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