Define SIG_HOLD for XPG4 (bug 21538)

Message ID alpine.DEB.2.20.1706011744380.13997@digraph.polyomino.org.uk
State New, archived
Headers

Commit Message

Joseph Myers June 1, 2017, 5:45 p.m. UTC
  Various bits/signum.h headers define SIG_HOLD if __USE_UNIX98.  That
should be __USE_XOPEN, as this macro is in XPG4.  This patch fixes the
conditionals accordingly.  Because of other header bugs, this does not
allow any XFAILs to be removed (however, the XPG4/signal.h/conform
XFAIL only depends on a few such straightforward header bugs, not on
the more complicated to fix ucontext_t issues, as ucontext_t isn't
included in signal.h in XPG4).

Tested for x86_64.

2017-06-01  Joseph Myers  <joseph@codesourcery.com>

	[BZ #21538]
	* bits/signum.h (SIG_HOLD): Define if [__USE_XOPEN], not
	[__USE_UNIX98].
	* sysdeps/unix/bsd/bits/signum.h (SIG_HOLD): Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/signum.h (SIG_HOLD):
	Likewise.
	* sysdeps/unix/sysv/linux/bits/signum.h (SIG_HOLD): Likewise.
	* sysdeps/unix/sysv/linux/hppa/bits/signum.h (SIG_HOLD): Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/signum.h (SIG_HOLD): Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/signum.h (SIG_HOLD):
	Likewise.
  

Comments

Zack Weinberg June 3, 2017, 2:15 p.m. UTC | #1
On 06/01/2017 01:45 PM, Joseph Myers wrote:
> Various bits/signum.h headers define SIG_HOLD if __USE_UNIX98.  That
> should be __USE_XOPEN, as this macro is in XPG4.  This patch fixes the
> conditionals accordingly.  Because of other header bugs, this does not
> allow any XFAILs to be removed (however, the XPG4/signal.h/conform
> XFAIL only depends on a few such straightforward header bugs, not on
> the more complicated to fix ucontext_t issues, as ucontext_t isn't
> included in signal.h in XPG4).
> 
> Tested for x86_64.

OK.
  

Patch

diff --git a/bits/signum.h b/bits/signum.h
index 2f6a124..cfbc7ac 100644
--- a/bits/signum.h
+++ b/bits/signum.h
@@ -24,7 +24,7 @@ 
 #define	SIG_DFL	 ((__sighandler_t)  0)	/* Default action.  */
 #define	SIG_IGN	 ((__sighandler_t)  1)	/* Ignore signal.  */
 
-#ifdef __USE_UNIX98
+#ifdef __USE_XOPEN
 # define SIG_HOLD ((__sighandler_t)  2)	/* Add signal to hold mask.  */
 #endif
 
diff --git a/sysdeps/unix/bsd/bits/signum.h b/sysdeps/unix/bsd/bits/signum.h
index b080356..268c24a 100644
--- a/sysdeps/unix/bsd/bits/signum.h
+++ b/sysdeps/unix/bsd/bits/signum.h
@@ -26,7 +26,7 @@ 
 #define	SIG_DFL	((__sighandler_t) 0) /* Default action.  */
 #define	SIG_IGN	((__sighandler_t) 1) /* Ignore signal.  */
 
-#ifdef __USE_UNIX98
+#ifdef __USE_XOPEN
 # define SIG_HOLD      ((__sighandler_t) 2)    /* Add signal to hold mask.  */
 #endif
 
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/signum.h b/sysdeps/unix/sysv/linux/alpha/bits/signum.h
index ed9a107..e5cc521 100644
--- a/sysdeps/unix/sysv/linux/alpha/bits/signum.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/signum.h
@@ -23,7 +23,7 @@ 
 #define SIG_DFL ((__sighandler_t) 0) /* Default action.  */
 #define SIG_IGN ((__sighandler_t) 1) /* Ignore signal.  */
 
-#ifdef __USE_UNIX98
+#ifdef __USE_XOPEN
 # define SIG_HOLD	((__sighandler_t) 2)	/* Add signal to hold mask.  */
 #endif
 
diff --git a/sysdeps/unix/sysv/linux/bits/signum.h b/sysdeps/unix/sysv/linux/bits/signum.h
index 43ded30..e30efea 100644
--- a/sysdeps/unix/sysv/linux/bits/signum.h
+++ b/sysdeps/unix/sysv/linux/bits/signum.h
@@ -23,7 +23,7 @@ 
 #define SIG_DFL	((__sighandler_t) 0)		/* Default action.  */
 #define SIG_IGN	((__sighandler_t) 1)		/* Ignore signal.  */
 
-#ifdef __USE_UNIX98
+#ifdef __USE_XOPEN
 # define SIG_HOLD	((__sighandler_t) 2)	/* Add signal to hold mask.  */
 #endif
 
diff --git a/sysdeps/unix/sysv/linux/hppa/bits/signum.h b/sysdeps/unix/sysv/linux/hppa/bits/signum.h
index 81c6d39..20c0b60 100644
--- a/sysdeps/unix/sysv/linux/hppa/bits/signum.h
+++ b/sysdeps/unix/sysv/linux/hppa/bits/signum.h
@@ -23,7 +23,7 @@ 
 #define SIG_DFL	((__sighandler_t) 0)		/* Default action.  */
 #define SIG_IGN	((__sighandler_t) 1)		/* Ignore signal.  */
 
-#ifdef __USE_UNIX98
+#ifdef __USE_XOPEN
 # define SIG_HOLD	((__sighandler_t) 2)	/* Add signal to hold mask.  */
 #endif
 
diff --git a/sysdeps/unix/sysv/linux/mips/bits/signum.h b/sysdeps/unix/sysv/linux/mips/bits/signum.h
index bf8ceaf..6c31e01 100644
--- a/sysdeps/unix/sysv/linux/mips/bits/signum.h
+++ b/sysdeps/unix/sysv/linux/mips/bits/signum.h
@@ -23,7 +23,7 @@ 
 #define SIG_DFL ((__sighandler_t) 0)		/* Default action.  */
 #define SIG_IGN ((__sighandler_t) 1)		/* Ignore signal.  */
 
-#ifdef __USE_UNIX98
+#ifdef __USE_XOPEN
 # define SIG_HOLD	((__sighandler_t) 2)	/* Add signal to hold mask.  */
 #endif
 
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/signum.h b/sysdeps/unix/sysv/linux/sparc/bits/signum.h
index 4de1a5b..a0c5be5 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/signum.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/signum.h
@@ -23,7 +23,7 @@ 
 #define SIG_DFL ((__sighandler_t) 0) /* Default action.  */
 #define SIG_IGN ((__sighandler_t) 1) /* Ignore signal.  */
 
-#ifdef __USE_UNIX98
+#ifdef __USE_XOPEN
 # define SIG_HOLD	((__sighandler_t) 2)	/* Add signal to hold mask.  */
 #endif