about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/_G_config.h
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-06-28 10:33:23 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-06-28 10:33:23 +0000
commitd57cb31910ca5c200e4172276749a7f8bd17ae3c (patch)
treeecdfae9860d80875fb91a74660ac014edbe312fc /sysdeps/unix/sysv/linux/_G_config.h
parentac782f9e9ab0a39a3054e4c97653fafa8ea47a62 (diff)
downloadglibc-d57cb31910ca5c200e4172276749a7f8bd17ae3c.tar.gz
glibc-d57cb31910ca5c200e4172276749a7f8bd17ae3c.tar.xz
glibc-d57cb31910ca5c200e4172276749a7f8bd17ae3c.zip
Miscellaneous sys/ucontext.h namespace fixes (bug 21457).
This patch fixes various miscellaneous namespace issues in
sys/ucontext.h headers.

Some struct tags are removed where the structs also have *_t typedef
names, while other struct tags without such names are renamed to start
__; the changes are noted in NEWS as they can affect C++ name mangling
(although there seems to be little if any external use of these types,
at least based on checking codesearch.debian.net).  For powerpc,
pointers to struct pt_regs (not defined in this header) are changed to
point to struct __ctx(pt_regs), so in the __USE_MISC case those struct
fields continue to point to the existing struct pt_regs type for
maximum compatibility, while when that's a namespace issue they point
to a struct __pt_regs type which is always an incomplete struct.

Tested for affected architectures with build-many-glibcs.py.

	[BZ #21457]
	* sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (fpregset_t): Remove
	struct tag.
	* sysdeps/unix/sysv/linux/mips/sys/ucontext.h (fpregset_t):
	Likewise.
	* sysdeps/unix/sysv/linux/nios2/sys/ucontext.h (mcontext_t):
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (pt_regs):
	Declare struct type with __ctx.
	[__WORDSIZE != 32] (mcontext_t): Use __ctx with pt_regs struct
	tag.
	(ucontext_t) [__WORDSIZE == 32]: Use __ctx with pt_regs struct tag
	and regs field name.
Diffstat (limited to 'sysdeps/unix/sysv/linux/_G_config.h')
0 files changed, 0 insertions, 0 deletions