glibc/sysdeps/unix/sysv/linux/powerpc
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
powerpc32 powerpc: Only enable TLE with PPC_FEATURE2_HTM_NOSC 2018-09-21 10:18:03 -07:00
powerpc64 powerpc: Only enable TLE with PPC_FEATURE2_HTM_NOSC 2018-09-21 10:18:03 -07:00
sys Unify some sys/procfs.h headers. 2018-09-25 16:48:15 +00:00
configure Move architecture cases out of sysdeps/unix/sysv/linux/configure.ac. 2014-06-24 20:53:03 +00:00
configure.ac Move architecture cases out of sysdeps/unix/sysv/linux/configure.ac. 2014-06-24 20:53:03 +00:00
dl-brk.S
dl-cache.h
dl-static.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
dl-sysdep.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
elision-conf.c powerpc: Only enable TLE with PPC_FEATURE2_HTM_NOSC 2018-09-21 10:18:03 -07:00
elision-conf.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
elision-lock.c powerpc: Fix TLE build for SPE (BZ #22926) 2018-03-07 17:39:44 -03:00
elision-timed.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
elision-trylock.c powerpc: Fix TLE build for SPE (BZ #22926) 2018-03-07 17:39:44 -03:00
elision-unlock.c powerpc: Fix TLE build for SPE (BZ #22926) 2018-03-07 17:39:44 -03:00
force-elision.h Fix race in pthread_mutex_lock while promoting to PTHREAD_MUTEX_ELISION_NP [BZ #23275] 2018-10-17 12:23:04 +02:00
get_clockfreq.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
get_timebase_freq.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
getmsg.c
gettimeofday.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
htm.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
Implies NPTL is no longer an add-on! 2014-07-07 09:29:06 -07:00
init-first.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ioctl.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ipc_priv.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
kernel_sigaction.h linux: Consolidate sigaction implementation 2018-04-05 17:09:50 -03:00
kernel_termios.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
kernel-features.h Refactor Linux ARCH_FORK implementation 2018-03-07 17:39:40 -03:00
ldconfig.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
ldd-rewrite.sed
ldsodefs.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
libc-start.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
libc-start.h hurd: Initialize TLS and libpthread before signal thread start 2018-03-25 00:52:39 +01:00
libc-vdso.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
lowlevellock.h Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
Makefile Remove abi-*-options compiler flags 2017-08-28 17:16:53 +02:00
nldbl-abi.h
profil-counter.h
pt-longjmp.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
pthread_attr_setstack.c PowerPC: Move remaining nptl/sysdeps/unix/sysv/linux/powerpc/ files. 2014-05-26 11:45:14 -05:00
pthread_attr_setstacksize.c PowerPC: Move remaining nptl/sysdeps/unix/sysv/linux/powerpc/ files. 2014-05-26 11:45:14 -05:00
pthread_mutex_cond_lock.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
pthread_mutex_lock.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
pthread_mutex_timedlock.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
pthread_mutex_trylock.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
putmsg.c
readelflib.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
rt-sysdep.c
sigcontextinfo.h Remove unused frame.h header, sigcontextinfo.h macros. 2018-03-22 16:40:51 +00:00
syscall.S powerpc: Only enable TLE with PPC_FEATURE2_HTM_NOSC 2018-09-21 10:18:03 -07:00
sysconf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
sysdep.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
test-gettimebasefreq.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
test-powerpc-linux-sysconf.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
time.c Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00:00
Versions Revert {send,sendm,recv,recvm}msg conformance changes 2016-06-10 11:58:16 -03:00