diff options
Diffstat (limited to 'newlib/libc/include')
-rw-r--r-- | newlib/libc/include/machine/ieeefp.h | 5 | ||||
-rw-r--r-- | newlib/libc/include/machine/setjmp.h | 5 | ||||
-rw-r--r-- | newlib/libc/include/stdint.h | 2 | ||||
-rw-r--r-- | newlib/libc/include/sys/config.h | 4 | ||||
-rw-r--r-- | newlib/libc/include/sys/types.h | 7 |
5 files changed, 17 insertions, 6 deletions
diff --git a/newlib/libc/include/machine/ieeefp.h b/newlib/libc/include/machine/ieeefp.h index dcd6cdf3a..6a8b6c626 100644 --- a/newlib/libc/include/machine/ieeefp.h +++ b/newlib/libc/include/machine/ieeefp.h @@ -73,6 +73,11 @@ #define __IEEE_BIG_ENDIAN #endif +#ifdef __SPU__ +#define __IEEE_BIG_ENDIAN +#endif + + #ifdef __sparc__ #ifdef __LITTLE_ENDIAN_DATA__ #define __IEEE_LITTLE_ENDIAN diff --git a/newlib/libc/include/machine/setjmp.h b/newlib/libc/include/machine/setjmp.h index b74808f9c..93e04404c 100644 --- a/newlib/libc/include/machine/setjmp.h +++ b/newlib/libc/include/machine/setjmp.h @@ -204,6 +204,11 @@ _BEGIN_STD_C #define _JBLEN 16 #endif +#ifdef __SPU__ +#define _JBLEN 50 +#define _JBTYPE __attribute__ (( __vector_size__ (16) )) int +#endif + #ifdef __xstormy16__ /* 4 GPRs plus SP plus PC. */ #define _JBLEN 8 diff --git a/newlib/libc/include/stdint.h b/newlib/libc/include/stdint.h index 328b094c9..1fa36517a 100644 --- a/newlib/libc/include/stdint.h +++ b/newlib/libc/include/stdint.h @@ -37,7 +37,7 @@ extern "C" { /* Check if "long" is 64bit or 32bit wide */ #if __STDINT_EXP(LONG_MAX) > 0x7fffffff #define __have_long64 1 -#elif __STDINT_EXP(LONG_MAX) == 0x7fffffff +#elif __STDINT_EXP(LONG_MAX) == 0x7fffffff && !defined(__SPU__) #define __have_long32 1 #endif diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h index f436c780d..dc6264333 100644 --- a/newlib/libc/include/sys/config.h +++ b/newlib/libc/include/sys/config.h @@ -126,6 +126,10 @@ #endif /* __m32c__ */ +#ifdef __SPU__ +#define MALLOC_ALIGNMENT 16 +#endif + /* 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 would pollute the user namespace, while still using types of the diff --git a/newlib/libc/include/sys/types.h b/newlib/libc/include/sys/types.h index bf08616ab..7de48b1e9 100644 --- a/newlib/libc/include/sys/types.h +++ b/newlib/libc/include/sys/types.h @@ -126,15 +126,12 @@ typedef long daddr_t; typedef char * caddr_t; #ifndef __CYGWIN__ -#if defined(__MS_types__) || defined(__rtems__) -typedef unsigned long ino_t; -#else -#ifdef __sparc__ +#if defined(__MS_types__) || defined(__rtems__) || + defined(__sparc__) || defined(__SPU__) typedef unsigned long ino_t; #else typedef unsigned short ino_t; #endif -#endif #endif /*__CYGWIN__*/ #ifdef __MS_types__ |