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>
* libc/time/strptime.c: Correct full-name of "March" typo.

View File

@ -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

View File

@ -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

View File

@ -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: