summaryrefslogtreecommitdiffstats
path: root/newlib/libc/include
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/include')
-rw-r--r--newlib/libc/include/machine/ieeefp.h7
-rw-r--r--newlib/libc/include/machine/setjmp.h8
-rw-r--r--newlib/libc/include/sys/config.h8
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