diff --git a/ChangeLog b/ChangeLog index b9fbdb8351..f25eb14ca9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,75 @@ +2017-05-19 Joseph Myers + + * 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 , and + . + * 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 + , and + . + * 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 * sysdeps/i386/i686/multiarch/memchr-sse2.S (MEMCHR): Use diff --git a/bits/sigstack.h b/bits/sigstack.h index 42143e363a..3127c325e5 100644 --- a/bits/sigstack.h +++ b/bits/sigstack.h @@ -23,33 +23,6 @@ # error "Never include this file directly. Use 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 diff --git a/bits/ss_flags.h b/bits/ss_flags.h new file mode 100644 index 0000000000..fa3836c122 --- /dev/null +++ b/bits/ss_flags.h @@ -0,0 +1,35 @@ +/* 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 + . */ + +#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 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 */ diff --git a/bits/types/stack_t.h b/bits/types/stack_t.h new file mode 100644 index 0000000000..3cf0a4019a --- /dev/null +++ b/bits/types/stack_t.h @@ -0,0 +1,33 @@ +/* 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 + . */ + +#ifndef __stack_t_defined +#define __stack_t_defined 1 + +#define __need_size_t +#include + +/* Structure describing a signal stack. */ +typedef struct sigaltstack + { + void *ss_sp; + size_t ss_size; + int ss_flags; + } stack_t; + +#endif diff --git a/include/bits/types/struct_sigstack.h b/include/bits/types/struct_sigstack.h new file mode 100644 index 0000000000..05f1ee55b7 --- /dev/null +++ b/include/bits/types/struct_sigstack.h @@ -0,0 +1 @@ +#include "../../signal/bits/types/struct_sigstack.h" diff --git a/signal/Makefile b/signal/Makefile index b65bf6b408..077aaea6ad 100644 --- a/signal/Makefile +++ b/signal/Makefile @@ -24,7 +24,8 @@ include ../Makeconfig 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 \ diff --git a/signal/bits/types/struct_sigstack.h b/signal/bits/types/struct_sigstack.h new file mode 100644 index 0000000000..5e93ce0091 --- /dev/null +++ b/signal/bits/types/struct_sigstack.h @@ -0,0 +1,29 @@ +/* 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 + . */ + +#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 diff --git a/signal/signal.h b/signal/signal.h index 6db2d2f100..d01df3290a 100644 --- a/signal/signal.h +++ b/signal/signal.h @@ -314,6 +314,9 @@ extern int sigreturn (struct sigcontext *__scp) __THROW; extern int siginterrupt (int __sig, int __interrupt) __THROW; # include +# include +# include +# include # if defined __USE_XOPEN || defined __USE_XOPEN2K8 /* This will define `ucontext_t' and `mcontext_t'. */ # include diff --git a/sysdeps/arm/sys/ucontext.h b/sysdeps/arm/sys/ucontext.h index 09fe418b3c..49d60395dd 100644 --- a/sysdeps/arm/sys/ucontext.h +++ b/sysdeps/arm/sys/ucontext.h @@ -27,6 +27,9 @@ by . */ #include #include +#include +#include +#include typedef int greg_t; diff --git a/sysdeps/generic/sys/ucontext.h b/sysdeps/generic/sys/ucontext.h index 6c475b5a4a..052c5401cb 100644 --- a/sysdeps/generic/sys/ucontext.h +++ b/sysdeps/generic/sys/ucontext.h @@ -29,6 +29,9 @@ by . */ #include #include +#include +#include +#include typedef struct sigcontext mcontext_t; diff --git a/sysdeps/i386/sys/ucontext.h b/sysdeps/i386/sys/ucontext.h index c632e50eba..241f270a99 100644 --- a/sysdeps/i386/sys/ucontext.h +++ b/sysdeps/i386/sys/ucontext.h @@ -27,6 +27,9 @@ by . */ #include #include +#include +#include +#include /* Type for general register. */ diff --git a/sysdeps/m68k/sys/ucontext.h b/sysdeps/m68k/sys/ucontext.h index cbec1db5d6..4e5ec3b090 100644 --- a/sysdeps/m68k/sys/ucontext.h +++ b/sysdeps/m68k/sys/ucontext.h @@ -27,6 +27,9 @@ by . */ #include #include +#include +#include +#include /* Type for general register. */ diff --git a/sysdeps/mips/sys/ucontext.h b/sysdeps/mips/sys/ucontext.h index 137246f961..cb8fbcd3d2 100644 --- a/sysdeps/mips/sys/ucontext.h +++ b/sysdeps/mips/sys/ucontext.h @@ -27,6 +27,9 @@ by . */ #include #include +#include +#include +#include #include diff --git a/sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h b/sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h index a1f2accfaa..434b24e926 100644 --- a/sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h +++ b/sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h @@ -23,33 +23,6 @@ # error "Never include this file directly. Use instead" #endif -#define __need_size_t -#include - -/* 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 diff --git a/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h b/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h index 536404dd71..1a5fa29ce8 100644 --- a/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h @@ -28,6 +28,9 @@ by . */ #include #include +#include +#include +#include #ifdef __USE_MISC # include diff --git a/sysdeps/unix/sysv/linux/alpha/bits/sigstack.h b/sysdeps/unix/sysv/linux/alpha/bits/sigstack.h index bba02126b1..9a30c9d9d5 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/sigstack.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/sigstack.h @@ -23,33 +23,6 @@ # error "Never include this file directly. Use instead" #endif -#define __need_size_t -#include - -/* 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 diff --git a/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h b/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h index dc76e49190..912c61c841 100644 --- a/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h @@ -25,6 +25,9 @@ by . */ #include #include +#include +#include +#include /* Type for general register. */ diff --git a/sysdeps/unix/sysv/linux/arm/sys/ucontext.h b/sysdeps/unix/sysv/linux/arm/sys/ucontext.h index aedeccdabe..8a5ea71a20 100644 --- a/sysdeps/unix/sysv/linux/arm/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/arm/sys/ucontext.h @@ -27,6 +27,9 @@ by . */ #include #include +#include +#include +#include #ifdef __USE_MISC diff --git a/sysdeps/unix/sysv/linux/bits/sigstack.h b/sysdeps/unix/sysv/linux/bits/sigstack.h index a0c3a9f50d..e6b6c7edcf 100644 --- a/sysdeps/unix/sysv/linux/bits/sigstack.h +++ b/sysdeps/unix/sysv/linux/bits/sigstack.h @@ -23,33 +23,6 @@ # error "Never include this file directly. Use instead" #endif -#define __need_size_t -#include - -/* 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 diff --git a/sysdeps/unix/sysv/linux/mips/bits/sigstack.h b/sysdeps/unix/sysv/linux/bits/ss_flags.h similarity index 59% rename from sysdeps/unix/sysv/linux/mips/bits/sigstack.h rename to sysdeps/unix/sysv/linux/bits/ss_flags.h index 215f2ff459..497b613a8c 100644 --- a/sysdeps/unix/sysv/linux/mips/bits/sigstack.h +++ b/sysdeps/unix/sysv/linux/bits/ss_flags.h @@ -1,4 +1,4 @@ -/* 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. @@ -13,34 +13,16 @@ 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 . */ -#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 instead" #endif -#define __need_size_t -#include - -/* 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 { @@ -50,10 +32,4 @@ 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 */ diff --git a/sysdeps/unix/sysv/linux/bits/types/stack_t.h b/sysdeps/unix/sysv/linux/bits/types/stack_t.h new file mode 100644 index 0000000000..497e42b0ff --- /dev/null +++ b/sysdeps/unix/sysv/linux/bits/types/stack_t.h @@ -0,0 +1,33 @@ +/* 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 + . */ + +#ifndef __stack_t_defined +#define __stack_t_defined 1 + +#define __need_size_t +#include + +/* Structure describing a signal stack. */ +typedef struct sigaltstack + { + void *ss_sp; + int ss_flags; + size_t ss_size; + } stack_t; + +#endif diff --git a/sysdeps/unix/sysv/linux/hppa/sys/ucontext.h b/sysdeps/unix/sysv/linux/hppa/sys/ucontext.h index 31eb77e01b..50e585d163 100644 --- a/sysdeps/unix/sysv/linux/hppa/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/hppa/sys/ucontext.h @@ -27,6 +27,9 @@ by . */ #include #include +#include +#include +#include #ifdef __USE_MISC diff --git a/sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h b/sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h index c9a068957b..c81463d809 100644 --- a/sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h +++ b/sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h @@ -26,6 +26,9 @@ #define __need_size_t #include #include +#include +#include +#include struct __ia64_fpreg { diff --git a/sysdeps/unix/sysv/linux/ia64/bits/sigstack.h b/sysdeps/unix/sysv/linux/ia64/bits/sigstack.h index abae4c985e..aabefbb1e3 100644 --- a/sysdeps/unix/sysv/linux/ia64/bits/sigstack.h +++ b/sysdeps/unix/sysv/linux/ia64/bits/sigstack.h @@ -23,33 +23,6 @@ # error "Never include this file directly. Use instead" #endif -#define __need_size_t -#include - -/* 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 diff --git a/sysdeps/unix/sysv/linux/ia64/sys/ucontext.h b/sysdeps/unix/sysv/linux/ia64/sys/ucontext.h index b2dab0e29e..17474a55c7 100644 --- a/sysdeps/unix/sysv/linux/ia64/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/ia64/sys/ucontext.h @@ -25,6 +25,9 @@ by . */ #include #include +#include +#include +#include /* diff --git a/sysdeps/unix/sysv/linux/m68k/sys/ucontext.h b/sysdeps/unix/sysv/linux/m68k/sys/ucontext.h index 3c5dce5b73..18ff02233f 100644 --- a/sysdeps/unix/sysv/linux/m68k/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/m68k/sys/ucontext.h @@ -27,6 +27,9 @@ by . */ #include #include +#include +#include +#include /* Type for general register. */ diff --git a/sysdeps/unix/sysv/linux/mips/bits/types/stack_t.h b/sysdeps/unix/sysv/linux/mips/bits/types/stack_t.h new file mode 100644 index 0000000000..ef06072e94 --- /dev/null +++ b/sysdeps/unix/sysv/linux/mips/bits/types/stack_t.h @@ -0,0 +1,33 @@ +/* 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 + . */ + +#ifndef __stack_t_defined +#define __stack_t_defined 1 + +#define __need_size_t +#include + +/* Structure describing a signal stack. */ +typedef struct sigaltstack + { + void *ss_sp; + size_t ss_size; + int ss_flags; + } stack_t; + +#endif diff --git a/sysdeps/unix/sysv/linux/mips/sys/ucontext.h b/sysdeps/unix/sysv/linux/mips/sys/ucontext.h index f766dacd20..f933780dbe 100644 --- a/sysdeps/unix/sysv/linux/mips/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/mips/sys/ucontext.h @@ -26,6 +26,9 @@ by . */ #include #include +#include +#include +#include #include diff --git a/sysdeps/unix/sysv/linux/nios2/sys/ucontext.h b/sysdeps/unix/sysv/linux/nios2/sys/ucontext.h index 3b0a615abe..c961e5be40 100644 --- a/sysdeps/unix/sysv/linux/nios2/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/nios2/sys/ucontext.h @@ -28,6 +28,9 @@ by . */ #include #include +#include +#include +#include /* These definitions must be in sync with the kernel. */ diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/sigstack.h b/sysdeps/unix/sysv/linux/powerpc/bits/sigstack.h index 4a36ad1a4e..74670cb037 100644 --- a/sysdeps/unix/sysv/linux/powerpc/bits/sigstack.h +++ b/sysdeps/unix/sysv/linux/powerpc/bits/sigstack.h @@ -23,33 +23,6 @@ # error "Never include this file directly. Use instead" #endif -#define __need_size_t -#include - -/* 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 diff --git a/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h b/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h index c3f9622e35..d9fad4cf8b 100644 --- a/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h @@ -26,6 +26,9 @@ by . */ #include #include +#include +#include +#include #if __WORDSIZE == 32 diff --git a/sysdeps/unix/sysv/linux/s390/sys/ucontext.h b/sysdeps/unix/sysv/linux/s390/sys/ucontext.h index 9790c0cd7c..955a8fef9c 100644 --- a/sysdeps/unix/sysv/linux/s390/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/s390/sys/ucontext.h @@ -26,6 +26,9 @@ by in . */ #include #include +#include +#include +#include /* Type for a program status word. */ diff --git a/sysdeps/unix/sysv/linux/sh/sys/ucontext.h b/sysdeps/unix/sysv/linux/sh/sys/ucontext.h index 5c6a5e4a7a..3ce381d2c6 100644 --- a/sysdeps/unix/sysv/linux/sh/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/sh/sys/ucontext.h @@ -27,6 +27,9 @@ by . */ #include #include +#include +#include +#include typedef int greg_t; diff --git a/sysdeps/unix/sysv/linux/sparc/bits/sigstack.h b/sysdeps/unix/sysv/linux/sparc/bits/sigstack.h index 4a36ad1a4e..74670cb037 100644 --- a/sysdeps/unix/sysv/linux/sparc/bits/sigstack.h +++ b/sysdeps/unix/sysv/linux/sparc/bits/sigstack.h @@ -23,33 +23,6 @@ # error "Never include this file directly. Use instead" #endif -#define __need_size_t -#include - -/* 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 diff --git a/sysdeps/unix/sysv/linux/sparc/sys/ucontext.h b/sysdeps/unix/sysv/linux/sparc/sys/ucontext.h index b8f3ca769e..0d6cbe6e6b 100644 --- a/sysdeps/unix/sysv/linux/sparc/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/sparc/sys/ucontext.h @@ -25,6 +25,9 @@ by . */ #include #include +#include +#include +#include #include diff --git a/sysdeps/unix/sysv/linux/tile/sys/ucontext.h b/sysdeps/unix/sysv/linux/tile/sys/ucontext.h index 95e6dd68f5..8fc2f13834 100644 --- a/sysdeps/unix/sysv/linux/tile/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/tile/sys/ucontext.h @@ -26,6 +26,9 @@ by . */ #include #include +#include +#include +#include #ifdef __USE_MISC /* Get register type and register names. */ diff --git a/sysdeps/unix/sysv/linux/x86/sys/ucontext.h b/sysdeps/unix/sysv/linux/x86/sys/ucontext.h index 6dad48fb2c..5dd72acf48 100644 --- a/sysdeps/unix/sysv/linux/x86/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/x86/sys/ucontext.h @@ -25,6 +25,9 @@ by . */ #include #include +#include +#include +#include #ifdef __x86_64__