diff options
Diffstat (limited to 'newlib/libc/include/machine/setjmp.h')
-rw-r--r-- | newlib/libc/include/machine/setjmp.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/newlib/libc/include/machine/setjmp.h b/newlib/libc/include/machine/setjmp.h index 102582c..ab820ed 100644 --- a/newlib/libc/include/machine/setjmp.h +++ b/newlib/libc/include/machine/setjmp.h @@ -22,7 +22,16 @@ _BEGIN_STD_C #endif #if defined(__aarch64__) -#define _JBLEN 22 +# if defined(__CYGWIN__) +/* + * Windows Arm64 ABI requires saving x19-x28, FP, LR, SP, FPCR, FPSR, d8-d15 + * and jump address to jmp_buf. On top of that, Cygwin requires saving + * TLS stack pointer. + */ +# define _JBLEN 25 +# else +# define _JBLEN 22 +# endif #define _JBTYPE long long #endif |