diff --git a/newlib/ChangeLog b/newlib/ChangeLog index bc4405758..4bd5edf09 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,3 +1,8 @@ +2009-05-27 Neal H. Walfield + + * libc/include/machine/setjmp.h (sigjmp_buf): Size according to + _JBTYPE and the size of sigset_t. + 2009-05-15 Craig Howland * configure.in: Add configuration test for long double type existing diff --git a/newlib/libc/include/machine/setjmp.h b/newlib/libc/include/machine/setjmp.h index 52b39e2da..7ffb7d7e6 100644 --- a/newlib/libc/include/machine/setjmp.h +++ b/newlib/libc/include/machine/setjmp.h @@ -267,7 +267,11 @@ extern "C" { #endif /* POSIX sigsetjmp/siglongjmp macros */ -typedef int sigjmp_buf[_JBLEN+2]; +#ifdef _JBTYPE +typedef _JBTYPE sigjmp_buf[_JBLEN+1+(sizeof (sigset_t)/sizeof (_JBTYPE))]; +#else +typedef int sigjmp_buf[_JBLEN+1+(sizeof (sigset_t)/sizeof (int))]; +#endif #define _SAVEMASK _JBLEN #define _SIGMASK (_JBLEN+1)