RFA: Add support for sh2e.
J. Johnston
jjohnstn@redhat.com
Thu Jan 23 19:29:00 GMT 2003
Yes, please go ahead.
-- Jeff J.
Nick Clifton wrote:
> Hi Guys,
>
> I am contributing the SH2E port developed by Red Hat. May I apply
> the patch below to the newlib sources please ?
>
> Cheers
> Nick
>
> newlib/ChangeLog
> 2003-01-23 Nick Clifton <nickc@redhat.com>
>
> * Add sh2e support:
>
> 2002-04-02 Alexandre Oliva <aoliva@redhat.com>
>
> * libc/machine/sh/asm.h: Added __SH2E__ next to __SH3E__.
> * libc/machine/sh/setjmp.S: Likewise.
> * libc/include/machine/ieeefp.h: Likewise.
>
> Index: newlib/libc/include/machine/ieeefp.h
> ===================================================================
> RCS file: /cvs/src/src/newlib/libc/include/machine/ieeefp.h,v
> retrieving revision 1.15
> diff -c -3 -p -w -r1.15 ieeefp.h
> *** newlib/libc/include/machine/ieeefp.h 18 Jan 2003 08:55:07 -0000 1.15
> --- newlib/libc/include/machine/ieeefp.h 23 Jan 2003 17:17:11 -0000
> ***************
> *** 94,100 ****
> #else
> #define __IEEE_BIG_ENDIAN
> #endif
> ! #if defined(__SH3E__) || defined(__SH4_SINGLE_ONLY__)
> #define _DOUBLE_IS_32BITS
> #endif
> #endif
> --- 94,100 ----
> #else
> #define __IEEE_BIG_ENDIAN
> #endif
> ! #if defined(__SH2E__) || defined(__SH3E__) || defined(__SH4_SINGLE_ONLY__)
> #define _DOUBLE_IS_32BITS
> #endif
> #endif
>
> Index: newlib/libc/machine/sh/asm.h
> ===================================================================
> RCS file: /cvs/src/src/newlib/libc/machine/sh/asm.h,v
> retrieving revision 1.4
> diff -c -3 -p -w -r1.4 asm.h
> *** newlib/libc/machine/sh/asm.h 7 Jul 2002 00:27:20 -0000 1.4
> --- newlib/libc/machine/sh/asm.h 23 Jan 2003 17:17:11 -0000
> ***************
> *** 22,28 ****
> #define ENTRY(name) \
> _ENTRY(_C_LABEL(name))
>
> ! #if (defined (__sh2__) || defined (__sh3__) || defined (__SH3E__) \
> || defined (__SH4_SINGLE__) || defined (__SH4__)) \
> || defined (__SH4_SINGLE_ONLY__) || defined (__SH5__)
> #define DELAYED_BRANCHES
> --- 22,28 ----
> #define ENTRY(name) \
> _ENTRY(_C_LABEL(name))
>
> ! #if (defined (__sh2__) || defined (__SH2E__) || defined (__sh3__) || defined (__SH3E__) \
> || defined (__SH4_SINGLE__) || defined (__SH4__)) \
> || defined (__SH4_SINGLE_ONLY__) || defined (__SH5__)
> #define DELAYED_BRANCHES
>
> Index: newlib/libc/machine/sh/setjmp.S
> ===================================================================
> RCS file: /cvs/src/src/newlib/libc/machine/sh/setjmp.S,v
> retrieving revision 1.2
> diff -c -3 -p -w -r1.2 setjmp.S
> *** newlib/libc/machine/sh/setjmp.S 8 Feb 2002 07:11:09 -0000 1.2
> --- newlib/libc/machine/sh/setjmp.S 23 Jan 2003 17:17:11 -0000
> *************** ENTRY(setjmp)
> *** 72,78 ****
> movi 0, r2
> blink tr0, r63
> #else
> ! #if defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__)
> add #(13*4),r4
> #else
> add #(9*4),r4
> --- 72,78 ----
> movi 0, r2
> blink tr0, r63
> #else
> ! #if defined (__SH2E__) || defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__)
> add #(13*4),r4
> #else
> add #(9*4),r4
> *************** ENTRY(setjmp)
> *** 80,86 ****
>
> sts.l pr,@-r4
>
> ! #if defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__)
> fmov.s fr15,@-r4 ! call saved floating point registers
> fmov.s fr14,@-r4
> fmov.s fr13,@-r4
> --- 80,86 ----
>
> sts.l pr,@-r4
>
> ! #if defined (__SH2E__) || defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__)
> fmov.s fr15,@-r4 ! call saved floating point registers
> fmov.s fr14,@-r4
> fmov.s fr13,@-r4
> *************** ENTRY(longjmp)
> *** 173,179 ****
> mov.l @r4+,r14
> mov.l @r4+,r15
>
> ! #if defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__)
> fmov.s @r4+,fr12 ! call saved floating point registers
> fmov.s @r4+,fr13
> fmov.s @r4+,fr14
> --- 173,179 ----
> mov.l @r4+,r14
> mov.l @r4+,r15
>
> ! #if defined (__SH2E__) || defined (__SH3E__) || defined(__SH4_SINGLE__) || defined(__SH4__) || defined(__SH4_SINGLE_ONLY__)
> fmov.s @r4+,fr12 ! call saved floating point registers
> fmov.s @r4+,fr13
> fmov.s @r4+,fr14
>
More information about the Newlib
mailing list