summaryrefslogtreecommitdiffstats
path: root/newlib/libc/include
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2013-05-13 21:39:51 +0000
committerDJ Delorie <dj@redhat.com>2013-05-13 21:39:51 +0000
commit2f2a30423446f88e283f50f699bf7cc3c8cf74b8 (patch)
treeda1eb3018024b0d841f5de74df711564baeaf901 /newlib/libc/include
parente4ab61a8ab9b84a26fa22624e7049b50cafd4d19 (diff)
downloadcygnal-2f2a30423446f88e283f50f699bf7cc3c8cf74b8.tar.gz
cygnal-2f2a30423446f88e283f50f699bf7cc3c8cf74b8.tar.bz2
cygnal-2f2a30423446f88e283f50f699bf7cc3c8cf74b8.zip
[newlib]
* configure.host (msp430): Add. * libc/include/machine/ieeefp.h: Add MSP430 support. * libc/include/machine/setjmp.h: Likewise. * libc/include/sys/config.h: Likewise. * libc/machine/configure.in (msp430): Add. * libc/machine/configure: Regenerate. * libc/machine/msp430: New directory. [libgloss] * configure.in (msp430*-*-elf): Add. * configure: Regenerate. * msp430: New directory.
Diffstat (limited to 'newlib/libc/include')
-rw-r--r--newlib/libc/include/machine/ieeefp.h5
-rw-r--r--newlib/libc/include/machine/setjmp.h10
-rw-r--r--newlib/libc/include/sys/config.h15
3 files changed, 30 insertions, 0 deletions
diff --git a/newlib/libc/include/machine/ieeefp.h b/newlib/libc/include/machine/ieeefp.h
index bf6060c53..dd1fceda9 100644
--- a/newlib/libc/include/machine/ieeefp.h
+++ b/newlib/libc/include/machine/ieeefp.h
@@ -359,6 +359,11 @@
#define __IEEE_BIG_ENDIAN
#endif
+#ifdef __MSP430__
+#define __IEEE_LITTLE_ENDIAN
+#define __SMALL_BITFIELDS /* 16 Bit INT */
+#endif
+
#ifdef __RL78__
#define __IEEE_LITTLE_ENDIAN
#define __SMALL_BITFIELDS /* 16 Bit INT */
diff --git a/newlib/libc/include/machine/setjmp.h b/newlib/libc/include/machine/setjmp.h
index 1c68ce45c..78fbdd78b 100644
--- a/newlib/libc/include/machine/setjmp.h
+++ b/newlib/libc/include/machine/setjmp.h
@@ -281,6 +281,16 @@ _BEGIN_STD_C
#define _JBTYPE unsigned short
#endif /* __m32c__ */
+#ifdef __MSP430__
+#define _JBLEN 9
+
+#ifdef __MSP430X_LARGE__
+#define _JBTYPE unsigned long
+#else
+#define _JBTYPE unsigned short
+#endif
+#endif
+
#ifdef __RL78__
/* Three banks of registers, SP, CS, ES, PC */
#define _JBLEN (8*3+8)
diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h
index b26017b99..a641c4b29 100644
--- a/newlib/libc/include/sys/config.h
+++ b/newlib/libc/include/sys/config.h
@@ -145,6 +145,21 @@
#define __BUFSIZ__ 16
#define _REENT_SMALL
#endif
+
+#if defined __MSP430__
+#ifndef _REENT_SMALL
+#define _REENT_SMALL
+#endif
+
+#define __SMALL_BITFIELDS
+
+#ifdef __MSP430X_LARGE__
+#define _POINTER_INT long
+#else
+#define _POINTER_INT int
+#endif
+#endif
+
#ifdef __m32c__
#define __SMALL_BITFIELDS
#undef INT_MAX