diff options
Diffstat (limited to 'newlib/libc/include')
-rw-r--r-- | newlib/libc/include/machine/ieeefp.h | 7 | ||||
-rw-r--r-- | newlib/libc/include/machine/setjmp.h | 8 | ||||
-rw-r--r-- | newlib/libc/include/sys/config.h | 8 |
3 files changed, 23 insertions, 0 deletions
diff --git a/newlib/libc/include/machine/ieeefp.h b/newlib/libc/include/machine/ieeefp.h index ffde3ffd4..888b2303b 100644 --- a/newlib/libc/include/machine/ieeefp.h +++ b/newlib/libc/include/machine/ieeefp.h @@ -75,6 +75,13 @@ #define __IEEE_BIG_ENDIAN #endif +#if defined(__mc68hc11__) || defined(__mc68hc12__) || defined(__mc68hc1x__) +#define __IEEE_BIG_ENDIAN +#ifdef __HAVE_SHORT_DOUBLE__ +# define _DOUBLE_IS_32BITS +#endif +#endif + #if defined (__H8300__) || defined (__H8300H__) || defined (__H8300S__) || defined (__H8500__) #define __IEEE_BIG_ENDIAN #define _FLOAT_ARG float diff --git a/newlib/libc/include/machine/setjmp.h b/newlib/libc/include/machine/setjmp.h index 42c982c91..4cf6cf1b1 100644 --- a/newlib/libc/include/machine/setjmp.h +++ b/newlib/libc/include/machine/setjmp.h @@ -28,6 +28,14 @@ _BEGIN_STD_C #define _JBLEN 34 #endif +#if defined(__mc68hc11__) || defined(__mc68hc12__) || defined(__mc68hc1x__) +/* + * D, X, Y are not saved. + * Only take into account the pseudo soft registers (max 32). + */ +#define _JBLEN 32 +#endif + #if defined(__Z8001__) || defined(__Z8002__) /* 16 regs + pc */ #define _JBLEN 20 diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h index 883993ffb..9596d5558 100644 --- a/newlib/libc/include/sys/config.h +++ b/newlib/libc/include/sys/config.h @@ -33,6 +33,14 @@ #define _POINTER_INT short #endif +#if defined(__mc68hc11__) || defined(__mc68hc12__) || defined(__mc68hc1x__) +#undef INT_MAX +#undef UINT_MAX +#define INT_MAX __INT_MAX__ +#define UINT_MAX (__INT_MAX__ * 2U + 1) +#define _POINTER_INT short +#endif + #ifdef ___AM29K__ #define _FLOAT_RET double #endif |