Define sigsetjmp/siglongjmp only if __POSIX_VISIBLE
Corinna Vinschen
vinschen@redhat.com
Mon Aug 7 14:09:00 GMT 2017
On Aug 7 08:43, Ken Brown wrote:
> sigsetjmp and siglongjmp are POSIX extensions but are not properly guarded
> in machine/setjmp.h. This leads to the problem reported here:
>
> https://cygwin.com/ml/cygwin/2017-08/msg00060.html
>
> Patch attached.
>
> Ken
> From 50cceaf0e1d33ddf3fc62399bc15761af93fa29d Mon Sep 17 00:00:00 2001
> From: Ken Brown <kbrown@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
>
Pushed.
Thanks,
Corinna
--
Corinna Vinschen
Cygwin Maintainer
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/newlib/attachments/20170807/033e4b2a/attachment.sig>
More information about the Newlib
mailing list