glibc/sysdeps/unix/sysv/linux/powerpc
Joseph Myers 8ea4d2b7d1 Unify some sys/procfs.h headers.
As per recent discussions, this patch unifies some of the sys/procfs.h
headers for architectures using the Linux kernel, producing a generic
version that can hopefully be used by all new architectures as well.

The new generic version is based on the AArch64 one.  The register
definitions, the only part that generally needs to vary by
architecture, go in a new bits/procfs.h header (which each
architecture using the generic version needs to provide); that header
also has any #includes that were in the architecture-specific
sys/procfs.h, where those includes went beyond the generic set.

The generic version is used for eight architectures where the generic
definitions were the same as the architecture-specific ones.  (Some of
those architectures had #if 0 fields, now removed; some defined types
or fields using different type names which were typedefs for the same
underlying types.)

Six of the remaining architectures with their own sys/procfs.h use
unsigned short for pr_uid / pr_gid in some cases; moving those to the
generic header will require a bits/ header to define a typedef for the
type of those fields.  In the case of alpha, the generic sys/procfs.h
uses elf_gregset_t (= unsigned long int[33]) to define prgregset_t and
elf_fpregset_t (= double[32]) to define prfpregset_t, but the alpha
version uses gregset_t (= long int[33]) and fpregset_t (= long
int[32]), so avoiding unnecessarily changing the underlying types (and
thus C++ name mangling) again means a bits/ header will need to be
able to define a different choice for those typedefs.

bits/procfs.h is included outside the __BEGIN_DECLS / __END_DECLS pair
(whereas the definitions it contains were previously inside that pair
in various sys/procfs.h headers), because it sometimes includes other
headers and putting those other #includes inside that pair seems
risky.  Because none of the declarations in bits/procfs.h are of
functions or variables or involve function types, I don't think it
makes any difference whether they are inside or outside an extern "C"
context.

Tested with build-many-glibcs.py (again, that does not provide much
validation for the correctness of this patch).

	* sysdeps/unix/sysv/linux/sys/procfs.h: Replace with file based on
	AArch64 version.  Include <bits/procfs.h>.
	* sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc]
	(sysdep_headers): Add bits/procfs.h.
	* sysdeps/unix/sysv/linux/bits/procfs.h: New file.
	* sysdeps/unix/sysv/linux/aarch64/bits/procfs.h: Likewise.
	* sysdeps/unix/sysv/linux/hppa/bits/procfs.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/procfs.h: Likewise.
	* sysdeps/unix/sysv/linux/microblaze/bits/procfs.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/procfs.h: Likewise.
	* sysdeps/unix/sysv/linux/nios2/bits/procfs.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/bits/procfs.h: Likewise.
	* sysdeps/unix/sysv/linux/riscv/bits/procfs.h: Likewise.
	* sysdeps/unix/sysv/linux/aarch64/sys/procfs.h: Remove file.
	* sysdeps/unix/sysv/linux/hppa/sys/procfs.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sys/procfs.h: Likewise.
	* sysdeps/unix/sysv/linux/microblaze/sys/procfs.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/sys/procfs.h: Likewise.
	* sysdeps/unix/sysv/linux/nios2/sys/procfs.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/sys/procfs.h: Likewise.
	* sysdeps/unix/sysv/linux/riscv/sys/procfs.h: Likewise.
2018-09-25 16:48:15 +00:00
..
bits Unify some sys/procfs.h headers. 2018-09-25 16:48:15 +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 Update copyright dates with scripts/update-copyrights. 2018-01-01 00:32:25 +00: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