]> git.ipfire.org Git - thirdparty/glibc.git/commit - sysdeps/unix/sysv/linux/sh/bits/shmlba.h
Move SHMLBA to its own header.
authorJoseph Myers <joseph@codesourcery.com>
Wed, 17 Oct 2018 11:55:10 +0000 (11:55 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Wed, 17 Oct 2018 11:55:10 +0000 (11:55 +0000)
commit8c8d2a8aff71e0c53b372871f158c121289452cf
treef55711b8b7630d9add0f1833dead73449d239067
parent403b4feb22dcbc85ace72a361d2a951380372471
Move SHMLBA to its own header.

One difference between bits/shm.h headers for architectures using the
Linux kernel is the definition of SHMLBA.  This was noted in
<https://sourceware.org/ml/libc-alpha/2018-09/msg00175.html> as a
reason why even a new architecture (C-SKY) might need its own
bits/shm.h; thus, splitting it out of bits/shm.h can allow less
duplication of headers for new architectures.

This patch moves that definition to its own header, bits/shmlba.h, to
allow more sharing of headers between architectures.  That move allows
the arm, ia64 and sh variants of bits/shm.h to be removed, as they had
no other significant differences from the generic bits/shm.h; powerpc
and x86 have their own bits/shm.h but do not need to get their own
bits/shmlba.h because they use the same SHMLBA as the generic header.
Other architectures with their own bits/shm.h get their own
bits/shmlba.h without being able to remove their own bits/shm.h until
the generic one has been adapted to be able to handle more
architectures (where, in addition to the differences seen for
bits/msq.h and bits/sem.h, the position of shm_segsz in struct
shmid_ds also depends on the architecture).

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

* 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.
(__getpagesize): Remove function declaration.
* sysdeps/unix/sysv/linux/hppa/bits/shm.h: Include
<bits/shmlba.h>.
(SHMLBA): Remove macro.
* sysdeps/unix/sysv/linux/mips/bits/shm.h: Include
<bits/shmlba.h>.
(SHMLBA): Remove macro.
* sysdeps/unix/sysv/linux/powerpc/bits/shm.h: Include
<bits/shmlba.h>.
(SHMLBA): Remove macro.
(__getpagesize): Remove function declaration.
* sysdeps/unix/sysv/linux/sparc/bits/shm.h: Include
<bits/shmlba.h>.
(SHMLBA): Remove macro.
(__getshmlba): Remove function declaration.
* sysdeps/unix/sysv/linux/x86/bits/shm.h: Include <bits/shmlba.h>.
(SHMLBA): Remove macro.
(__getpagesize): Remove function declaration.
* sysdeps/unix/sysv/linux/arm/bits/shm.h: Remove file.
* sysdeps/unix/sysv/linux/ia64/bits/shm.h: Likewise.
* sysdeps/unix/sysv/linux/sh/bits/shm.h: Likewise.
* sysdeps/unix/sysv/linux/bits/shmlba.h: New file.
* sysdeps/unix/sysv/linux/arm/bits/shmlba.h: Likewise.
* sysdeps/unix/sysv/linux/hppa/bits/shmlba.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/bits/shmlba.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/shmlba.h: Likewise.
* sysdeps/unix/sysv/linux/sh/bits/shmlba.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/shmlba.h: Likewise.
18 files changed:
ChangeLog
sysdeps/unix/sysv/linux/Makefile
sysdeps/unix/sysv/linux/arm/bits/shm.h [deleted file]
sysdeps/unix/sysv/linux/arm/bits/shmlba.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/bits/shm.h
sysdeps/unix/sysv/linux/bits/shmlba.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/hppa/bits/shm.h
sysdeps/unix/sysv/linux/hppa/bits/shmlba.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/ia64/bits/shm.h [deleted file]
sysdeps/unix/sysv/linux/ia64/bits/shmlba.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/mips/bits/shm.h
sysdeps/unix/sysv/linux/mips/bits/shmlba.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/powerpc/bits/shm.h
sysdeps/unix/sysv/linux/sh/bits/shm.h [deleted file]
sysdeps/unix/sysv/linux/sh/bits/shmlba.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/sparc/bits/shm.h
sysdeps/unix/sysv/linux/sparc/bits/shmlba.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/x86/bits/shm.h