aboutsummaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2018-10-17 11:56:28 +0000
committerJoseph Myers <joseph@codesourcery.com>2018-10-17 11:56:28 +0000
commit729f34028a7f494b599a29889df825cf826b6de0 (patch)
tree240e9b7f62d704af1e262f1223bec5c077b5790c /ChangeLog
parent8c8d2a8aff71e0c53b372871f158c121289452cf (diff)
downloadglibc-729f34028a7f494b599a29889df825cf826b6de0.zip
glibc-729f34028a7f494b599a29889df825cf826b6de0.tar.gz
glibc-729f34028a7f494b599a29889df825cf826b6de0.tar.bz2
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.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog25
1 files changed, 25 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 0b2100f..0f3a846 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,31 @@
2018-10-17 Joseph Myers <joseph@codesourcery.com>
* 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.
+
+ * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
bits/shmlba.h.
* sysdeps/unix/sysv/linux/bits/shm.h: Include <bits/shmlba.h>.
(SHMLBA): Remove macro.