diff --git a/ossig.h b/ossig.h
index 2e39ea2b..4a47fed0 100644
--- a/ossig.h
+++ b/ossig.h
@@ -46,6 +46,10 @@ extern "C" {
//! using sigaction flags set to 0. The default handler only returns from the call.
//! \details Upon destruction the previous signal handler is restored if the former signal handler
//! was replaced.
+//! \details On Cygwin systems using Newlib, you need to ensure you define _XOPEN_SOURCE=700,
+//! _GNU_SOURCE; or use -std=gnu++03, -std=gnu++11, or similar. If
+//! you compile with -std=c++03, -std=c++11 or similar, then define
+//! _XOPEN_SOURCE=700.
//! \warning Do not use SignalHandler in a code block that uses setjmp or longjmp
//! because the destructor may not run.
//! \since Crypto++ 5.6.5
@@ -63,6 +67,10 @@ struct SignalHandler
//! using sigaction flags set to 0. The default handler only returns from the call.
//! \details Upon destruction the previous signal handler is restored if the former signal handler
//! was overwritten.
+ //! \details On Cygwin systems using Newlib, you need to ensure you define _XOPEN_SOURCE=700,
+ //! _GNU_SOURCE; or use -std=gnu++03, -std=gnu++11, or similar. If
+ //! you compile with -std=c++03, -std=c++11 or similar, then define
+ //! _XOPEN_SOURCE=700.
//! \warning Do not use SignalHandler in a code block that uses setjmp or longjmp
//! because the destructor may not run. setjmp is why cpu.cpp does not use SignalHandler
//! during CPU feature testing.