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 #3 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  cfed8ece799b6e6540193a14b41d9de52dc3b08f (commit)
      from  231a59ce2c5719d2d77752c21092960e28837b4a (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=cfed8ece799b6e6540193a14b41d9de52dc3b08f

commit cfed8ece799b6e6540193a14b41d9de52dc3b08f
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Tue May 23 11:49:48 2017 +0000

    Fix sys/ucontext.h namespace from signal.h etc. inclusion (bug 21457).

    The various sys/ucontext.h headers include <signal.h> and all the
    headers split out of <bits/sigstack.h>.  (Except that the powerpc
    version does not include <signal.h>.)

    None of the standard versions defining ucontext.h require or permit
    such inclusions; rather, they all say that the stack_t and sigset_t
    types from signal.h are defined.  This patch fixes the headers to
    include just the bits/ headers for those types (and the existing
    includes of bits/sigcontext.h).  Since bits/types/sigset_t.h is now
    being included instead of bits/types/__sigset_t.h, __sigset_t uses in
    the headers are replaced by direct use of the public sigset_t type.
    sysdeps/unix/sysv/linux/x86/bits/sigcontext.h was relying on the prior
    inclusion of <signal.h> to define types such as __uint32_t, so gets a
    bits/types.h include added to provide those types.

    Although one could keep some or all of the includes under a __USE_MISC
    conditional, that seems unnecessary to me, especially given the lack
    of a <signal.h> include in the powerpc version meaning that portable
    programs already cannot rely on such an include.

    Tested for x86_64 and x86, and with build-many-glibcs.py.  As with
    other such fixes, more namespace issues remain so this does not permit
    any XFAILs to be removed or bugs to be closed.

        [BZ #21457]
        * sysdeps/arm/sys/ucontext.h: Do not include <signal.h>,
        <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/generic/sys/ucontext.h: Do not include <signal.h>,
        <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/i386/sys/ucontext.h: Do not include <signal.h>,
        <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/m68k/sys/ucontext.h: Do not include <signal.h>,
        <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/mips/sys/ucontext.h: Do not include <signal.h>,
        <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h: Do not include
        <signal.h>, <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/unix/sysv/linux/alpha/sys/ucontext.h: Do not include
        <signal.h>, <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/unix/sysv/linux/arm/sys/ucontext.h: Do not include
        <signal.h>, <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h: Do not include
        <signal.h>, <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/unix/sysv/linux/ia64/sys/ucontext.h: Do not include
        <signal.h>, <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h>.
        * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h: Do not include
        <signal.h>, <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Do not include
        <signal.h>, <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h: Do not include
        <signal.h>, <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Do not include
        <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.
        * sysdeps/unix/sysv/linux/s390/sys/ucontext.h: Do not include
        <signal.h>, <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/unix/sysv/linux/sh/sys/ucontext.h: Do not include
        <signal.h>, <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/unix/sysv/linux/sparc/sys/ucontext.h: Do not include
        <signal.h>, <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/unix/sysv/linux/tile/sys/ucontext.h: Do not include
        <signal.h>, <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.
        * sysdeps/unix/sysv/linux/x86/bits/sigcontext.h: Include
        <bits/types.h>.
        * sysdeps/unix/sysv/linux/x86/sys/ucontext.h: Do not include
        <signal.h>, <bits/sigstack.h>, <bits/types/struct_sigstack.h> or
        <bits/ss_flags.h>.  Include <bits/types/sigset_t.h> instead of
        <bits/types/__sigset_t.h>.
        (ucontext_t): Use sigset_t instead of __sigset_t.

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

Summary of changes:
 ChangeLog                                      |   97 ++++++++++++++++++++++++
 sysdeps/arm/sys/ucontext.h                     |   10 +--
 sysdeps/generic/sys/ucontext.h                 |   10 +--
 sysdeps/i386/sys/ucontext.h                    |   10 +--
 sysdeps/m68k/sys/ucontext.h                    |   10 +--
 sysdeps/mips/sys/ucontext.h                    |   10 +--
 sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h |   10 +--
 sysdeps/unix/sysv/linux/alpha/sys/ucontext.h   |   10 +--
 sysdeps/unix/sysv/linux/arm/sys/ucontext.h     |   10 +--
 sysdeps/unix/sysv/linux/hppa/sys/ucontext.h    |   10 +--
 sysdeps/unix/sysv/linux/ia64/sys/ucontext.h    |    7 +--
 sysdeps/unix/sysv/linux/m68k/sys/ucontext.h    |   10 +--
 sysdeps/unix/sysv/linux/mips/sys/ucontext.h    |   10 +--
 sysdeps/unix/sysv/linux/nios2/sys/ucontext.h   |   10 +--
 sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h |    5 -
 sysdeps/unix/sysv/linux/s390/sys/ucontext.h    |   10 +--
 sysdeps/unix/sysv/linux/sh/sys/ucontext.h      |   10 +--
 sysdeps/unix/sysv/linux/sparc/sys/ucontext.h   |   12 +--
 sysdeps/unix/sysv/linux/tile/sys/ucontext.h    |   10 +--
 sysdeps/unix/sysv/linux/x86/bits/sigcontext.h  |    2 +
 sysdeps/unix/sysv/linux/x86/sys/ucontext.h     |   12 +--
 21 files changed, 136 insertions(+), 149 deletions(-)

-- 
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]