diff options
author | Joseph Myers <joseph@codesourcery.com> | 2017-06-28 10:33:23 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2017-06-28 10:33:23 +0000 |
commit | d57cb31910ca5c200e4172276749a7f8bd17ae3c (patch) | |
tree | ecdfae9860d80875fb91a74660ac014edbe312fc /NEWS | |
parent | ac782f9e9ab0a39a3054e4c97653fafa8ea47a62 (diff) | |
download | glibc-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 'NEWS')
-rw-r--r-- | NEWS | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/NEWS b/NEWS index b8deb9c2b6..22c43f5977 100644 --- a/NEWS +++ b/NEWS @@ -97,6 +97,11 @@ Version 2.26 * The ucontext_t type no longer has the name struct ucontext. This changes the C++ name mangling for interfaces involving this type. +* On M68k GNU/Linux and MIPS GNU/Linux, the fpregset_t type no longer has + the name struct fpregset. On Nios II GNU/Linux, the mcontext_t type no + longer has the name struct mcontext. This changes the C++ name mangling + for interfaces involving those types. + * The synchronization that pthread_spin_unlock performs has been changed to now be equivalent to a C11 atomic store with release memory order to the spin lock's memory location. This ensures correct synchronization |