This is the mail archive of the
mailing list for the glibc project.
Re: Use common bits/sem.h for more architectures
On 08/10/2018 16:45, Joseph Myers wrote:
> sysdeps/unix/sysv/linux/bits/sem.h has padding after time fields in
> struct semid_ds unconditionally, and thus is only suitable for 32-bit
> architectures (no 64-bit configurations use this file);
> sysdeps/unix/sysv/linux/generic/bits/sem.h is substantively the same,
> except that the padding is conditioned on __WORDSIZE == 32, and so it
> can be used for 64-bit architectures as well.
> This patch adds the conditionals to
> sysdeps/unix/sysv/linux/bits/sem.h. The linux/generic/ version is
> then no longer needed and so is removed, as are the alpha, ia64 and
> s390 versions which are also no longer needed. The other
> architecture-specific versions have different padding or types and so
> are still needed after this change.
> This is essentially the same change for bits/sem.h as the bits/msq.h
> patch <https://sourceware.org/ml/libc-alpha/2018-10/msg00092.html>
> (pending review; there is no dependency on that patch). However, the
> details of the padding variations for the architectures that aren't
> changed are not all the same between msqid_ds and semid_ds.
> Tested with build-many-glibcs.py.
> 2018-10-08 Joseph Myers <firstname.lastname@example.org>
> * sysdeps/unix/sysv/linux/bits/sem.h: Include <bits/wordsize.h>.
> (struct semid_ds): Condition padding after time fields on
> [__WORDSIZE == 32].
> * sysdeps/unix/sysv/linux/alpha/bits/sem.h: Remove file.
> * sysdeps/unix/sysv/linux/generic/bits/sem.h: Likewise.
> * sysdeps/unix/sysv/linux/ia64/bits/sem.h: Likewise.
> * sysdeps/unix/sysv/linux/s390/bits/sem.h: Likewise.