diff options
33 files changed, 271 insertions, 108 deletions
@@ -1,5 +1,47 @@ 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: Remove all logic conditional on __need macros. Move all the conditionally defined types to their own headers... diff --git a/bits/sigcontext.h b/bits/sigcontext.h index 85b2a96d9f..ddc4966d6b 100644 --- a/bits/sigcontext.h +++ b/bits/sigcontext.h @@ -16,7 +16,10 @@ 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 @@ -30,3 +33,5 @@ struct sigcontext }; /* Signal subcodes should be defined here. */ + +#endif /* bits/sigcontext.h */ diff --git a/bits/sigstack.h b/bits/sigstack.h index b4b911e7d1..62020b396e 100644 --- a/bits/sigstack.h +++ b/bits/sigstack.h @@ -16,7 +16,10 @@ 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 @@ -52,3 +55,5 @@ enum /* System default stack size. */ #define SIGSTKSZ (MINSIGSTKSZ + 32768) + +#endif /* bits/sigstack.h */ diff --git a/sysdeps/arm/sys/ucontext.h b/sysdeps/arm/sys/ucontext.h index 744cb538cf..28bf860100 100644 --- a/sysdeps/arm/sys/ucontext.h +++ b/sysdeps/arm/sys/ucontext.h @@ -23,6 +23,12 @@ #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. */ diff --git a/sysdeps/generic/sys/ucontext.h b/sysdeps/generic/sys/ucontext.h index f08cec04cc..b5ec972a91 100644 --- a/sysdeps/generic/sys/ucontext.h +++ b/sysdeps/generic/sys/ucontext.h @@ -25,9 +25,11 @@ #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; diff --git a/sysdeps/i386/sys/ucontext.h b/sysdeps/i386/sys/ucontext.h index d08e1a7f56..882173ba57 100644 --- a/sysdeps/i386/sys/ucontext.h +++ b/sysdeps/i386/sys/ucontext.h @@ -23,6 +23,12 @@ #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; diff --git a/sysdeps/m68k/sys/ucontext.h b/sysdeps/m68k/sys/ucontext.h index ef85368cb2..1c363a8c31 100644 --- a/sysdeps/m68k/sys/ucontext.h +++ b/sysdeps/m68k/sys/ucontext.h @@ -23,6 +23,12 @@ #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; diff --git a/sysdeps/mach/hurd/i386/bits/sigcontext.h b/sysdeps/mach/hurd/i386/bits/sigcontext.h index 6d15b039ef..73585e18d1 100644 --- a/sysdeps/mach/hurd/i386/bits/sigcontext.h +++ b/sysdeps/mach/hurd/i386/bits/sigcontext.h @@ -16,12 +16,13 @@ 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); */ @@ -116,4 +117,4 @@ struct sigcontext #define DBG_SINGLE_TRAP 0x1 /* single step */ #define DBG_BRKPNT_FAULT 0x2 /* breakpoint instruction */ -#endif /* sc_pc */ +#endif /* bits/sigcontext.h */ diff --git a/sysdeps/mips/sys/ucontext.h b/sysdeps/mips/sys/ucontext.h index b3d752bc46..89970a8337 100644 --- a/sysdeps/mips/sys/ucontext.h +++ b/sysdeps/mips/sys/ucontext.h @@ -21,9 +21,16 @@ #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; diff --git a/sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h b/sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h index 5b09b7c8c3..cb3e97d90d 100644 --- a/sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h +++ b/sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h @@ -16,10 +16,15 @@ 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 @@ -28,8 +33,15 @@ 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, @@ -44,11 +56,4 @@ enum /* 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 */ diff --git a/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h b/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h index 01da3ca858..2e3e1ee87d 100644 --- a/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h @@ -23,11 +23,14 @@ #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; diff --git a/sysdeps/unix/sysv/linux/alpha/bits/sigstack.h b/sysdeps/unix/sysv/linux/alpha/bits/sigstack.h index 6ad3363ddf..b2de7a1d3e 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/sigstack.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/sigstack.h @@ -16,10 +16,15 @@ 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 @@ -28,8 +33,15 @@ 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, @@ -44,11 +56,4 @@ enum /* 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 */ diff --git a/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h b/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h index a42e662cf5..0fa4c1f996 100644 --- a/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/alpha/sys/ucontext.h @@ -21,7 +21,10 @@ #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. */ diff --git a/sysdeps/unix/sysv/linux/arm/sys/ucontext.h b/sysdeps/unix/sysv/linux/arm/sys/ucontext.h index f32eadc099..c7aceadb7d 100644 --- a/sysdeps/unix/sysv/linux/arm/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/arm/sys/ucontext.h @@ -23,9 +23,11 @@ #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; diff --git a/sysdeps/unix/sysv/linux/bits/sigcontext.h b/sysdeps/unix/sysv/linux/bits/sigcontext.h index 46cacb7b2c..bdeaae8ad2 100644 --- a/sysdeps/unix/sysv/linux/bits/sigcontext.h +++ b/sysdeps/unix/sysv/linux/bits/sigcontext.h @@ -15,6 +15,9 @@ 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 @@ -30,3 +33,5 @@ # define __need_NULL # include <stddef.h> #endif + +#endif /* bits/sigcontext.h */ diff --git a/sysdeps/unix/sysv/linux/bits/sigstack.h b/sysdeps/unix/sysv/linux/bits/sigstack.h index 115a98ec6b..d858f09b73 100644 --- a/sysdeps/unix/sysv/linux/bits/sigstack.h +++ b/sysdeps/unix/sysv/linux/bits/sigstack.h @@ -16,10 +16,15 @@ 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 @@ -28,8 +33,15 @@ 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, @@ -44,11 +56,4 @@ enum /* 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 */ diff --git a/sysdeps/unix/sysv/linux/hppa/sys/ucontext.h b/sysdeps/unix/sysv/linux/hppa/sys/ucontext.h index f6fd367bd9..fa2bd8c048 100644 --- a/sysdeps/unix/sysv/linux/hppa/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/hppa/sys/ucontext.h @@ -23,9 +23,10 @@ #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. */ diff --git a/ |
