glibc/sysdeps/unix/sysv/linux/mips
Joseph Myers 729f34028a Use single bits/shm.h for all architectures.
After my patch to move SHMLBA to its own header, the bits/shm.h
headers for architectures using the Linux kernel still vary in a few
ways: the use of __syscall_ulong_t; whether padding for 32-bit systems
is present before or after time fields, or missing altogether (mips,
x32); whether shm_segsz is before or after the time fields; whether,
if after time fields, there is extra padding before shm_segsz.

This patch arranges for a single header to be used.  __syscall_ulong_t
is safe to use everywhere, while bits/shm-pad.h is added with new
macros __SHM_PAD_AFTER_TIME, __SHM_PAD_BEFORE_TIME,
__SHM_SEGSZ_AFTER_TIME and __SHM_PAD_BETWEEN_TIME_AND_SEGSZ to
describe the differences.

Tested for x86_64 and x86, and with build-many-glibcs.py.

	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
	bits/shm-pad.h.
	* sysdeps/unix/sysv/linux/bits/shm.h: Include <bits/shm-pad.h>.
	(shmatt_t): Define as __syscall_ulong_t.
	(__SHM_PAD_TIME): New macro, depending on [__SHM_PAD_BEFORE_TIME]
	and [__SHM_PAD_AFTER_TIME].
	(struct shmid_ds): Define time fields using __SHM_PAD_TIME.
	Define shm_segsz and associated padding based on
	[__SHM_SEGSZ_AFTER_TIME] and [__SHM_PAD_BETWEEN_TIME_AND_SEGSZ].
	Use __syscall_ulong_t instead of unsigned long int.
	[__USE_MISC] (struct shminfo): Use __syscall_ulong_t instead of
	unsigned long int.
	[__USE_MISC] (struct shm_info): Likewise.
	* sysdeps/unix/sysv/linux/bits/shm-pad.h: New file.
	* sysdeps/unix/sysv/linux/hppa/bits/shm-pad.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/shm-pad.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/shm-pad.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/shm-pad.h: Likewise.
	* sysdeps/unix/sysv/linux/x86/bits/shm-pad.h: Likewise.
	* sysdeps/unix/sysv/linux/hppa/bits/shm.h: Remove.
	* sysdeps/unix/sysv/linux/mips/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/x86/bits/shm.h: Likewise.
2018-10-17 11:56:28 +00:00
..
bits Use single bits/shm.h for all architectures. 2018-10-17 11:56:28 +00:00
mips32 nptl: Add abilist symbols for C11 threads 2018-07-24 14:07:18 -03:00
mips64 nptl: Add abilist symbols for C11 threads 2018-07-24 14:07:18 -03:00
sys Unify some sys/procfs.h headers. 2018-09-25 16:48:15 +00:00
Implies
Makefile
Versions
____longjmp_chk.c
_test_and_set.c
brk.c
clone.S
configure
configure.ac
dl-cache.h
dl-static.c
getcontext.S
getmsg.c
getrlimit64.c
getsysstats.c
init-first.c
kernel-features.h
kernel_rt_sigframe.h
kernel_sigaction.h
kernel_stat.h
kernel_termios.h
ldsodefs.h
libc-abis libc-abis: Define ABSOLUTE ABI [BZ #19818][BZ #23307] 2018-07-05 18:06:43 +01:00
libc-vdso.h
makecontext.S
pipe.S
profil-counter.h
pt-vfork.S
putmsg.c
readelflib.c
register-dump.h
setcontext.S
setrlimit64.c
shlib-versions
sigcontextinfo.h
swapcontext.S
syscalls.list
ucontext_i.sym
ustat.c
vfork.S
xstatconv.c