diff options
-rw-r--r-- | newlib/ChangeLog | 12 | ||||
-rw-r--r-- | newlib/libc/include/machine/ieeefp.h | 2 | ||||
-rw-r--r-- | newlib/libc/machine/sh/asm.h | 2 | ||||
-rw-r--r-- | newlib/libc/sys/sh/crt0.S | 12 |
4 files changed, 22 insertions, 6 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog index 37258e7b3..3a54a17cd 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,3 +1,15 @@ +2004-07-30 Alexandre Oliva <aoliva@redhat.com> + + Introduce SH2a support. + 2004-03-16 Corinna Vinschen <vinschen@redhat.com> + * 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 <vinschen@redhat.com> + * libc/sys/sh/crt0.S (start_l): Support sh2a-nofpu. Fix comments. + 2004-02-10 DJ Delorie <dj@redhat.com> + * libc/sys/sh/crt0.S (start_l): Support sh2a. + 2004-07-29 Jeff Johnston <jjohnstn@redhat.com> * 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 f09a48127..fd54e5000 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 99a1866a1..db30b149b 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 e9f8dde94..f9473ae44 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: |