svn commit: r295561 - in head: include sys/mips/include sys/powerpc/include sys/sparc64/include sys/sys sys/x86/include

Konstantin Belousov kostikbel at gmail.com
Sat Feb 13 10:16:30 UTC 2016


On Sat, Feb 13, 2016 at 07:29:48AM +1100, Bruce Evans wrote:
> It needs a version number to be correct.  Plain __POSIX_VISIBLE means
> all versions.  __POSIX_VISBLE >= 200112 is probably good enough for
> the POSIX part.  I don't know the correct number for XSI.  Perhaps
> it can be simply omitted.  _XOPEN_SOURCE >= 600 gives
> __XSI_VISIBLE >= 600 && _POSIX_C_SOURCE >= 200112.  So __XSI_VISIBLE
> in the above is only to support XSI before 2001.  We only support 1
> XSI before that -- #500 which corresponds to 1996 POSIX.  Very likely
> XSI did have ucontext_t then, so the above ifdef is correct.  It is
> just hard to read.  Easier than google hits though :-).  I found a
> gnu man page about getcontext() being in SVID but couldn't easily
> find the history.

I have SVID document labeled FINAL COPY June 15, 1995 First Edition.
There, it seems that ucontext.h is required.

Below is the updated patch.

diff --git a/include/signal.h b/include/signal.h
index 33be55c..217fadd 100644
--- a/include/signal.h
+++ b/include/signal.h
@@ -36,8 +36,10 @@
 #include <sys/cdefs.h>
 #include <sys/_types.h>
 #include <sys/signal.h>
+#if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE
 #include <machine/ucontext.h>
 #include <sys/_ucontext.h>
+#endif
 
 #if __BSD_VISIBLE
 /*


More information about the svn-src-all mailing list