+2016-09-23 Zack Weinberg <zackw@panix.com>
+
+ * sysdeps/generic/sys/ucontext.h
+ * sysdeps/arm/sys/ucontext.h
+ * sysdeps/i386/sys/ucontext.h
+ * sysdeps/m68k/sys/ucontext.h
+ * sysdeps/mips/sys/ucontext.h
+ * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h
+ * sysdeps/unix/sysv/linux/alpha/sys/ucontext.h
+ * sysdeps/unix/sysv/linux/arm/sys/ucontext.h
+ * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h
+ * sysdeps/unix/sysv/linux/ia64/sys/ucontext.h
+ * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h
+ * sysdeps/unix/sysv/linux/mips/sys/ucontext.h
+ * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h
+ * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h
+ * sysdeps/unix/sysv/linux/s390/sys/ucontext.h
+ * sysdeps/unix/sysv/linux/sh/sys/ucontext.h
+ * sysdeps/unix/sysv/linux/sparc/sys/ucontext.h
+ * sysdeps/unix/sysv/linux/tile/sys/ucontext.h
+ * sysdeps/unix/sysv/linux/x86/sys/ucontext.h:
+ Include both bits/sigcontext.h and bits/sigstack.h.
+ Fix grammar error in comment, if present.
+
+ * bits/sigstack.h
+ * sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h
+ * sysdeps/unix/sysv/linux/alpha/bits/sigstack.h
+ * sysdeps/unix/sysv/linux/bits/sigstack.h
+ * sysdeps/unix/sysv/linux/ia64/bits/sigstack.h
+ * sysdeps/unix/sysv/linux/mips/bits/sigstack.h
+ * sysdeps/unix/sysv/linux/powerpc/bits/sigstack.h
+ * sysdeps/unix/sysv/linux/sparc/bits/sigstack.h
+ * bits/sigcontext.h
+ * sysdeps/mach/hurd/i386/bits/sigcontext.h
+ * sysdeps/unix/sysv/linux/bits/sigcontext.h
+ * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h
+ * sysdeps/unix/sysv/linux/sparc/bits/sigcontext.h:
+ Add multiple inclusion guard. Permit inclusion by sys/ucontext.h
+ as well as signal.h, if this was not already allowed. Request
+ definition of size_t if necessary. Minimize semantically-null
+ differences across files.
+
2016-09-23 Zack Weinberg <zackw@panix.com>
* time/time.h, bits/time.h, sysdeps/unix/sysv/linux/bits/time.h:
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _SIGNAL_H
+#ifndef _BITS_SIGCONTEXT_H
+#define _BITS_SIGCONTEXT_H 1
+
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
#endif
};
/* Signal subcodes should be defined here. */
+
+#endif /* bits/sigcontext.h */
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _SIGNAL_H
+#ifndef _BITS_SIGSTACK_H
+#define _BITS_SIGSTACK_H 1
+
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
# error "Never include this file directly. Use <signal.h> instead"
#endif
/* System default stack size. */
#define SIGSTKSZ (MINSIGSTKSZ + 32768)
+
+#endif /* bits/sigstack.h */
#include <features.h>
#include <signal.h>
+/* We need the signal context definitions even if they are not exposed
+ by <signal.h>. */
+#include <bits/sigcontext.h>
+#include <bits/sigstack.h>
+
+
typedef int greg_t;
/* Number of general registers. */
#include <features.h>
#include <signal.h>
-/* We need the signal context definitions even if they are not used
- included in <signal.h>. */
+/* We need the signal context definitions even if they are not exposed
+ by <signal.h>. */
#include <bits/sigcontext.h>
+#include <bits/sigstack.h>
+
typedef struct sigcontext mcontext_t;
#include <features.h>
#include <signal.h>
+/* We need the signal context definitions even if they are not exposed
+ by <signal.h>. */
+#include <bits/sigcontext.h>
+#include <bits/sigstack.h>
+
+
/* Type for general register. */
typedef int greg_t;
#include <features.h>
#include <signal.h>
+/* We need the signal context definitions even if they are not exposed
+ by <signal.h>. */
+#include <bits/sigcontext.h>
+#include <bits/sigstack.h>
+
+
/* Type for general register. */
typedef int greg_t;
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#ifndef _BITS_SIGCONTEXT_H
+#define _BITS_SIGCONTEXT_H 1
+
#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
#endif
-#ifndef sc_pc
-
/* Signal handlers are actually called:
void handler (int sig, int code, struct sigcontext *scp); */
#define DBG_SINGLE_TRAP 0x1 /* single step */
#define DBG_BRKPNT_FAULT 0x2 /* breakpoint instruction */
-#endif /* sc_pc */
+#endif /* bits/sigcontext.h */
#define _SYS_UCONTEXT_H 1
#include <features.h>
-#include <sgidefs.h>
#include <signal.h>
+/* We need the signal context definitions even if they are not exposed
+ by <signal.h>. */
+#include <bits/sigcontext.h>
+#include <bits/sigstack.h>
+
+#include <sgidefs.h>
+
+
/* Type for general register. */
#if _MIPS_SIM == _ABIO32
typedef __uint32_t greg_t;
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _SIGNAL_H
+#ifndef _BITS_SIGSTACK_H
+#define _BITS_SIGSTACK_H 1
+
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
# error "Never include this file directly. Use <signal.h> instead"
#endif
+#define __need_size_t
+#include <stddef.h>
/* Structure describing a signal stack (obsolete). */
struct sigstack
int ss_onstack; /* Nonzero if executing on this stack. */
};
+/* Alternate, preferred interface. */
+typedef struct sigaltstack
+ {
+ void *ss_sp;
+ int ss_flags;
+ size_t ss_size;
+ } stack_t;
-/* Possible values for `ss_flags.'. */
+/* Possible values for `ss_flags'. */
enum
{
SS_ONSTACK = 1,
/* System default stack size. */
#define SIGSTKSZ 16384
-
-/* Alternate, preferred interface. */
-typedef struct sigaltstack
- {
- void *ss_sp;
- int ss_flags;
- size_t ss_size;
- } stack_t;
+#endif /* bits/sigstack.h */
#include <features.h>
#include <signal.h>
-#include <sys/procfs.h>
-/* We need the signal context definitions even if they are not used
- included in <signal.h>. */
+/* We need the signal context definitions even if they are not exposed
+ by <signal.h>. */
#include <bits/sigcontext.h>
+#include <bits/sigstack.h>
+
+#include <sys/procfs.h>
+
typedef elf_greg_t greg_t;
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _SIGNAL_H
+#ifndef _BITS_SIGSTACK_H
+#define _BITS_SIGSTACK_H 1
+
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
# error "Never include this file directly. Use <signal.h> instead"
#endif
+#define __need_size_t
+#include <stddef.h>
/* Structure describing a signal stack (obsolete). */
struct sigstack
int ss_onstack; /* Nonzero if executing on this stack. */
};
+/* Alternate, preferred interface. */
+typedef struct sigaltstack
+ {
+ __ptr_t ss_sp;
+ int ss_flags;
+ size_t ss_size;
+ } stack_t;
-/* Possible values for `ss_flags.'. */
+/* Possible values for `ss_flags'. */
enum
{
SS_ONSTACK = 1,
/* System default stack size. */
#define SIGSTKSZ 16384
-
-/* Alternate, preferred interface. */
-typedef struct sigaltstack
- {
- __ptr_t ss_sp;
- int ss_flags;
- size_t ss_size;
- } stack_t;
+#endif /* bits/sigstack.h */
#include <features.h>
#include <signal.h>
+/* We need the signal context definitions even if they are not exposed
+ by <signal.h>. */
#include <bits/sigcontext.h>
+#include <bits/sigstack.h>
/* Type for general register. */
#include <features.h>
#include <signal.h>
-/* We need the signal context definitions even if they are not used
- included in <signal.h>. */
+/* We need the signal context definitions even if they are not exposed
+ by <signal.h>. */
#include <bits/sigcontext.h>
+#include <bits/sigstack.h>
+
typedef int greg_t;
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#ifndef _BITS_SIGCONTEXT_H
+#define _BITS_SIGCONTEXT_H 1
+
#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
#endif
# define __need_NULL
# include <stddef.h>
#endif
+
+#endif /* bits/sigcontext.h */
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _SIGNAL_H
+#ifndef _BITS_SIGSTACK_H
+#define _BITS_SIGSTACK_H 1
+
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
# error "Never include this file directly. Use <signal.h> instead"
#endif
+#define __need_size_t
+#include <stddef.h>
/* Structure describing a signal stack (obsolete). */
struct sigstack
int ss_onstack; /* Nonzero if executing on this stack. */
};
+/* Alternate, preferred interface. */
+typedef struct sigaltstack
+ {
+ void *ss_sp;
+ int ss_flags;
+ size_t ss_size;
+ } stack_t;
-/* Possible values for `ss_flags.'. */
+/* Possible values for `ss_flags'. */
enum
{
SS_ONSTACK = 1,
/* System default stack size. */
#define SIGSTKSZ 8192
-
-/* Alternate, preferred interface. */
-typedef struct sigaltstack
- {
- void *ss_sp;
- int ss_flags;
- size_t ss_size;
- } stack_t;
+#endif /* bits/sigstack.h */
#include <features.h>
#include <signal.h>
-/* We need the signal context definitions even if they are not used
- included in <signal.h>. */
+/* We need the signal context definitions even if they are not exposed
+ by <signal.h>. */
#include <bits/sigcontext.h>
+#include <bits/sigstack.h>
/* Type for general register. */
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#ifndef _BITS_SIGCONTEXT_H
+#define _BITS_SIGCONTEXT_H 1
+
#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
#endif
-#ifndef _BITS_SIGCONTEXT_H
-#define _BITS_SIGCONTEXT_H 1
-
#define __need_size_t
#include <stddef.h>
#include <bits/sigstack.h>
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _SIGNAL_H
+#ifndef _BITS_SIGSTACK_H
+#define _BITS_SIGSTACK_H 1
+
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
# error "Never include this file directly. Use <signal.h> instead"
#endif
-#ifndef _SIGSTACK_H
-#define _SIGSTACK_H 1
+#define __need_size_t
+#include <stddef.h>
/* Structure describing a signal stack (obsolete). */
struct sigstack
int ss_onstack; /* Nonzero if executing on this stack. */
};
+/* Alternate, preferred interface. */
+typedef struct sigaltstack
+ {
+ __ptr_t ss_sp;
+ int ss_flags;
+ size_t ss_size;
+ } stack_t;
-/* Possible values for `ss_flags.'. */
+/* Possible values for `ss_flags'. */
enum
{
SS_ONSTACK = 1,
/* System default stack size. */
#define SIGSTKSZ 262144
-
-/* Alternate, preferred interface. */
-typedef struct sigaltstack
- {
- __ptr_t ss_sp;
- int ss_flags;
- size_t ss_size;
- } stack_t;
-
-#endif /* bits/sigstack.h */
+#endif /* bits/sigstack.h */
#include <features.h>
#include <signal.h>
+/* We need the signal context definitions even if they are not exposed
+ by <signal.h>. */
#include <bits/sigcontext.h>
+#include <bits/sigstack.h>
+
/*
* These are here mostly for backwards compatibility with older Unices.
#include <features.h>
#include <signal.h>
+/* We need the signal context definitions even if they are not exposed
+ by <signal.h>. */
+#include <bits/sigcontext.h>
+#include <bits/sigstack.h>
+
+
/* Type for general register. */
typedef int greg_t;
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _SIGNAL_H
+#ifndef _BITS_SIGSTACK_H
+#define _BITS_SIGSTACK_H 1
+
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
# error "Never include this file directly. Use <signal.h> instead"
#endif
+#define __need_size_t
+#include <stddef.h>
/* Structure describing a signal stack (obsolete). */
struct sigstack
int ss_onstack; /* Nonzero if executing on this stack. */
};
+/* Alternate, preferred interface. */
+typedef struct sigaltstack
+ {
+ void *ss_sp;
+ size_t ss_size;
+ int ss_flags;
+ } stack_t;
-/* Possible values for `ss_flags.'. */
+/* Possible values for `ss_flags'. */
enum
{
SS_ONSTACK = 1,
/* System default stack size. */
#define SIGSTKSZ 8192
-
-/* Alternate, preferred interface. */
-typedef struct sigaltstack
- {
- void *ss_sp;
- size_t ss_size;
- int ss_flags;
- } stack_t;
+#endif /* bits/sigstack.h */
#define _SYS_UCONTEXT_H 1
#include <features.h>
-#include <sgidefs.h>
#include <signal.h>
-/* We need the signal context definitions even if they are not used
- included in <signal.h>. */
+/* We need the signal context definitions even if they are not exposed
+ by <signal.h>. */
#include <bits/sigcontext.h>
+#include <bits/sigstack.h>
+
+#include <sgidefs.h>
+
/* Type for general register. Even in o32 we assume 64-bit registers,
like the kernel. */
#include <features.h>
#include <signal.h>
+/* We need the signal context definitions even if they are not exposed
+ by <signal.h>. */
+#include <bits/sigcontext.h>
+#include <bits/sigstack.h>
+
+
/* These definitions must be in sync with the kernel. */
#define MCONTEXT_VERSION 2
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _SIGNAL_H
+#ifndef _BITS_SIGSTACK_H
+#define _BITS_SIGSTACK_H 1
+
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
# error "Never include this file directly. Use <signal.h> instead"
#endif
+#define __need_size_t
+#include <stddef.h>
/* Structure describing a signal stack (obsolete). */
struct sigstack
int ss_onstack; /* Nonzero if executing on this stack. */
};
+/* Alternate, preferred interface. */
+typedef struct sigaltstack
+ {
+ void *ss_sp;
+ int ss_flags;
+ size_t ss_size;
+ } stack_t;
-/* Possible values for `ss_flags.'. */
+/* Possible values for `ss_flags'. */
enum
{
SS_ONSTACK = 1,
/* System default stack size. */
#define SIGSTKSZ 16384
-
-/* Alternate, preferred interface. */
-typedef struct sigaltstack
- {
- void *ss_sp;
- int ss_flags;
- size_t ss_size;
- } stack_t;
+#endif /* bits/sigstack.h */
#include <features.h>
#include <signal.h>
-/* We need the signal context definitions even if they are not used
- included in <signal.h>. */
+/* We need the signal context definitions even if they are not exposed
+ by <signal.h>. */
#include <bits/sigcontext.h>
+#include <bits/sigstack.h>
+
#if __WORDSIZE == 32
#ifndef _SYS_UCONTEXT_H
#define _SYS_UCONTEXT_H 1
-/* Forward definition to avoid parse errors */
-struct ucontext;
-typedef struct ucontext ucontext_t;
+
#include <features.h>
#include <signal.h>
-/* We need the signal context definitions even if they are not used
- included in <signal.h>. */
+/* We need the signal context definitions even if they are not exposed
+ by in <signal.h>. */
#include <bits/sigcontext.h>
+#include <bits/sigstack.h>
+
/* Type for a program status word. */
typedef struct
#include <features.h>
#include <signal.h>
-/* We need the signal context definitions even if they are not used
- included in <signal.h>. */
+/* We need the signal context definitions even if they are not exposed
+ by <signal.h>. */
#include <bits/sigcontext.h>
+#include <bits/sigstack.h>
typedef int greg_t;
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#ifndef _BITS_SIGCONTEXT_H
+#define _BITS_SIGCONTEXT_H 1
+
#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
#endif
};
#endif /* sparc64 */
+
+#endif /* bits/sigcontext.h */
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _SIGNAL_H
+#ifndef _BITS_SIGSTACK_H
+#define _BITS_SIGSTACK_H 1
+
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
# error "Never include this file directly. Use <signal.h> instead"
#endif
+#define __need_size_t
+#include <stddef.h>
/* Structure describing a signal stack (obsolete). */
struct sigstack
int ss_onstack; /* Nonzero if executing on this stack. */
};
+/* Alternate, preferred interface. */
+typedef struct sigaltstack
+ {
+ void *ss_sp;
+ int ss_flags;
+ size_t ss_size;
+ } stack_t;
-/* Possible values for `ss_flags.'. */
+/* Possible values for `ss_flags'. */
enum
{
SS_ONSTACK = 1,
/* System default stack size. */
#define SIGSTKSZ 16384
-
-/* Alternate, preferred interface. */
-typedef struct sigaltstack
- {
- void *ss_sp;
- int ss_flags;
- size_t ss_size;
- } stack_t;
+#endif /* bits/sigstack.h */
#include <features.h>
#include <signal.h>
+
+/* We need the signal context definitions even if they are not exposed
+ by <signal.h>. */
+#include <bits/sigcontext.h>
+#include <bits/sigstack.h>
+
#include <bits/wordsize.h>
+
#if __WORDSIZE == 64
#define MC_TSTATE 0
#include <features.h>
#include <signal.h>
-/* We need the signal context definitions even if they are not used
- included in <signal.h>. */
+/* We need the signal context definitions even if they are not exposed
+ by <signal.h>. */
#include <bits/sigcontext.h>
+#include <bits/sigstack.h>
/* Get register type and register names. */
#include <arch/abi.h>
+
/* Type for general register. */
typedef uint_reg_t greg_t;
#include <features.h>
#include <signal.h>
-/* We need the signal context definitions even if they are not used
- included in <signal.h>. */
+/* We need the signal context definitions even if they are not exposed
+ by <signal.h>. */
#include <bits/sigcontext.h>
+#include <bits/sigstack.h>
+
#ifdef __x86_64__