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.
This commit is contained in:
Alexandre Oliva 2004-07-30 09:03:39 +00:00
parent 8b7083824a
commit 82045f1221
4 changed files with 22 additions and 6 deletions

View File

@ -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> 2004-07-29 Jeff Johnston <jjohnstn@redhat.com>
* libc/time/strptime.c: Correct full-name of "March" typo. * libc/time/strptime.c: Correct full-name of "March" typo.

View File

@ -104,7 +104,7 @@
#else #else
#define __IEEE_BIG_ENDIAN #define __IEEE_BIG_ENDIAN
#endif #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 #define _DOUBLE_IS_32BITS
#endif #endif
#endif #endif

View File

@ -24,7 +24,7 @@
#if (defined (__sh2__) || defined (__SH2E__) || defined (__sh3__) || defined (__SH3E__) \ #if (defined (__sh2__) || defined (__SH2E__) || defined (__sh3__) || defined (__SH3E__) \
|| defined (__SH4_SINGLE__) || defined (__SH4__)) \ || defined (__SH4_SINGLE__) || defined (__SH4__)) \
|| defined (__SH4_SINGLE_ONLY__) || defined (__SH5__) || defined (__SH4_SINGLE_ONLY__) || defined (__SH5__) || defined (__SH2A__)
#define DELAYED_BRANCHES #define DELAYED_BRANCHES
#define SL(branch, dest, in_slot, in_slot_arg2) \ #define SL(branch, dest, in_slot, in_slot_arg2) \
branch##.s dest; in_slot, in_slot_arg2 branch##.s dest; in_slot, in_slot_arg2

View File

@ -79,12 +79,14 @@ start_l:
cmp/ge r0,r1 cmp/ge r0,r1
bt start_l 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 mov.l set_fpscr_k, r1
jsr @r1 jsr @r1
mov #0,r4 mov #0,r4
lds r3,fpscr 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 ! call the mainline
mov.l main_k,r0 mov.l main_k,r0
@ -98,10 +100,12 @@ start_l:
or r0,r0 or r0,r0
.align 2 .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: set_fpscr_k:
.long ___set_fpscr .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: stack_k:
.long _stack .long _stack
edata_k: edata_k: