about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog79
-rw-r--r--bits/sigaction.h6
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/sigaction.h6
-rw-r--r--sysdeps/unix/sysv/linux/bits/sigaction.h6
-rw-r--r--sysdeps/unix/sysv/linux/hppa/bits/sigaction.h6
-rw-r--r--sysdeps/unix/sysv/linux/ia64/bits/sigaction.h6
-rw-r--r--sysdeps/unix/sysv/linux/mips/bits/sigaction.h6
-rw-r--r--sysdeps/unix/sysv/linux/s390/bits/sigaction.h8
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/sigaction.h18
-rw-r--r--sysdeps/unix/sysv/linux/tile/bits/sigaction.h8
10 files changed, 115 insertions, 34 deletions
diff --git a/ChangeLog b/ChangeLog
index 4ca0c0ee1e..6add9dc4fa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,84 @@
 2017-08-07  Joseph Myers  <joseph@codesourcery.com>
 
+	[BZ #21899]
+	* bits/sigaction.h (struct sigaction): Define sa_handler and
+	sa_sigaction using union also for [__USE_XOPEN_EXTENDED].
+	(SA_ONSTACK): Change [__USE_UNIX98] condition to
+	[__USE_XOPEN_EXTENDED].
+	(SA_RESTART): Likewise.
+	(SA_NODEFER): Likewise.
+	(SA_RESETHAND): Likewise.
+	* sysdeps/unix/sysv/linux/alpha/bits/sigaction.h
+	(struct sigaction): Define sa_handler and sa_sigaction using union
+	also for [__USE_XOPEN_EXTENDED].
+	(SA_ONSTACK): Change [__USE_UNIX98] condition to
+	[__USE_XOPEN_EXTENDED].
+	(SA_RESTART): Likewise.
+	(SA_NODEFER): Likewise.
+	(SA_RESETHAND): Likewise.
+	* sysdeps/unix/sysv/linux/bits/sigaction.h
+	(struct sigaction): Define sa_handler and sa_sigaction using union
+	also for [__USE_XOPEN_EXTENDED].
+	(SA_ONSTACK): Change [__USE_UNIX98] condition to
+	[__USE_XOPEN_EXTENDED].
+	(SA_RESTART): Likewise.
+	(SA_NODEFER): Likewise.
+	(SA_RESETHAND): Likewise.
+	* sysdeps/unix/sysv/linux/hppa/bits/sigaction.h
+	(struct sigaction): Define sa_handler and sa_sigaction using union
+	also for [__USE_XOPEN_EXTENDED].
+	(SA_ONSTACK): Change [__USE_UNIX98] condition to
+	[__USE_XOPEN_EXTENDED].
+	(SA_RESTART): Likewise.
+	(SA_NODEFER): Likewise.
+	(SA_RESETHAND): Likewise.
+	* sysdeps/unix/sysv/linux/ia64/bits/sigaction.h
+	(struct sigaction): Define sa_handler and sa_sigaction using union
+	also for [__USE_XOPEN_EXTENDED].
+	(SA_ONSTACK): Change [__USE_UNIX98] condition to
+	[__USE_XOPEN_EXTENDED].
+	(SA_RESTART): Likewise.
+	(SA_NODEFER): Likewise.
+	(SA_RESETHAND): Likewise.
+	* sysdeps/unix/sysv/linux/mips/bits/sigaction.h
+	(struct sigaction): Define sa_handler and sa_sigaction using union
+	also for [__USE_XOPEN_EXTENDED].
+	(SA_ONSTACK): Change [__USE_UNIX98] condition to
+	[__USE_XOPEN_EXTENDED].
+	(SA_RESTART): Likewise.
+	(SA_NODEFER): Likewise.
+	(SA_RESETHAND): Likewise.
+	* sysdeps/unix/sysv/linux/s390/bits/sigaction.h
+	(struct sigaction): Define sa_handler and sa_sigaction using union
+	also for [__USE_XOPEN_EXTENDED].
+	(SA_ONSTACK): Change [__USE_UNIX98] condition to
+	[__USE_XOPEN_EXTENDED].
+	(SA_RESTART): Likewise.
+	(SA_NODEFER): Likewise.
+	(SA_RESETHAND): Likewise.
+	* sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
+	(struct sigaction): Define sa_handler and sa_sigaction using union
+	also for [__USE_XOPEN_EXTENDED].
+	(SA_ONSTACK): Change [__USE_UNIX98] condition to
+	[__USE_XOPEN_EXTENDED].
+	(SA_RESTART): Likewise.
+	(SA_NODEFER): Likewise.  Define directly rather than as alias.
+	(SA_RESETHAND): Likewise.
+	(SA_INTERRUPT): Define only for [__USE_MISC].
+	(SA_NOMASK): Define as alias of SA_NODEFER, only for [__USE_MISC].
+	(SA_ONESHOT): Define as alias of SA_RESETHAND, only for
+	[__USE_MISC].
+	(SA_STACK): Define only for [__USE_MISC].
+	* sysdeps/unix/sysv/linux/tile/bits/sigaction.h
+	(struct sigaction): Define sa_handler and sa_sigaction using union
+	also for [__USE_XOPEN_EXTENDED].
+	(SA_ONSTACK): Change [__USE_UNIX98] condition to
+	[__USE_XOPEN_EXTENDED].
+	(SA_RESTART): Likewise.
+	(SA_NODEFER): Likewise.
+	(SA_RESETHAND): Likewise.
+	(SA_NOPTRACE): Define only for [__USE_MISC].
+
 	* catgets/catgets.c (catgets): Use uintN_t instead of u_intN_t.
 	* catgets/catgetsinfo.h (struct catalog_obj): Likewise.
 	(struct catalog_info): Likewise.
diff --git a/bits/sigaction.h b/bits/sigaction.h
index f6c739fea0..f0a38873c6 100644
--- a/bits/sigaction.h
+++ b/bits/sigaction.h
@@ -29,7 +29,7 @@
 struct sigaction
   {
     /* Signal handler.  */
-#ifdef __USE_POSIX199309
+#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
     union
       {
 	/* Used if SA_SIGINFO is not set.  */
@@ -52,10 +52,10 @@ struct sigaction
   };
 
 /* Bits in `sa_flags'.  */
-#if defined __USE_UNIX98 || defined __USE_MISC
+#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC
 # define SA_ONSTACK	0x0001	/* Take signal on signal stack.  */
 #endif
-#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
+#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
 # define SA_RESTART	0x0002	/* Restart syscall on signal return.  */
 # define SA_NODEFER	0x0010	/* Don't automatically block the signal when
 				    its handler is being executed.  */
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h b/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h
index 42eaa818a5..9e71fa18c1 100644
--- a/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h
@@ -24,7 +24,7 @@
 struct sigaction
   {
     /* Signal handler.  */
-#ifdef __USE_POSIX199309
+#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
     union
       {
 	/* Used if SA_SIGINFO is not set.  */
@@ -51,10 +51,10 @@ struct sigaction
 #define SA_NOCLDWAIT  0x00000020 /* Don't create zombie on child death.  */
 #define SA_SIGINFO    0x00000040 /* Invoke signal-catching function with
 				    three arguments instead of one.  */
-#if defined __USE_UNIX98 || defined __USE_MISC
+#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC
 # define SA_ONSTACK   0x00000001 /* Use signal stack by using `sa_restorer'. */
 #endif
-#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
+#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
 # define SA_RESTART   0x00000002 /* Restart syscall on signal return.  */
 # define SA_NODEFER   0x00000008 /* Don't automatically block the signal
 				    when its handler is being executed.  */
diff --git a/sysdeps/unix/sysv/linux/bits/sigaction.h b/sysdeps/unix/sysv/linux/bits/sigaction.h
index 1e96d74daf..149551f088 100644
--- a/sysdeps/unix/sysv/linux/bits/sigaction.h
+++ b/sysdeps/unix/sysv/linux/bits/sigaction.h
@@ -24,7 +24,7 @@
 struct sigaction
   {
     /* Signal handler.  */
-#ifdef __USE_POSIX199309
+#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
     union
       {
 	/* Used if SA_SIGINFO is not set.  */
@@ -54,10 +54,10 @@ struct sigaction
 #define SA_NOCLDWAIT  2		 /* Don't create zombie on child death.  */
 #define SA_SIGINFO    4		 /* Invoke signal-catching function with
 				    three arguments instead of one.  */
-#if defined __USE_UNIX98 || defined __USE_MISC
+#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC
 # define SA_ONSTACK   0x08000000 /* Use signal stack by using `sa_restorer'. */
 #endif
-#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
+#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
 # define SA_RESTART   0x10000000 /* Restart syscall on signal return.  */
 # define SA_NODEFER   0x40000000 /* Don't automatically block the signal when
 				    its handler is being executed.  */
diff --git a/sysdeps/unix/sysv/linux/hppa/bits/sigaction.h b/sysdeps/unix/sysv/linux/hppa/bits/sigaction.h
index 06ba2db8f2..c763538822 100644
--- a/sysdeps/unix/sysv/linux/hppa/bits/sigaction.h
+++ b/sysdeps/unix/sysv/linux/hppa/bits/sigaction.h
@@ -26,7 +26,7 @@
 struct sigaction
   {
     /* Signal handler.  */
-#ifdef __USE_POSIX199309
+#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
     union
       {
 	/* Used if SA_SIGINFO is not set.  */
@@ -57,10 +57,10 @@ struct sigaction
 #define SA_NOCLDWAIT  0x00000080  /* Don't create zombie on child death.  */
 #define SA_SIGINFO    0x00000010  /* Invoke signal-catching function with
 				     three arguments instead of one.  */
-#if defined __USE_UNIX98 || defined __USE_MISC
+#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC
 # define SA_ONSTACK   0x00000001 /* Use signal stack by using `sa_restorer'. */
 #endif
-#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
+#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
 # define SA_RESETHAND 0x00000004 /* Reset to SIG_DFL on entry to handler.  */
 # define SA_NODEFER   0x00000020 /* Don't automatically block the signal
 				    when its handler is being executed.  */
diff --git a/sysdeps/unix/sysv/linux/ia64/bits/sigaction.h b/sysdeps/unix/sysv/linux/ia64/bits/sigaction.h
index 099fbf55c9..9631707803 100644
--- a/sysdeps/unix/sysv/linux/ia64/bits/sigaction.h
+++ b/sysdeps/unix/sysv/linux/ia64/bits/sigaction.h
@@ -24,7 +24,7 @@
 struct sigaction
   {
     /* Signal handler.  */
-#ifdef __USE_POSIX199309
+#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
     union
       {
 	/* Used if SA_SIGINFO is not set.  */
@@ -51,10 +51,10 @@ struct sigaction
 #define SA_NOCLDSTOP  0x00000001 /* Don't send SIGCHLD when children stop.  */
 #define SA_NOCLDWAIT  0x00000002 /* Don't create zombie on child death.  */
 #define SA_SIGINFO    0x00000004
-#if defined __USE_UNIX98 || defined __USE_MISC
+#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC
 # define SA_ONSTACK   0x08000000 /* Use signal stack by using `sa_restorer'. */
 #endif
-#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
+#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
 # define SA_RESTART   0x10000000 /* Restart syscall on signal return.  */
 # define SA_NODEFER   0x40000000 /* Don't automatically block the signal
 				    when its handler is being executed.  */
diff --git a/sysdeps/unix/sysv/linux/mips/bits/sigaction.h b/sysdeps/unix/sysv/linux/mips/bits/sigaction.h
index c61a49ef88..1caddf69c3 100644
--- a/sysdeps/unix/sysv/linux/mips/bits/sigaction.h
+++ b/sysdeps/unix/sysv/linux/mips/bits/sigaction.h
@@ -27,7 +27,7 @@ struct sigaction
     int sa_flags;
 
     /* Signal handler.  */
-#ifdef __USE_POSIX199309
+#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
     union
       {
 	/* Used if SA_SIGINFO is not set.  */
@@ -60,10 +60,10 @@ struct sigaction
 #define SA_NOCLDWAIT  0x00010000 /* Don't create zombie on child death.  */
 #define SA_SIGINFO    0x00000008 /* Invoke signal-catching function with
 				    three arguments instead of one.  */
-#if defined __USE_UNIX98 || defined __USE_MISC
+#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC
 # define SA_ONSTACK   0x08000000 /* Use signal stack by using `sa_restorer'. */
 #endif
-#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
+#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
 # define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler.  */
 # define SA_RESTART   0x10000000 /* Restart syscall on signal return.  */
 # define SA_NODEFER   0x40000000 /* Don't automatically block the signal when
diff --git a/sysdeps/unix/sysv/linux/s390/bits/sigaction.h b/sysdeps/unix/sysv/linux/s390/bits/sigaction.h
index 9fc4ba41ca..c4d2c64369 100644
--- a/sysdeps/unix/sysv/linux/s390/bits/sigaction.h
+++ b/sysdeps/unix/sysv/linux/s390/bits/sigaction.h
@@ -27,7 +27,7 @@
 struct sigaction
   {
     /* Signal handler.	*/
-#ifdef __USE_POSIX199309
+#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
     union
       {
 	/* Used if SA_SIGINFO is not set.  */
@@ -57,7 +57,7 @@ struct sigaction
 struct sigaction
   {
     /* Signal handler.  */
-#ifdef __USE_POSIX199309
+#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
     union
       {
 	/* Used if SA_SIGINFO is not set.  */
@@ -88,10 +88,10 @@ struct sigaction
 #define SA_NOCLDWAIT  2		 /* Don't create zombie on child death.  */
 #define SA_SIGINFO    4		 /* Invoke signal-catching function with
 				    three arguments instead of one.  */
-#if defined __USE_UNIX98 || defined __USE_MISC
+#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC
 # define SA_ONSTACK   0x08000000 /* Use signal stack by using `sa_restorer'. */
 #endif
-#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
+#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
 # define SA_RESTART   0x10000000 /* Restart syscall on signal return.  */
 # define SA_NODEFER   0x40000000 /* Don't automatically block the signal when
 				    its handler is being executed.	 */
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h b/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
index 6ab47f416c..a32dd5d0ef 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
@@ -26,7 +26,7 @@
 struct sigaction
   {
     /* Signal handler. */
-#ifdef __USE_POSIX199309
+#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
     union
       {
 	/* Used if SA_SIGINFO is not set.  */
@@ -60,19 +60,21 @@ struct sigaction
 #define SA_NOCLDWAIT 0x00000100  /* Don't create zombie on child death.  */
 #define SA_SIGINFO   0x00000200  /* Invoke signal-catching function with
 				    three arguments instead of one.  */
-#if defined __USE_UNIX98 || defined __USE_MISC
+#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC
 # define SA_ONSTACK   0x00000001 /* Use signal stack by using `sa_restorer'. */
 #endif
-#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
+#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
 # define SA_RESTART   0x00000002 /* Restart syscall on signal return.  */
-# define SA_INTERRUPT 0x00000010 /* Historical no-op.  */
-# define SA_NOMASK    0x00000020 /* Don't automatically block the signal when
+# define SA_NODEFER   0x00000020 /* Don't automatically block the signal when
 				    its handler is being executed.  */
-# define SA_ONESHOT   0x00000004 /* Reset to SIG_DFL on entry to handler.  */
+# define SA_RESETHAND 0x00000004 /* Reset to SIG_DFL on entry to handler.  */
+#endif
+#ifdef __USE_MISC
+# define SA_INTERRUPT 0x00000010 /* Historical no-op.  */
 
 /* Some aliases for the SA_ constants.  */
-# define SA_NODEFER   SA_NOMASK
-# define SA_RESETHAND SA_ONESHOT
+# define SA_NOMASK    SA_NODEFER
+# define SA_ONESHOT   SA_RESETHAND
 # define SA_STACK     SA_ONSTACK
 #endif
 
diff --git a/sysdeps/unix/sysv/linux/tile/bits/sigaction.h b/sysdeps/unix/sysv/linux/tile/bits/sigaction.h
index 6b8c1d7de0..9f72698db5 100644
--- a/sysdeps/unix/sysv/linux/tile/bits/sigaction.h
+++ b/sysdeps/unix/sysv/linux/tile/bits/sigaction.h
@@ -24,7 +24,7 @@
 struct sigaction
   {
     /* Signal handler.  */
-#ifdef __USE_POSIX199309
+#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
     union
       {
 	/* Used if SA_SIGINFO is not set.  */
@@ -54,17 +54,17 @@ struct sigaction
 #define SA_NOCLDWAIT  2		 /* Don't create zombie on child death.  */
 #define SA_SIGINFO    4		 /* Invoke signal-catching function with
 				    three arguments instead of one.  */
-#if defined __USE_UNIX98 || defined __USE_MISC
-# define SA_NOPTRACE  0x02000000 /* Don't ptrace this signal. */
+#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC
 # define SA_ONSTACK   0x08000000 /* Use signal stack by using `sa_restorer'. */
 #endif
-#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
+#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
 # define SA_RESTART   0x10000000 /* Restart syscall on signal return.  */
 # define SA_NODEFER   0x40000000 /* Don't automatically block the signal when
 				    its handler is being executed.  */
 # define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler.  */
 #endif
 #ifdef __USE_MISC
+# define SA_NOPTRACE  0x02000000 /* Don't ptrace this signal. */
 # define SA_INTERRUPT 0x20000000 /* Historical no-op.  */
 
 /* Some aliases for the SA_ constants.  */