musl/arch
Rich Felker f56d57f8a7 move IPC_64 from public bits/ipc.h to syscall_arch.h
the definition of the IPC_64 macro controls the interface between libc
and the kernel through syscalls; it's not a public API. the meaning is
rather obscure. long ago, Linux's sysvipc *id_ds structures used
16-bit uids/gids and wrong types for a few other fields. this was in
the libc5 era, before glibc. the IPC_64 flag (64 is a misnomer; it's
more like 32) tells the kernel to use the modern[-ish] versions of the
structures.

the definition of IPC_64 has nothing to do with whether the arch is
32- or 64-bit. rather, due to either historical accident or
intentional obnoxiousness, the kernel only accepts and masks off the
0x100 IPC_64 flag conditional on CONFIG_ARCH_WANT_IPC_PARSE_VERSION,
i.e. for archs that want to provide, or that accidentally provided,
both. for archs which don't define this option, no masking is
performed and commands with the 0x100 bit set will fail as invalid. so
ultimately, the definition is just a matter of matching an arbitrary
switch defined per-arch in the kernel.
2019-07-30 14:23:56 -04:00
..
aarch64 move IPC_64 from public bits/ipc.h to syscall_arch.h 2019-07-30 14:23:56 -04:00
arm duplicate generic bits/msg.h for each arch using it, in prep to change 2019-07-29 18:22:33 -04:00
generic move IPC_64 from public bits/ipc.h to syscall_arch.h 2019-07-30 14:23:56 -04:00
i386 duplicate generic bits/msg.h for each arch using it, in prep to change 2019-07-29 18:22:33 -04:00
m68k duplicate generic bits/msg.h for each arch using it, in prep to change 2019-07-29 18:22:33 -04:00
microblaze duplicate generic bits/msg.h for each arch using it, in prep to change 2019-07-29 18:22:33 -04:00
mips extricate bits/sem.h from x32 time_t hack 2019-07-29 18:03:41 -04:00
mips64 move IPC_64 from public bits/ipc.h to syscall_arch.h 2019-07-30 14:23:56 -04:00
mipsn32 extricate bits/sem.h from x32 time_t hack 2019-07-29 18:03:41 -04:00
or1k move IPC_64 from public bits/ipc.h to syscall_arch.h 2019-07-30 14:23:56 -04:00
powerpc move IPC_64 from public bits/ipc.h to syscall_arch.h 2019-07-30 14:23:56 -04:00
powerpc64 move IPC_64 from public bits/ipc.h to syscall_arch.h 2019-07-30 14:23:56 -04:00
riscv64 move IPC_64 from public bits/ipc.h to syscall_arch.h 2019-07-30 14:23:56 -04:00
s390x move IPC_64 from public bits/ipc.h to syscall_arch.h 2019-07-30 14:23:56 -04:00
sh duplicate generic bits/msg.h for each arch using it, in prep to change 2019-07-29 18:22:33 -04:00
x32 move IPC_64 from public bits/ipc.h to syscall_arch.h 2019-07-30 14:23:56 -04:00
x86_64 move IPC_64 from public bits/ipc.h to syscall_arch.h 2019-07-30 14:23:56 -04:00