From 82045f122180d847f4686f328546e8bd860b620e Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Fri, 30 Jul 2004 09:03:39 +0000 Subject: Introduce SH2a support. 2004-03-16 Corinna Vinschen * libc/include/machine/ieeefp.h: Define _DOUBLE_IS_32BITS for __SH2A_SINGLE_ONLY__, too. * libc/machine/sh/asm.h: Define DELAYED_BRANCHES for __SH2A__, too. 2004-02-24 Corinna Vinschen * libc/sys/sh/crt0.S (start_l): Support sh2a-nofpu. Fix comments. 2004-02-10 DJ Delorie * libc/sys/sh/crt0.S (start_l): Support sh2a. --- newlib/ChangeLog | 12 ++++++++++++ newlib/libc/include/machine/ieeefp.h | 2 +- newlib/libc/machine/sh/asm.h | 2 +- newlib/libc/sys/sh/crt0.S | 12 ++++++++---- 4 files changed, 22 insertions(+), 6 deletions(-) (limited to 'newlib') diff --git a/newlib/ChangeLog b/newlib/ChangeLog index 37258e7..3a54a17 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,3 +1,15 @@ +2004-07-30 Alexandre Oliva + + Introduce SH2a support. + 2004-03-16 Corinna Vinschen + * libc/include/machine/ieeefp.h: Define _DOUBLE_IS_32BITS for + __SH2A_SINGLE_ONLY__, too. + * libc/machine/sh/asm.h: Define DELAYED_BRANCHES for __SH2A__, too. + 2004-02-24 Corinna Vinschen + * libc/sys/sh/crt0.S (start_l): Support sh2a-nofpu. Fix comments. + 2004-02-10 DJ Delorie + * libc/sys/sh/crt0.S (start_l): Support sh2a. + 2004-07-29 Jeff Johnston * libc/time/strptime.c: Correct full-name of "March" typo. diff --git a/newlib/libc/include/machine/ieeefp.h b/newlib/libc/include/machine/ieeefp.h index f09a481..fd54e50 100644 --- a/newlib/libc/include/machine/ieeefp.h +++ b/newlib/libc/include/machine/ieeefp.h @@ -104,7 +104,7 @@ #else #define __IEEE_BIG_ENDIAN #endif -#if defined(__SH2E__) || defined(__SH3E__) || defined(__SH4_SINGLE_ONLY__) +#if defined(__SH2E__) || defined(__SH3E__) || defined(__SH4_SINGLE_ONLY__) || defined(__SH2A_SINGLE_ONLY__) #define _DOUBLE_IS_32BITS #endif #endif diff --git a/newlib/libc/machine/sh/asm.h b/newlib/libc/machine/sh/asm.h index 99a1866..db30b14 100644 --- a/newlib/libc/machine/sh/asm.h +++ b/newlib/libc/machine/sh/asm.h @@ -24,7 +24,7 @@ #if (defined (__sh2__) || defined (__SH2E__) || defined (__sh3__) || defined (__SH3E__) \ || defined (__SH4_SINGLE__) || defined (__SH4__)) \ - || defined (__SH4_SINGLE_ONLY__) || defined (__SH5__) + || defined (__SH4_SINGLE_ONLY__) || defined (__SH5__) || defined (__SH2A__) #define DELAYED_BRANCHES #define SL(branch, dest, in_slot, in_slot_arg2) \ branch##.s dest; in_slot, in_slot_arg2 diff --git a/newlib/libc/sys/sh/crt0.S b/newlib/libc/sys/sh/crt0.S index e9f8dde..f9473ae 100644 --- a/newlib/libc/sys/sh/crt0.S +++ b/newlib/libc/sys/sh/crt0.S @@ -79,12 +79,14 @@ start_l: cmp/ge r0,r1 bt start_l -#if defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY) +#ifndef __SH2A_NOFPU__ +#if defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY) || defined(__SH2A__) mov.l set_fpscr_k, r1 jsr @r1 mov #0,r4 lds r3,fpscr -#endif /* defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__) */ +#endif /* defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__) || defined(__SH2A__) */ +#endif /* !__SH2A_NOFPU__ */ ! call the mainline mov.l main_k,r0 @@ -98,10 +100,12 @@ start_l: or r0,r0 .align 2 -#if defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__) +#ifndef __SH2A_NOFPU__ +#if defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__) || defined(__SH2A__) set_fpscr_k: .long ___set_fpscr -#endif /* defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(SH4_SINGLE_ONLY) */ +#endif /* defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(SH4_SINGLE_ONLY) || defined(__SH2A__) */ +#endif /* !__SH2A_NOFPU__ */ stack_k: .long _stack edata_k: -- cgit v1.1