summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-06-12 17:39:47 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-06-12 17:39:47 +0000
commit9527ae8291dbc6097f4f93c4ccce69b577f8a261 (patch)
tree07b852df35272170ee7e8502db3556420f70d6ea
parenta0f8b1152040d2652cdeb741ac586c95221dc5f0 (diff)
Fix XPG4 bsd_signal namespace (bug 21552).
bsd_signal was added in XPG4.2, so should be declared for __USE_XOPEN_EXTENDED, instead of the present __USE_XOPEN condition. This patch fixes the condition accordingly. Tested for x86_64. [BZ #21552] * signal/signal.h (bsd_signal): Declare if [__USE_XOPEN_EXTENDED], not [__USE_XOPEN]. * conform/Makefile (test-xfail-XPG4/signal.h/conform): Remove.
-rw-r--r--ChangeLog5
-rw-r--r--conform/Makefile1
-rw-r--r--signal/signal.h2
3 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index a066151215..f36fa0ee0f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2017-06-12 Joseph Myers <joseph@codesourcery.com>
+ [BZ #21552]
+ * signal/signal.h (bsd_signal): Declare if [__USE_XOPEN_EXTENDED],
+ not [__USE_XOPEN].
+ * conform/Makefile (test-xfail-XPG4/signal.h/conform): Remove.
+
[BZ #21550]
* signal/signal.h (sigwait): Only declare if [__USE_POSIX199506].
diff --git a/conform/Makefile b/conform/Makefile
index 68f2e55298..9ec41c7244 100644
--- a/conform/Makefile
+++ b/conform/Makefile
@@ -161,7 +161,6 @@ test-xfail-XOPEN2K/ndbm.h/conform = yes
test-xfail-XOPEN2K8/ndbm.h/conform = yes
# Unsorted expected failures.
-test-xfail-XPG4/signal.h/conform = yes
test-xfail-XPG42/signal.h/conform = yes
test-xfail-XPG42/sys/wait.h/conform = yes
test-xfail-XPG42/ucontext.h/conform = yes
diff --git a/signal/signal.h b/signal/signal.h
index 5ff94e0d25..23cd8efb14 100644
--- a/signal/signal.h
+++ b/signal/signal.h
@@ -94,7 +94,7 @@ extern __sighandler_t __REDIRECT_NTH (signal,
# endif
#endif
-#if defined __USE_XOPEN && !defined __USE_XOPEN2K8
+#if defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8
/* The X/Open definition of `signal' conflicts with the BSD version.
So they defined another function `bsd_signal'. */
extern __sighandler_t bsd_signal (int __sig, __sighandler_t __handler)