diff options
author | Joseph Myers <joseph@codesourcery.com> | 2017-08-09 17:51:26 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2017-08-09 17:51:26 +0000 |
commit | 3d452dabd1f063bdf251825a3ba5d68461921def (patch) | |
tree | aa689bf631d6f15121ef98d8afa630067013e980 /ChangeLog | |
parent | 3016149819268b14660f791b971910ccc2cc13e5 (diff) | |
download | glibc-3d452dabd1f063bdf251825a3ba5d68461921def.zip glibc-3d452dabd1f063bdf251825a3ba5d68461921def.tar.gz glibc-3d452dabd1f063bdf251825a3ba5d68461921def.tar.bz2 |
Fix uc_* namespace (bug 21457).
The standard members of ucontext_t, in all standard versions with that
type, are uc_link, uc_sigmask, uc_stack and uc_mcontext.
The uc_* namespace is mostly reserved for additions to the structure.
However, in XPG4.2, it's only reserved when <ucontext.h> is included,
not when <signal.h> is included, while <signal.h> is required to
define ucontext_t (but not allowed to make visible other symbols from
<ucontext.h>). Thus, nonstandard members should avoid uc_* names.
Some already do use __uc_*, but others don't; most architectures (all
except ia64, I think) have a member uc_flags and some have additional
members beyond that.
This patch makes nonstandard members have an __ prefix unless
__USE_MISC is defined. Members whose names indicate they are solely
padding / reserved for future use are renamed unconditionally to use
the __glibc_reserved1 naming convention.
This is part of the preparation for a revised version of the
mcontext_t / sigcontext patch to be able to eliminate all 13 of the
miscellaneous XFAILs in conform/Makefile, rather than only 11 of them
as at present (at least one further fix on top of this one will be
needed for that as well).
Tested for x86_64, and with build-many-glibcs.py.
[BZ #21457]
* sysdeps/arm/sys/ucontext.h (__ctx): Move undefine further down.
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
__glibc_reserved1.
* sysdeps/generic/sys/ucontext.h (__ctx): New macro.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/i386/sys/ucontext.h (__ctx): Move undefine further down.
(__ctxt): Likewise.
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
__glibc_reserved1.
* sysdeps/m68k/sys/ucontext.h (__ctx): Move undefine further down.
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
__glibc_reserved1.
* sysdeps/mips/sys/ucontext.h (__ctx): Move undefine further down.
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
__glibc_reserved1.
* sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h (__ctx): New
macro.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/alpha/sys/ucontext.h (__ctx): New macro.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/arm/sys/ucontext.h (__ctx): New macro.
(ucontext_t): Use __ctx with uc_flags and uc_regspace.
* sysdeps/unix/sysv/linux/hppa/sys/ucontext.h (__ctx): New macro.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (__ctx): Move
undefine further down.
(ucontext_t): Use __ctx with uc_flags. Rename uc_filler to
__glibc_reserved1.
* sysdeps/unix/sysv/linux/mips/sys/ucontext.h (__ctx): Move
undefine further down.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/nios2/sys/ucontext.h (__ctx): Move
undefine further down.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (ucontext_t): Use
__ctx with uc_flags, uc_regs_ptr, uc_regs and uc_reg_space.
Rename uc_pad to __glibc_reserved1.
* sysdeps/unix/sysv/linux/s390/sys/ucontext.h (__ctx): Move
undefine further down.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/sh/sys/ucontext.h (__ctx): Move undefine
further down.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/sparc/sys/ucontext.h (ucontext_t): Use
__ctx with uc_flags.
* sysdeps/unix/sysv/linux/tile/sys/ucontext.h (__ctx): New macro.
(ucontext_t): Use __ctx with uc_flags.
* sysdeps/unix/sysv/linux/x86/sys/ucontext.h (ucontext_t): Use
__ctx with uc_flags.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 53 |
1 files changed, 53 insertions, 0 deletions
@@ -1,3 +1,56 @@ +2017-08-09 Joseph Myers <joseph@codesourcery.com> + + [BZ #21457] + * sysdeps/arm/sys/ucontext.h (__ctx): Move undefine further down. + (ucontext_t): Use __ctx with uc_flags. Rename uc_filler to + __glibc_reserved1. + * sysdeps/generic/sys/ucontext.h (__ctx): New macro. + (ucontext_t): Use __ctx with uc_flags. + * sysdeps/i386/sys/ucontext.h (__ctx): Move undefine further down. + (__ctxt): Likewise. + (ucontext_t): Use __ctx with uc_flags. Rename uc_filler to + __glibc_reserved1. + * sysdeps/m68k/sys/ucontext.h (__ctx): Move undefine further down. + (ucontext_t): Use __ctx with uc_flags. Rename uc_filler to + __glibc_reserved1. + * sysdeps/mips/sys/ucontext.h (__ctx): Move undefine further down. + (ucontext_t): Use __ctx with uc_flags. Rename uc_filler to + __glibc_reserved1. + * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h (__ctx): New + macro. + (ucontext_t): Use __ctx with uc_flags. + * sysdeps/unix/sysv/linux/alpha/sys/ucontext.h (__ctx): New macro. + (ucontext_t): Use __ctx with uc_flags. + * sysdeps/unix/sysv/linux/arm/sys/ucontext.h (__ctx): New macro. + (ucontext_t): Use __ctx with uc_flags and uc_regspace. + * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h (__ctx): New macro. + (ucontext_t): Use __ctx with uc_flags. + * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (__ctx): Move + undefine further down. + (ucontext_t): Use __ctx with uc_flags. Rename uc_filler to + __glibc_reserved1. + * sysdeps/unix/sysv/linux/mips/sys/ucontext.h (__ctx): Move + undefine further down. + (ucontext_t): Use __ctx with uc_flags. + * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h (__ctx): Move + undefine further down. + (ucontext_t): Use __ctx with uc_flags. + * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (ucontext_t): Use + __ctx with uc_flags, uc_regs_ptr, uc_regs and uc_reg_space. + Rename uc_pad to __glibc_reserved1. + * sysdeps/unix/sysv/linux/s390/sys/ucontext.h (__ctx): Move + undefine further down. + (ucontext_t): Use __ctx with uc_flags. + * sysdeps/unix/sysv/linux/sh/sys/ucontext.h (__ctx): Move undefine + further down. + (ucontext_t): Use __ctx with uc_flags. + * sysdeps/unix/sysv/linux/sparc/sys/ucontext.h (ucontext_t): Use + __ctx with uc_flags. + * sysdeps/unix/sysv/linux/tile/sys/ucontext.h (__ctx): New macro. + (ucontext_t): Use __ctx with uc_flags. + * sysdeps/unix/sysv/linux/x86/sys/ucontext.h (ucontext_t): Use + __ctx with uc_flags. + 2017-08-09 Florian Weimer <fweimer@redhat.com> [BZ #21932] |