This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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

--- Comment #23 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  4fa9b3bfe6759c82beb4b043a54a3598ca467289 (commit)
      from  5898f4548efdcd7c0fd437a74eeb80facc51a117 (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=4fa9b3bfe6759c82beb4b043a54a3598ca467289

commit 4fa9b3bfe6759c82beb4b043a54a3598ca467289
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Wed Aug 30 22:02:04 2017 +0000

    Fix mcontext_t sigcontext namespace (bug 21457).

    This patch completes the ucontext.h namespace fixes by fixing issues
    related to the use of struct sigcontext as mcontext_t, and inclusion
    of <bits/sigcontext.h> even when struct sigcontext is not so used.

    Inclusion of <bits/sigcontext.h> by <sys/ucontext.h> is removed; the
    way to get the sigcontext structure is by including <signal.h> (in a
    context where __USE_MISC is defined); the sysdeps/generic version of
    sys/ucontext.h keeps the inclusion by necessity, with a comment about
    how this is not namespace-clean, but the only configuration that used
    it, MicroBlaze, gets its own version of the header in this patch.
    Where mcontext_t was typedefed to struct sigcontext, the contents of
    struct sigcontext are inserted (with appropriate namespace handling to
    prefix fields with __ when __USE_MISC is not defined); review should
    check that this has been done correctly in each case, whether the
    definition of struct sigcontext comes from glibc headers or from the
    Linux kernel.  This changes C++ name mangling on affected
    architectures (which do not include x86_64/x86).

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

    2017-08-14  Joseph Myers  <joseph@codesourcery.com>

        [BZ #21457]
        * sysdeps/arm/sys/ucontext.h: Do not include <bits/sigcontext.h>.
        * sysdeps/generic/sys/ucontext.h: Add comment about use of struct
        sigcontext and namespace requirements.
        * sysdeps/i386/sys/ucontext.h: Do not include <bits/sigcontext.h>.
        * sysdeps/m68k/sys/ucontext.h: Likewise.
        * sysdeps/mips/sys/ucontext.h: Likewise.  Include <bits/types.h>.
        * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.
        (__ctx): Define earlier.
        (mcontext_t): Define structure contents rather than using struct
        sigcontext.
        * sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym (oEXTENSION): Use
        __glibc_reserved1 instead of __reserved.
        * sysdeps/unix/sysv/linux/alpha/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.
        (__ctx): Define earlier.
        (mcontext_t): Define structure contents rather than using struct
        sigcontext.
        * sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym: Use
        mcontext_t instead of struct sigcontext.
        * sysdeps/unix/sysv/linux/arm/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.
        (__ctx): Define earlier.
        (mcontext_t): Define structure contents rather than using struct
        sigcontext.
        * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.
        (__ctx): Define earlier.
        (mcontext_t): Define structure contents rather than using struct
        sigcontext.
        * sysdeps/unix/sysv/linux/ia64/makecontext.c (__makecontext): Use
        mcontext_t instead of struct sigcontext.
        * sysdeps/unix/sysv/linux/ia64/sigcontext-offsets.sym: Use
        mcontext_t instead of struct sigcontext.
        * sysdeps/unix/sysv/linux/ia64/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.
        (__ctx): New macro.
        (struct __ia64_fpreg_mcontext): New type.
        (mcontext_t): Define structure contents rather than using struct
        sigcontext.
        (_SC_GR0_OFFSET): Use mcontext_t instead of struct sigcontext.
        (uc_sigmask): Define using __ctx.
        (uc_stack): Likewise.
        * sysdeps/unix/sysv/linux/ia64/sys/procfs.h: Include
        <bits/sigcontext.h>.
        * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Likewise.
        * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.
        * sysdeps/unix/sysv/linux/microblaze/sys/ucontext.h: New file.
        * sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.
        * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.
        * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.
        * sysdeps/unix/sysv/linux/s390/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.
        * sysdeps/unix/sysv/linux/sh/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.
        * sysdeps/unix/sysv/linux/sparc/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.
        * sysdeps/unix/sysv/linux/tile/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.
        (__ctx): Define earlier.
        (mcontext_t): Define structure contents rather than using struct
        sigcontext.
        * sysdeps/unix/sysv/linux/x86/sys/ucontext.h: Do not include
        <bits/sigcontext.h>.  Include <bits/types.h>.
        * conform/Makefile (test-xfail-XPG42/signal.h/conform): Remove.
        (test-xfail-XPG42/sys/wait.h/conform): Likewise.
        (test-xfail-XPG42/ucontext.h/conform): Likewise.
        (test-xfail-UNIX98/signal.h/conform): Likewise.
        (test-xfail-UNIX98/sys/wait.h/conform): Likewise.
        (test-xfail-UNIX98/ucontext.h/conform): Likewise.
        (test-xfail-XOPEN2K/signal.h/conform): Likewise.
        (test-xfail-XOPEN2K/sys/wait.h/conform): Likewise.
        (test-xfail-XOPEN2K/ucontext.h/conform): Likewise.
        (test-xfail-POSIX2008/signal.h/conform): Likewise.
        (test-xfail-POSIX2008/sys/wait.h/conform): Likewise.
        (test-xfail-XOPEN2K8/signal.h/conform): Likewise.
        (test-xfail-XOPEN2K8/sys/wait.h/conform): Likewise.

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

Summary of changes:
 ChangeLog                                          |   85 ++++++++++++++++++
 NEWS                                               |    4 +
 conform/Makefile                                   |   15 ---
 sysdeps/arm/sys/ucontext.h                         |    1 -
 sysdeps/generic/sys/ucontext.h                     |    4 +-
 sysdeps/i386/sys/ucontext.h                        |    1 -
 sysdeps/m68k/sys/ucontext.h                        |    1 -
 sysdeps/mips/sys/ucontext.h                        |    2 +-
 sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h     |   23 +++--
 sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym     |    2 +-
 sysdeps/unix/sysv/linux/alpha/sys/ucontext.h       |   35 ++++++--
 sysdeps/unix/sysv/linux/alpha/ucontext-offsets.sym |   14 ++--
 sysdeps/unix/sysv/linux/arm/sys/ucontext.h         |   38 +++++++--
 sysdeps/unix/sysv/linux/hppa/sys/ucontext.h        |   23 +++--
 sysdeps/unix/sysv/linux/ia64/makecontext.c         |    2 +-
 .../unix/sysv/linux/ia64/sigcontext-offsets.sym    |   24 +++---
 sysdeps/unix/sysv/linux/ia64/sys/procfs.h          |    1 +
 sysdeps/unix/sysv/linux/ia64/sys/ptrace.h          |    1 +
 sysdeps/unix/sysv/linux/ia64/sys/ucontext.h        |   53 ++++++++++--
 sysdeps/unix/sysv/linux/m68k/sys/ucontext.h        |    1 -
 sysdeps/unix/sysv/linux/microblaze/sys/ucontext.h  |   92 ++++++++++++++++++++
 sysdeps/unix/sysv/linux/mips/sys/ucontext.h        |    1 -
 sysdeps/unix/sysv/linux/nios2/sys/ucontext.h       |    1 -
 sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h     |    1 -
 sysdeps/unix/sysv/linux/s390/sys/ucontext.h        |    1 -
 sysdeps/unix/sysv/linux/sh/sys/ucontext.h          |    1 -
 sysdeps/unix/sysv/linux/sparc/sys/ucontext.h       |    1 -
 sysdeps/unix/sysv/linux/tile/sys/ucontext.h        |   35 ++++++--
 sysdeps/unix/sysv/linux/x86/sys/ucontext.h         |    2 +-
 29 files changed, 369 insertions(+), 96 deletions(-)
 create mode 100644 sysdeps/unix/sysv/linux/microblaze/sys/ucontext.h

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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]