[Bug libc/21457] sys/ucontext.h namespace

cvs-commit at gcc dot gnu.org sourceware-bugzilla@sourceware.org
Thu Jun 1 14:08:00 GMT 2017


https://sourceware.org/bugzilla/show_bug.cgi?id=21457

--- Comment #4 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  139904b7e454b1232dc7807dd613682d107daab1 (commit)
      from  491bb0858e2d7edc36ced616e846803671d8db75 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=139904b7e454b1232dc7807dd613682d107daab1

commit 139904b7e454b1232dc7807dd613682d107daab1
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Thu Jun 1 14:07:40 2017 +0000

    Fix more namespace issues in sys/ucontext.h (bug 21457).

    Continuing the fixes for namespace issues in sys/ucontext.h, this
    patch moves various symbols into the implementation namespace in the
    absence of __USE_MISC.  As with previous changes, it is nonexhaustive,
    just covering more straightforward cases.

    Structure fields are generally changed to have a prefix __ in the
    absence of __USE_MISC, via a macro __ctx (used without a space before
    the open parenthesis, since the result is a single identifier).
    Various macros such as NGREG also have leading __ added.  No changes
    are made to structure tags (and thus to C++ name mangling), except
    that in the (unused) file sysdeps/i386/sys/ucontext.h, structures
    defined inside other structures as the type for a field have their
    tags removed in the non-__USE_MISC case (those structure tags would
    not in any case have been visible in C++, because in C++ the scope of
    such a tag is limited to the containing structure).  No changes are
    made to the contents of bits/sigcontext.h, or to whether it is
    included.  Because of remaining namespace issues, this patch does not
    yet fix the bug or allow any XFAILs to be removed.

    Tested for x86_64 and x86, and with build-many-glibcs.py.

        [BZ #21457]
        * sysdeps/arm/sys/ucontext.h (NGREG): Rename to __NGREG and define
        NGREG to __NGREG if [__USE_MISC].
        (gregset_t): Define using __NGREG.
        (__ctx): New macro.
        (mcontext_t): Use __ctx in defining fields.
        * sysdeps/i386/sys/ucontext.h (NGREG): Rename to __NGREG and
        define NGREG to __NGREG if [__USE_MISC].
        (gregset_t): Define using __NGREG.
        (__ctx): New macro.
        (__ctxt): Likewise.
        (fpregset_t): Use __ctx and __ctxt in defining fields.
        (mcontext_t): Likewise.
        * sysdeps/m68k/sys/ucontext.h (NGREG): Rename to __NGREG and
        define NGREG to __NGREG if [__USE_MISC].
        (gregset_t): Define using __NGREG.
        (__ctx): New macro.
        (mcontext_t): Use __ctx in defining fields.
        * sysdeps/mips/sys/ucontext.h (NGREG): Rename to __NGREG and
        define NGREG to __NGREG if [__USE_MISC].
        (gregset_t): Define using __NGREG.
        (__ctx): New macro.
        (fpregset_t): Use __ctx in defining fields.
        (mcontext_t): Likewise.
        * sysdeps/unix/sysv/linux/alpha/sys/ucontext.h (NGREG): Rename to
        __NGREG and define NGREG to __NGREG if [__USE_MISC].
        (gregset_t): Define using __NGREG.
        (NFPREG): Rename to __NFPREG and define NFPREG to __NFPREG if
        [__USE_MISC].
        (fpregset_t): Define using __NFPREG.
        * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h (NGREG): Rename to
        __NGREG and define NGREG to __NGREG if [__USE_MISC].
        (gregset_t): Define using __NGREG.
        (__ctx): New macro.
        (fpregset_t): Use __ctx in defining fields.
        (mcontext_t): Likewise.
        * sysdeps/unix/sysv/linux/mips/sys/ucontext.h (NGREG): Rename to
        __NGREG and define NGREG to __NGREG if [__USE_MISC].
        (NFPREG): Rename to __NFPREG and define NFPREG to __NFPREG if
        [__USE_MISC].
        (gregset_t): Define using __NGREG.
        (__ctx): New macro.
        (fpregset_t): Use __ctx in defining fields.
        (mcontext_t): Likewise.
        * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h (__ctx): New macro.
        (mcontext_t): Use __ctx in defining fields.
        * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h (__ctx): New
        macro.
        [__WORDSIZE == 32] (NGREG): Rename to __NGREG and define NGREG to
        __NGREG if [__USE_MISC].
        [__WORDSIZE == 32] (gregset_t): Define using __NGREG.
        [__WORDSIZE == 32] (fpregset_t): Use __ctx in defining fields.
        (mcontext_t): Likewise.
        [__WORDSIZE != 32] (NGREG): Rename to __NGREG and define NGREG to
        __NGREG if [__USE_MISC].
        [__WORDSIZE != 32] (NFPREG): Rename to __NFPREG and define NFPREG
        to __NFPREG if [__USE_MISC].
        [__WORDSIZE != 32] (NVRREG): Rename to __NVRREG and define NVRREG
        to __NVRREG if [__USE_MISC].
        [__WORDSIZE != 32] (gregset_t): Define using __NGREG.
        [__WORDSIZE != 32] (fpregset_t): Define using __NFPREG.
        [__WORDSIZE != 32] (vscr_t): Use __ctx in defining fields.
        [__WORDSIZE != 32] (vrregset_t): Likewise.
        [__WORDSIZE != 32] (mcontext_t): Likewise.
        * sysdeps/unix/sysv/linux/s390/sys/ucontext.h (__ctx): New macro.
        (__psw_t): Use __ctx in defining fields.
        (NGREG): Rename to __NGREG and define NGREG to __NGREG if
        [__USE_MISC].
        (gregset_t): Define using __NGREG.
        (fpreg_t): Use __ctx in defining fields.
        (fpregset_t): Likewise.
        (mcontext_t): Likewise.
        * sysdeps/unix/sysv/linux/sh/sys/ucontext.h (NGREG): Rename to
        __NGREG and define NGREG to __NGREG if [__USE_MISC].
        (gregset_t): Define using __NGREG.
        (NFPREG): Rename to __NFPREG and define NFPREG to __NFPREG if
        [__USE_MISC].
        (fpregset_t): Define using __NFPREG.
        (__ctx): New macro.
        (mcontext_t): Use __ctx in defining fields.
        * sysdeps/unix/sysv/linux/x86/sys/ucontext.h (__ctx): New macro.
        [__x86_64__] (NGREG): Rename to __NGREG and define NGREG to
        __NGREG if [__USE_MISC].
        [__x86_64__] (gregset_t): Define using __NGREG.
        [__x86_64__] (struct _libc_fpxreg): Use __ctx in defining fields.
        [__x86_64__] (struct _libc_fpstate): Likewise.
        [__x86_64__] (mcontext_t): Likewise.
        [!__x86_64__] (NGREG): Rename to __NGREG and define NGREG to
        __NGREG if [__USE_MISC].
        [!__x86_64__] (gregset_t): Define using __NGREG.
        [!__x86_64__] (struct _libc_fpreg): Use __ctx in defining fields.
        [!__x86_64__] (struct _libc_fpstate): Likewise.
        [!__x86_64__] (mcontext_t): Likewise.

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                      |   96 ++++++++++++++++++++++++
 sysdeps/arm/sys/ucontext.h                     |   19 ++++-
 sysdeps/i386/sys/ucontext.h                    |   44 +++++++----
 sysdeps/m68k/sys/ucontext.h                    |   19 ++++-
 sysdeps/mips/sys/ucontext.h                    |   37 ++++++---
 sysdeps/unix/sysv/linux/alpha/sys/ucontext.h   |   14 +++-
 sysdeps/unix/sysv/linux/m68k/sys/ucontext.h    |   31 +++++---
 sysdeps/unix/sysv/linux/mips/sys/ucontext.h    |   88 ++++++++++++---------
 sysdeps/unix/sysv/linux/nios2/sys/ucontext.h   |   12 +++-
 sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h |   73 +++++++++++-------
 sysdeps/unix/sysv/linux/s390/sys/ucontext.h    |   37 ++++++---
 sysdeps/unix/sysv/linux/sh/sys/ucontext.h      |   48 ++++++++----
 sysdeps/unix/sysv/linux/x86/sys/ucontext.h     |   74 +++++++++++--------
 13 files changed, 414 insertions(+), 178 deletions(-)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Glibc-bugs mailing list