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.h5
-rw-r--r--newlib/libc/include/machine/setjmp.h5
-rw-r--r--newlib/libc/include/sys/config.h13
3 files changed, 23 insertions, 0 deletions
diff --git a/newlib/libc/include/machine/ieeefp.h b/newlib/libc/include/machine/ieeefp.h
index 42a6cf05c..d60759925 100644
--- a/newlib/libc/include/machine/ieeefp.h
+++ b/newlib/libc/include/machine/ieeefp.h
@@ -186,6 +186,11 @@
#define __IEEE_BIG_ENDIAN
#endif
+#ifdef __xstormy16__
+#define __IEEE_LITTLE_ENDIAN
+#define __SMALL_BITFIELDS
+#endif
+
#ifndef __IEEE_BIG_ENDIAN
#ifndef __IEEE_LITTLE_ENDIAN
diff --git a/newlib/libc/include/machine/setjmp.h b/newlib/libc/include/machine/setjmp.h
index 0add20f07..3e57f6e8f 100644
--- a/newlib/libc/include/machine/setjmp.h
+++ b/newlib/libc/include/machine/setjmp.h
@@ -151,6 +151,11 @@ typedef int jmp_buf[_JBLEN];
#define _JBTYPE unsigned long
#endif
+#ifdef __xstormy16__
+/* 4 GPRs plus SP plus PC. */
+#define _JBLEN 8
+#endif
+
#ifdef _JBLEN
#ifdef _JBTYPE
typedef _JBTYPE jmp_buf[_JBLEN];
diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h
index a0741dcff..874622489 100644
--- a/newlib/libc/include/sys/config.h
+++ b/newlib/libc/include/sys/config.h
@@ -110,6 +110,19 @@
#endif
#endif
+#ifdef __xstormy16__
+#define __IEEE_LITTLE_ENDIAN
+#define __SMALL_BITFIELDS
+#undef INT_MAX
+#undef UINT_MAX
+#define INT_MAX __INT_MAX__
+#define UINT_MAX (__INT_MAX__ * 2U + 1)
+#define SIZE_T_SMALLER_THAN_LONG
+#define MALLOC_ALIGNMENT 8
+#define _POINTER_INT short
+#define __BUFSIZ__ 16
+#endif
+
#if INT_MAX == 32767
typedef long int __int32_t;
typedef unsigned long int __uint32_t;