Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2004-06-23 01:54:52 +0400
committerAlexandre Oliva <aoliva@redhat.com>2004-06-23 01:54:52 +0400
commit9a6831be867ffae990ecd111abafbffae6ff135c (patch)
tree53b3bc29a8cb9ab426762e50298c4386703e558e /newlib/libc/machine/h8300/setjmp.S
parentc0508da25acd6cdfb19e25eead5906d37743a925 (diff)
2003-07-02 Richard Sandiford <rsandifo@redhat.com>
* libc/machine/h8300/Makefile.am (lib_a_SOURCES): Add h8sx_strcpy.S. * libc/machine/h8300/defines.h (LEN): New macro. * libc/machine/h8300/memcpy.S: Add h8sx version. * libc/machine/h8300/memset.S: Likewise. * libc/machine/h8300/strcmp.S: Likewise. * libc/machine/h8300/setjmp.S: Use h8sx move instructions. * libc/machine/h8300/h8sx_strcpy.S: New file. 2003-06-30 Richard Sandiford <rsandifo@redhat.com> * libc/include/machine/ieeefp.h: Extend __H8300S__ handling to __H8300SX__. * libc/include/machine/setjmp.h: Likewise. * libc/include/sys/config.h: Likewise. * libc/machine/h8300/defines.h: Likewise. * libc/machine/h8300/setjmp.S: Likewise. * libc/machine/h8300/strcmp.S: Likewise. * libc/sys/h8300hms/close.S: Likewise. * libc/sys/h8300hms/fstat.S: Likewise. * libc/sys/h8300hms/lseek.S: Likewise. * libc/sys/h8300hms/read.S: Likewise. * libc/sys/h8300hms/write.S: Likewise. * libc/sys/h8300hms/crt0.S: Likewise. * libc/machine/h8300/setarch.h: Use .h8300sx or .h8300sxn if __H8300SX__ is defined. * libc/sys/h8300hms/setarch.h: Likewise.
Diffstat (limited to 'newlib/libc/machine/h8300/setjmp.S')
-rw-r--r--newlib/libc/machine/h8300/setjmp.S15
1 files changed, 13 insertions, 2 deletions
diff --git a/newlib/libc/machine/h8300/setjmp.S b/newlib/libc/machine/h8300/setjmp.S
index c6661a926..cb79e49b3 100644
--- a/newlib/libc/machine/h8300/setjmp.S
+++ b/newlib/libc/machine/h8300/setjmp.S
@@ -6,7 +6,14 @@
.align 2
.global _setjmp
_setjmp:
-#if defined(__H8300H__) || defined(__H8300S__)
+#if defined(__H8300SX__)
+ mov.l er7,@er0+
+ mov.l er6,@er0+
+ mov.l er5,@er0+
+ mov.l er4,@er0+
+ mov.l @sp,@er0
+ sub.l er0,er0
+#elif defined(__H8300H__) || defined(__H8300S__)
mov.l er7,@er0
mov.l er6,@(4,er0)
mov.l er5,@(8,er0)
@@ -27,13 +34,17 @@ _setjmp:
.global _longjmp
_longjmp:
-#if defined(__H8300H__) || defined (__H8300S__)
+#if defined(__H8300H__) || defined (__H8300S__) || defined (__H8300SX__)
mov.l @er0+,er7
mov.l @er0+,er6
mov.l @er0+,er5
mov.l @er0+,er4
+#if defined(__H8300SX__)
+ mov.l @er0,@sp
+#else
mov.l @er0,er2
mov.l er2,@sp
+#endif
#if (__INT_MAX__ <= 32767)
mov.w r1,r0
#else