diff options
Diffstat (limited to 'newlib/libc/include/machine/setjmp.h')
-rw-r--r-- | newlib/libc/include/machine/setjmp.h | 20 |
1 files changed, 4 insertions, 16 deletions
diff --git a/newlib/libc/include/machine/setjmp.h b/newlib/libc/include/machine/setjmp.h index f7e5865ab..73ccd94be 100644 --- a/newlib/libc/include/machine/setjmp.h +++ b/newlib/libc/include/machine/setjmp.h @@ -1,11 +1,6 @@ _BEGIN_STD_C -#if defined(__or1k__) || defined(__or1knd__) -#define _JBLEN 31 /* 32 GPRs - r0 */ -#define _JBTYPE unsigned long -#endif - #if defined(__arm__) || defined(__thumb__) /* * All callee preserved registers: @@ -61,18 +56,11 @@ _BEGIN_STD_C #endif #ifdef __nds32__ -/* 17 words for GPRs, - 1 word for $fpcfg.freg and 30 words for FPUs - Reserved 2 words for aligement-adjustment. When storeing double-precision - floating-point register into memory, the address has to be - double-word-aligned. - Check libc/machine/nds32/setjmp.S for more information. */ -#if __NDS32_EXT_FPU_SP__ || __NDS32_EXT_FPU_DP__ -#define _JBLEN 50 -#else +/* Only 17 words are currently needed. + Preserve one word slot if we need to expand. + Check newlib/libc/machine/nds32/setjmp.S for more information. */ #define _JBLEN 18 #endif -#endif #if defined(__Z8001__) || defined(__Z8002__) /* 16 regs + pc */ @@ -118,7 +106,7 @@ _BEGIN_STD_C #endif #ifdef __mips__ -# if defined(__mips64) +# if defined(__mips64) || (__mips_fpr == 64) # define _JBTYPE long long # endif # ifdef __mips_soft_float |