mirror of git://sourceware.org/git/glibc.git
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. |
||
|---|---|---|
| .. | ||
| bits | ||
| sh3 | ||
| sh4 | ||
| sys | ||
| Implies | ||
| Makefile | ||
| Versions | ||
| ____longjmp_chk.S | ||
| atomic-machine.h | ||
| brk.c | ||
| c++-types.data | ||
| clone.S | ||
| configure | ||
| configure.ac | ||
| fxstat.c | ||
| fxstatat.c | ||
| jmp_buf-macros.h | ||
| kernel-features.h | ||
| kernel_sigaction.h | ||
| ld.abilist | ||
| libBrokenLocale.abilist | ||
| libanl.abilist | ||
| libc.abilist | ||
| libcrypt.abilist | ||
| libdl.abilist | ||
| libm.abilist | ||
| libnsl.abilist | ||
| libpthread.abilist | ||
| libresolv.abilist | ||
| librt.abilist | ||
| libthread_db.abilist | ||
| libutil.abilist | ||
| localplt.data | ||
| lockf64.c | ||
| lowlevel-atomic.h | ||
| lxstat.c | ||
| makecontext.S | ||
| pipe.S | ||
| profil-counter.h | ||
| pt-vfork.S | ||
| shlib-versions | ||
| sigaltstack-offsets.sym | ||
| sigcontextinfo.h | ||
| smp.h | ||
| syscall.S | ||
| syscalls.list | ||
| sysdep.S | ||
| sysdep.h | ||
| vfork.S | ||
| xstat.c | ||