+2017-05-19 Joseph Myers <joseph@codesourcery.com>
+
+ * bits/ss_flags.h: New file.
+ * bits/types/stack_t.h: Likewise.
+ * include/bits/types/struct_sigstack.h: Likewise.
+ * signal/bits/types/struct_sigstack.h: Likewise.
+ * sysdeps/unix/sysv/linux/bits/ss_flags.h: Likewise.
+ * sysdeps/unix/sysv/linux/bits/types/stack_t.h: Likewise.
+ * sysdeps/unix/sysv/linux/mips/bits/types/stack_t.h: Likewise.
+ * signal/Makefile (headers): Add bits/types/struct_sigstack.h,
+ bits/types/stack_t.h and bits/ss_flags.h.
+ * signal/signal.h [__USE_XOPEN_EXTENDED || __USE_XOPEN2K8]:
+ Include <bits/types/struct_sigstack.h>, <bits/types/stack_t.h> and
+ <bits/ss_flags.h>.
+ * bits/sigstack.h (struct sigstack): Remove.
+ (stack_t): Likewise.
+ (SS_ONSTACK): Likewise.
+ (SS_DISABLE): Likewise.
+ * sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h
+ (struct sigstack): Likewise.
+ (stack_t): Likewise.
+ (SS_ONSTACK): Likewise.
+ (SS_DISABLE): Likewise.
+ * sysdeps/unix/sysv/linux/alpha/bits/sigstack.h (struct sigstack):
+ Likewise.
+ (stack_t): Likewise.
+ (SS_ONSTACK): Likewise.
+ (SS_DISABLE): Likewise.
+ * sysdeps/unix/sysv/linux/bits/sigstack.h (struct sigstack):
+ Likewise.
+ (stack_t): Likewise.
+ (SS_ONSTACK): Likewise.
+ (SS_DISABLE): Likewise.
+ * sysdeps/unix/sysv/linux/mips/bits/sigstack.h: Likewise.
+ * sysdeps/unix/sysv/linux/ia64/bits/sigstack.h (struct sigstack):
+ Likewise.
+ (stack_t): Likewise.
+ (SS_ONSTACK): Likewise.
+ (SS_DISABLE): Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/bits/sigstack.h
+ (struct sigstack): Likewise.
+ (stack_t): Likewise.
+ (SS_ONSTACK): Likewise.
+ (SS_DISABLE): Likewise.
+ * sysdeps/unix/sysv/linux/sparc/bits/sigstack.h (struct sigstack):
+ Likewise.
+ (stack_t): Likewise.
+ (SS_ONSTACK): Likewise.
+ (SS_DISABLE): Likewise.
+ * sysdeps/arm/sys/ucontext.h: Include
+ <bits/types/struct_sigstack.h>, <bits/types/stack_t.h> and
+ <bits/ss_flags.h>.
+ * sysdeps/generic/sys/ucontext.h: Likewise.
+ * sysdeps/i386/sys/ucontext.h: Likewise.
+ * sysdeps/m68k/sys/ucontext.h: Likewise.
+ * sysdeps/mips/sys/ucontext.h: Likewise.
+ * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h: Likewise.
+ * sysdeps/unix/sysv/linux/alpha/sys/ucontext.h: Likewise.
+ * sysdeps/unix/sysv/linux/arm/sys/ucontext.h: Likewise.
+ * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h: Likewise.
+ * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Likewise.
+ * sysdeps/unix/sysv/linux/ia64/sys/ucontext.h: Likewise.
+ * sysdeps/unix/sysv/linux/m68k/sys/ucontext.h: Likewise.
+ * sysdeps/unix/sysv/linux/mips/sys/ucontext.h: Likewise.
+ * sysdeps/unix/sysv/linux/nios2/sys/ucontext.h: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: Likewise.
+ * sysdeps/unix/sysv/linux/s390/sys/ucontext.h: Likewise.
+ * sysdeps/unix/sysv/linux/sh/sys/ucontext.h: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/sys/ucontext.h: Likewise.
+ * sysdeps/unix/sysv/linux/tile/sys/ucontext.h: Likewise.
+ * sysdeps/unix/sysv/linux/x86/sys/ucontext.h: Likewise.
+
2017-05-19 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/i386/i686/multiarch/memchr-sse2.S (MEMCHR): Use
# error "Never include this file directly. Use <signal.h> instead"
#endif
-
-/* Structure describing a signal stack (obsolete). */
-struct sigstack
- {
- __ptr_t ss_sp; /* Signal stack pointer. */
- int ss_onstack; /* Nonzero if executing on this stack. */
- };
-
-
-/* Alternate, preferred interface. */
-typedef struct sigaltstack
- {
- __ptr_t ss_sp;
- size_t ss_size;
- int ss_flags;
- } stack_t;
-
-
-/* Possible values for `ss_flags.'. */
-enum
-{
- SS_ONSTACK = 0x0001,
-#define SS_ONSTACK SS_ONSTACK
- SS_DISABLE = 0x0004
-#define SS_DISABLE SS_DISABLE
-};
-
/* Minumum stack size for a signal handler. */
#define MINSIGSTKSZ 8192
--- /dev/null
+/* ss_flags values for stack_t.
+ Copyright (C) 1998-2017 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _BITS_SS_FLAGS_H
+#define _BITS_SS_FLAGS_H 1
+
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
+# error "Never include this file directly. Use <signal.h> instead"
+#endif
+
+/* Possible values for `ss_flags.'. */
+enum
+{
+ SS_ONSTACK = 0x0001,
+#define SS_ONSTACK SS_ONSTACK
+ SS_DISABLE = 0x0004
+#define SS_DISABLE SS_DISABLE
+};
+
+#endif /* bits/ss_flags.h */
--- /dev/null
+/* Define stack_t.
+ Copyright (C) 1998-2017 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef __stack_t_defined
+#define __stack_t_defined 1
+
+#define __need_size_t
+#include <stddef.h>
+
+/* Structure describing a signal stack. */
+typedef struct sigaltstack
+ {
+ void *ss_sp;
+ size_t ss_size;
+ int ss_flags;
+ } stack_t;
+
+#endif
--- /dev/null
+#include "../../signal/bits/types/struct_sigstack.h"
headers := signal.h sys/signal.h bits/signum.h bits/sigcontext.h \
bits/sigaction.h bits/sigset.h bits/siginfo.h bits/sigstack.h \
- bits/sigthread.h
+ bits/sigthread.h bits/types/struct_sigstack.h bits/types/stack_t.h \
+ bits/ss_flags.h
routines := signal raise killpg \
sigaction sigprocmask kill \
--- /dev/null
+/* Define struct sigstack.
+ Copyright (C) 1998-2017 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef __sigstack_defined
+#define __sigstack_defined 1
+
+/* Structure describing a signal stack (obsolete). */
+struct sigstack
+ {
+ void *ss_sp; /* Signal stack pointer. */
+ int ss_onstack; /* Nonzero if executing on this stack. */
+ };
+
+#endif
extern int siginterrupt (int __sig, int __interrupt) __THROW;
# include <bits/sigstack.h>
+# include <bits/types/struct_sigstack.h>
+# include <bits/types/stack_t.h>
+# include <bits/ss_flags.h>
# if defined __USE_XOPEN || defined __USE_XOPEN2K8
/* This will define `ucontext_t' and `mcontext_t'. */
# include <sys/ucontext.h>
by <signal.h>. */
#include <bits/sigcontext.h>
#include <bits/sigstack.h>
+#include <bits/types/struct_sigstack.h>
+#include <bits/types/stack_t.h>
+#include <bits/ss_flags.h>
typedef int greg_t;
by <signal.h>. */
#include <bits/sigcontext.h>
#include <bits/sigstack.h>
+#include <bits/types/struct_sigstack.h>
+#include <bits/types/stack_t.h>
+#include <bits/ss_flags.h>
typedef struct sigcontext mcontext_t;
by <signal.h>. */
#include <bits/sigcontext.h>
#include <bits/sigstack.h>
+#include <bits/types/struct_sigstack.h>
+#include <bits/types/stack_t.h>
+#include <bits/ss_flags.h>
/* Type for general register. */
by <signal.h>. */
#include <bits/sigcontext.h>
#include <bits/sigstack.h>
+#include <bits/types/struct_sigstack.h>
+#include <bits/types/stack_t.h>
+#include <bits/ss_flags.h>
/* Type for general register. */
by <signal.h>. */
#include <bits/sigcontext.h>
#include <bits/sigstack.h>
+#include <bits/types/struct_sigstack.h>
+#include <bits/types/stack_t.h>
+#include <bits/ss_flags.h>
#include <sgidefs.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
- {
- void *ss_sp; /* Signal stack pointer. */
- 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'. */
-enum
-{
- SS_ONSTACK = 1,
-#define SS_ONSTACK SS_ONSTACK
- SS_DISABLE
-#define SS_DISABLE SS_DISABLE
-};
-
/* Minimum stack size for a signal handler. */
#define MINSIGSTKSZ 5120
by <signal.h>. */
#include <bits/sigcontext.h>
#include <bits/sigstack.h>
+#include <bits/types/struct_sigstack.h>
+#include <bits/types/stack_t.h>
+#include <bits/ss_flags.h>
#ifdef __USE_MISC
# include <sys/procfs.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
- {
- __ptr_t ss_sp; /* Signal stack pointer. */
- 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'. */
-enum
-{
- SS_ONSTACK = 1,
-#define SS_ONSTACK SS_ONSTACK
- SS_DISABLE
-#define SS_DISABLE SS_DISABLE
-};
-
/* Minimum stack size for a signal handler. */
#define MINSIGSTKSZ 4096
by <signal.h>. */
#include <bits/sigcontext.h>
#include <bits/sigstack.h>
+#include <bits/types/struct_sigstack.h>
+#include <bits/types/stack_t.h>
+#include <bits/ss_flags.h>
/* Type for general register. */
by <signal.h>. */
#include <bits/sigcontext.h>
#include <bits/sigstack.h>
+#include <bits/types/struct_sigstack.h>
+#include <bits/types/stack_t.h>
+#include <bits/ss_flags.h>
#ifdef __USE_MISC
# 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
- {
- void *ss_sp; /* Signal stack pointer. */
- 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'. */
-enum
-{
- SS_ONSTACK = 1,
-#define SS_ONSTACK SS_ONSTACK
- SS_DISABLE
-#define SS_DISABLE SS_DISABLE
-};
-
/* Minimum stack size for a signal handler. */
#define MINSIGSTKSZ 2048
-/* sigstack, sigaltstack definitions.
+/* ss_flags values for stack_t. Linux version.
Copyright (C) 1998-2017 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
+ License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#ifndef _BITS_SIGSTACK_H
-#define _BITS_SIGSTACK_H 1
+#ifndef _BITS_SS_FLAGS_H
+#define _BITS_SS_FLAGS_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
- {
- void *ss_sp; /* Signal stack pointer. */
- 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'. */
enum
{
#define SS_DISABLE SS_DISABLE
};
-/* Minimum stack size for a signal handler. */
-#define MINSIGSTKSZ 2048
-
-/* System default stack size. */
-#define SIGSTKSZ 8192
-
-#endif /* bits/sigstack.h */
+#endif /* bits/ss_flags.h */
--- /dev/null
+/* Define stack_t. Linux version.
+ Copyright (C) 1998-2017 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef __stack_t_defined
+#define __stack_t_defined 1
+
+#define __need_size_t
+#include <stddef.h>
+
+/* Structure describing a signal stack. */
+typedef struct sigaltstack
+ {
+ void *ss_sp;
+ int ss_flags;
+ size_t ss_size;
+ } stack_t;
+
+#endif
by <signal.h>. */
#include <bits/sigcontext.h>
#include <bits/sigstack.h>
+#include <bits/types/struct_sigstack.h>
+#include <bits/types/stack_t.h>
+#include <bits/ss_flags.h>
#ifdef __USE_MISC
#define __need_size_t
#include <stddef.h>
#include <bits/sigstack.h>
+#include <bits/types/struct_sigstack.h>
+#include <bits/types/stack_t.h>
+#include <bits/ss_flags.h>
struct __ia64_fpreg
{
# 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
- {
- __ptr_t ss_sp; /* Signal stack pointer. */
- 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'. */
-enum
-{
- SS_ONSTACK = 1,
-#define SS_ONSTACK SS_ONSTACK
- SS_DISABLE
-#define SS_DISABLE SS_DISABLE
-};
-
/* Minimum stack size for a signal handler.
Yes, this should be 131072 but the constant got defined incorrectly
by <signal.h>. */
#include <bits/sigcontext.h>
#include <bits/sigstack.h>
+#include <bits/types/struct_sigstack.h>
+#include <bits/types/stack_t.h>
+#include <bits/ss_flags.h>
/*
by <signal.h>. */
#include <bits/sigcontext.h>
#include <bits/sigstack.h>
+#include <bits/types/struct_sigstack.h>
+#include <bits/types/stack_t.h>
+#include <bits/ss_flags.h>
/* Type for general register. */
--- /dev/null
+/* Define stack_t. MIPS Linux version.
+ Copyright (C) 1998-2017 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef __stack_t_defined
+#define __stack_t_defined 1
+
+#define __need_size_t
+#include <stddef.h>
+
+/* Structure describing a signal stack. */
+typedef struct sigaltstack
+ {
+ void *ss_sp;
+ size_t ss_size;
+ int ss_flags;
+ } stack_t;
+
+#endif
by <signal.h>. */
#include <bits/sigcontext.h>
#include <bits/sigstack.h>
+#include <bits/types/struct_sigstack.h>
+#include <bits/types/stack_t.h>
+#include <bits/ss_flags.h>
#include <sgidefs.h>
by <signal.h>. */
#include <bits/sigcontext.h>
#include <bits/sigstack.h>
+#include <bits/types/struct_sigstack.h>
+#include <bits/types/stack_t.h>
+#include <bits/ss_flags.h>
/* These definitions must be in sync with the kernel. */
# 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
- {
- void *ss_sp; /* Signal stack pointer. */
- 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'. */
-enum
-{
- SS_ONSTACK = 1,
-#define SS_ONSTACK SS_ONSTACK
- SS_DISABLE
-#define SS_DISABLE SS_DISABLE
-};
-
/* Minimum stack size for a signal handler. */
#define MINSIGSTKSZ 4096
by <signal.h>. */
#include <bits/sigcontext.h>
#include <bits/sigstack.h>
+#include <bits/types/struct_sigstack.h>
+#include <bits/types/stack_t.h>
+#include <bits/ss_flags.h>
#if __WORDSIZE == 32
by in <signal.h>. */
#include <bits/sigcontext.h>
#include <bits/sigstack.h>
+#include <bits/types/struct_sigstack.h>
+#include <bits/types/stack_t.h>
+#include <bits/ss_flags.h>
/* Type for a program status word. */
by <signal.h>. */
#include <bits/sigcontext.h>
#include <bits/sigstack.h>
+#include <bits/types/struct_sigstack.h>
+#include <bits/types/stack_t.h>
+#include <bits/ss_flags.h>
typedef int greg_t;
# 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
- {
- void *ss_sp; /* Signal stack pointer. */
- 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'. */
-enum
-{
- SS_ONSTACK = 1,
-#define SS_ONSTACK SS_ONSTACK
- SS_DISABLE
-#define SS_DISABLE SS_DISABLE
-};
-
/* Minimum stack size for a signal handler. */
#define MINSIGSTKSZ 4096
by <signal.h>. */
#include <bits/sigcontext.h>
#include <bits/sigstack.h>
+#include <bits/types/struct_sigstack.h>
+#include <bits/types/stack_t.h>
+#include <bits/ss_flags.h>
#include <bits/wordsize.h>
by <signal.h>. */
#include <bits/sigcontext.h>
#include <bits/sigstack.h>
+#include <bits/types/struct_sigstack.h>
+#include <bits/types/stack_t.h>
+#include <bits/ss_flags.h>
#ifdef __USE_MISC
/* Get register type and register names. */
by <signal.h>. */
#include <bits/sigcontext.h>
#include <bits/sigstack.h>
+#include <bits/types/struct_sigstack.h>
+#include <bits/types/stack_t.h>
+#include <bits/ss_flags.h>
#ifdef __x86_64__