Fix signal.h bsd_signal namespace (bug 21445).
authorJoseph Myers <joseph@codesourcery.com>
Thu, 4 May 2017 17:38:05 +0000 (17:38 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Thu, 4 May 2017 17:38:05 +0000 (17:38 +0000)
signal.h declares bsd_signal for __USE_XOPEN.  But this function was
obsoleted in the 2001 edition of POSIX and removed in the 2008
edition, so it should not be declared when the 2008 edition is in use.
This patch fixes the conditionals accordingly.  (This does not fix any
conform/ test failures because of other namespace issues in signal.h.)

Tested for x86_64.

[BZ #21445]
* signal/signal.h [__USE_XOPEN2K8] (bsd_signal): Do not declare.

ChangeLog
signal/signal.h

index f5d749b..7d023fc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2017-05-04  Joseph Myers  <joseph@codesourcery.com>
 
+       [BZ #21445]
+       * signal/signal.h [__USE_XOPEN2K8] (bsd_signal): Do not declare.
+
        [BZ #21457]
        * sysdeps/unix/sysv/linux/mips/sys/ucontext.h
        [_MIPS_SIM != _ABIO32] (mcontext_t): Rename field reserved to
index 84f2a1f..6db2d2f 100644 (file)
@@ -108,7 +108,7 @@ extern __sighandler_t __REDIRECT_NTH (signal,
 # endif
 #endif
 
-#ifdef __USE_XOPEN
+#if defined __USE_XOPEN && !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)