From bac50d6b6eed4d03d700fe5497c9ca2e47fe2a6d Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 20 Feb 2003 19:14:12 +0000 Subject: [PATCH] Add support for Cirrus Maverick ARM co-processor --- newlib/ChangeLog | 17 +++++++++++++++++ newlib/configure.host | 26 ++++++++++++++++++-------- newlib/libc/include/machine/ieeefp.h | 10 +++++++++- 3 files changed, 44 insertions(+), 9 deletions(-) diff --git a/newlib/ChangeLog b/newlib/ChangeLog index d20861654..7781da129 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,3 +1,20 @@ +2003-02-20 Nick Clifton + + * Add support for Cirrus Maverick ARM co-processor: + + 2000-09-13 Aldy Hernandez + + * libc/include/machine/ieeefp.h: Set IEEE_BIG_ENDIAN or + IEEE_LITTLE_ENDIAN depending on endian mode (cirrus). + + 2000-08-11 Aldy Hernandez + + * configure.host: set sys_dir, syscall_dir, and + newlib_cflags for ep9312 host. + + * configure.host: Restore alpha sorting of entries in case + statements. + 2003-02-19 Jeff Johnston * libc/stdlib/mallocr.c (unlink): Revert 02/18 fix. diff --git a/newlib/configure.host b/newlib/configure.host index 15676aa6b..49d23b892 100644 --- a/newlib/configure.host +++ b/newlib/configure.host @@ -88,16 +88,21 @@ case "${host_cpu}" in avr*) newlib_cflags="${newlib_cflags} -DPREFER_SIZE_OVER_SPEED -mcall-prologues" ;; - d10v*) machine_dir=d10v ;; d30v*) machine_dir=d30v ;; + ep9312) + machine_dir=arm + ;; fr30) machine_dir=fr30 ;; + frv) + machine_dir=frv + ;; h8300) machine_dir=h8300 ;; @@ -204,9 +209,6 @@ case "${host_cpu}" in machine_dir=v850 newlib_cflags="${newlib_cflags} -DPREFER_SIZE_OVER_SPEED -mv850 " ;; - frv) - machine_dir=frv - ;; w65*) machine_dir=w65 ;; @@ -311,6 +313,9 @@ case "${host}" in d30v*) sys_dir= ;; + ep9312-*-*) + sys_dir=arm + ;; h8300-*-hms*) sys_dir=h8300hms ;; @@ -481,10 +486,19 @@ case "${host}" in newlib_cflags="${newlib_cflags} -DABORT_MESSAGE -DSMALL_MEMORY -DMISSING_SYSCALL_NAMES" syscall_dir= ;; + ep9312-*-*) + syscall_dir=syscalls + newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY" + newlib_cflags="${newlib_cflags} -DARM_RDI_MONITOR" + ;; fr30-*-*) newlib_cflags="${newlib_cflags}" syscall_dir=syscalls ;; + frv-*-*) + syscall_dir=syscalls + newlib_cflags="${newlib_cflags} -DWANT_PRINTF_LONG_LONG" + ;; h8300*-*-*) syscall_dir=syscalls newlib_cflags="${newlib_cflags} -DSMALL_DTOA -DSMALL_MEMORY" @@ -602,10 +616,6 @@ case "${host}" in v850ea-*-*) syscall_dir=syscalls ;; - frv-*-*) - syscall_dir=syscalls - newlib_cflags="${newlib_cflags} -DWANT_PRINTF_LONG_LONG" - ;; w65-*-*) syscall_dir=syscalls newlib_cflags="${newlib_cflags} -DSMALL_DTOA -DSMALL_MEMORY" diff --git a/newlib/libc/include/machine/ieeefp.h b/newlib/libc/include/machine/ieeefp.h index 3fcb9a4ee..6eeb381bd 100644 --- a/newlib/libc/include/machine/ieeefp.h +++ b/newlib/libc/include/machine/ieeefp.h @@ -50,7 +50,7 @@ */ -#if (defined(__arm__) || defined(__thumb__)) +#if (defined(__arm__) || defined(__thumb__)) && !defined(__MAVERICK__) /* ARM always has big-endian words. Within those words the byte ordering will be big or little endian depending upon the target. */ #define __IEEE_BIG_ENDIAN @@ -234,6 +234,14 @@ #define _DOUBLE_IS_32BITS #endif +#ifdef __MAVERICK__ +#ifdef __ARMEL__ +# define __IEEE_LITTLE_ENDIAN +#else /* must be __ARMEB__ */ +# define __IEEE_BIG_ENDIAN +#endif /* __ARMEL__ */ +#endif /* __MAVERICK__ */ + #ifndef __IEEE_BIG_ENDIAN #ifndef __IEEE_LITTLE_ENDIAN #error Endianess not declared!!