Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2005-08-11 00:35:13 +0400
committerJeff Johnston <jjohnstn@redhat.com>2005-08-11 00:35:13 +0400
commit56448afa06abf287d8bfbd45b1a040ab32d54bb9 (patch)
tree573b9d596cdd6584d768de46684c217dfa8f22c5 /newlib/libc/include
parent250996a91b6d027962e9b14f035258b1782f5494 (diff)
2005-08-10 DJ Delorie <dj@redhat.com>
* configure.host: Add m32c support. * libc/include/machine/ieeefp.h: Likewise. * libc/include/machine/setjmp.h: Likewise. * libc/include/sys/config.h: Likewise. * libc/machine/m32c: New directory, Renesas R8C/M16C/M32C support. * libc/machine/m32c/aclocal.m4: New file. * libc/machine/m32c/configure: Ditto. * libc/machine/m32c/configure.in: Ditto. * libc/machine/m32c/Makefile.am: Ditto. * libc/machine/m32c/Makefile.in: Ditto. * libc/machine/m32c/setjmp.S: Ditto.
Diffstat (limited to 'newlib/libc/include')
-rw-r--r--newlib/libc/include/machine/ieeefp.h5
-rw-r--r--newlib/libc/include/machine/setjmp.h9
-rw-r--r--newlib/libc/include/sys/config.h16
3 files changed, 30 insertions, 0 deletions
diff --git a/newlib/libc/include/machine/ieeefp.h b/newlib/libc/include/machine/ieeefp.h
index 333603cd8..9da91332d 100644
--- a/newlib/libc/include/machine/ieeefp.h
+++ b/newlib/libc/include/machine/ieeefp.h
@@ -269,6 +269,11 @@
#endif /* __ARMEL__ */
#endif /* __MAVERICK__ */
+#ifdef __m32c__
+#define __IEEE_LITTLE_ENDIAN
+#define __SMALL_BITFIELDS
+#endif
+
#ifdef __CRIS__
#define __IEEE_LITTLE_ENDIAN
#endif
diff --git a/newlib/libc/include/machine/setjmp.h b/newlib/libc/include/machine/setjmp.h
index efc11f06e..f38123aba 100644
--- a/newlib/libc/include/machine/setjmp.h
+++ b/newlib/libc/include/machine/setjmp.h
@@ -213,6 +213,15 @@ _BEGIN_STD_C
#define _JBLEN 18
#endif
+#ifdef __m32c__
+#if defined(__r8c_cpu__) || defined(__m16c_cpu__)
+#define _JBLEN (22/2)
+#else
+#define _JBLEN (34/2)
+#endif
+#define _JBTYPE unsigned short
+#endif /* __m32c__ */
+
#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 1dd045498..b287b5e28 100644
--- a/newlib/libc/include/sys/config.h
+++ b/newlib/libc/include/sys/config.h
@@ -105,6 +105,22 @@
#define __BUFSIZ__ 16
#define _REENT_SMALL
#endif
+#ifdef __m32c__
+#define __SMALL_BITFIELDS
+#undef INT_MAX
+#undef UINT_MAX
+#define INT_MAX __INT_MAX__
+#define UINT_MAX (__INT_MAX__ * 2U + 1)
+#define MALLOC_ALIGNMENT 8
+#if defined(__r8c_cpu__) || defined(__m16c_cpu__)
+#define _POINTER_INT short
+#else
+#define _POINTER_INT long
+#endif
+#define __BUFSIZ__ 16
+#define _REENT_SMALL
+#endif /* __m32c__ */
+
/* This block should be kept in sync with GCC's limits.h. The point
of having these definitions here is to not include limits.h, which