On 8/6/2017 5:46 PM, Ken Brown wrote:
The attached patch fixes the issue reported here:
https://cygwin.com/ml/cygwin/2017-08/msg00060.html
I'm not sure if I was correct in including RTEMS or if this should have
been Cygwin only. If the former, I probably should have sent this to
the Newlib list.
Sorry, I accidentally made a whitespace change. Corrected patch attached.
Ken
From 50cceaf0e1d33ddf3fc62399bc15761af93fa29d Mon Sep 17 00:00:00 2001
From: Ken Brown <kbr...@cornell.edu>
Date: Sun, 6 Aug 2017 17:40:43 -0400
Subject: [PATCH] Define sigsetjmp/siglongjmp only if __POSIX_VISIBLE
---
newlib/libc/include/machine/setjmp.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/newlib/libc/include/machine/setjmp.h
b/newlib/libc/include/machine/setjmp.h
index 2b4dd8b91..e6c3142ed 100644
--- a/newlib/libc/include/machine/setjmp.h
+++ b/newlib/libc/include/machine/setjmp.h
@@ -368,7 +368,7 @@ typedef int jmp_buf[_JBLEN];
_END_STD_C
-#if defined(__CYGWIN__) || defined(__rtems__)
+#if (defined(__CYGWIN__) || defined(__rtems__)) && __POSIX_VISIBLE
#include <signal.h>
#ifdef __cplusplus
@@ -450,4 +450,4 @@ extern int _setjmp (jmp_buf);
#ifdef __cplusplus
}
#endif
-#endif /* __CYGWIN__ or __rtems__ */
+#endif /* (__CYGWIN__ or __rtems__) and __POSIX_VISIBLE */
--
2.13.2