This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/21457] sys/ucontext.h namespace
- From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Wed, 30 Aug 2017 22:03:17 +0000
- Subject: [Bug libc/21457] sys/ucontext.h namespace
- Auto-submitted: auto-generated
- References: <bug-21457-131@http.sourceware.org/bugzilla/>
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.