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:
authorJeff Johnston <jjohnstn@redhat.com>2004-03-12 00:18:31 +0300
committerJeff Johnston <jjohnstn@redhat.com>2004-03-12 00:18:31 +0300
commit2c4ef10a55620db807d6138acaac028f61d0e383 (patch)
tree573eb0de9c551b3e9aad70611b2f67f8830704c9 /newlib/libc/sys
parent967641f2aaeeb8c5242b8ba485d41a171669225c (diff)
2004-03-11 Kazu Hirata <kazu@cs.umass.edu>
* libc/sys/h8300hms/Makefile.am (lib_a_SOURCES): Replace _exit.c with _exit.S. * libc/sys/h8300hms/Makefile.in: Regenerate. * libc/sys/h8300hms/_exit.c: Remove. * libc/sys/h8300hms/_exit.S: New.
Diffstat (limited to 'newlib/libc/sys')
-rw-r--r--newlib/libc/sys/h8300hms/Makefile.am2
-rw-r--r--newlib/libc/sys/h8300hms/Makefile.in2
-rw-r--r--newlib/libc/sys/h8300hms/_exit.S17
-rw-r--r--newlib/libc/sys/h8300hms/_exit.c35
4 files changed, 19 insertions, 37 deletions
diff --git a/newlib/libc/sys/h8300hms/Makefile.am b/newlib/libc/sys/h8300hms/Makefile.am
index b4b8823b7..4f47672fa 100644
--- a/newlib/libc/sys/h8300hms/Makefile.am
+++ b/newlib/libc/sys/h8300hms/Makefile.am
@@ -6,7 +6,7 @@ INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
noinst_LIBRARIES = lib.a
-lib_a_SOURCES = syscalls.c _exit.c sbrk.c misc.c crt1.c \
+lib_a_SOURCES = syscalls.c _exit.S sbrk.c misc.c crt1.c \
close.S fstat.S lseek.S open.S read.S stat.S write.S
all: crt0.o
diff --git a/newlib/libc/sys/h8300hms/Makefile.in b/newlib/libc/sys/h8300hms/Makefile.in
index a4108eb29..b18e64ea1 100644
--- a/newlib/libc/sys/h8300hms/Makefile.in
+++ b/newlib/libc/sys/h8300hms/Makefile.in
@@ -89,7 +89,7 @@ INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
noinst_LIBRARIES = lib.a
-lib_a_SOURCES = syscalls.c _exit.c sbrk.c misc.c crt1.c close.S fstat.S lseek.S open.S read.S stat.S write.S
+lib_a_SOURCES = syscalls.c _exit.S sbrk.c misc.c crt1.c close.S fstat.S lseek.S open.S read.S stat.S write.S
ACLOCAL_AMFLAGS = -I ../../..
diff --git a/newlib/libc/sys/h8300hms/_exit.S b/newlib/libc/sys/h8300hms/_exit.S
new file mode 100644
index 000000000..7fac3d344
--- /dev/null
+++ b/newlib/libc/sys/h8300hms/_exit.S
@@ -0,0 +1,17 @@
+#include "setarch.h"
+
+/* `sleep' is passed an argument in r0 that indicates the reason
+ the program is exiting. The format of r0 is defined in
+ devo/include/wait.h. */
+
+/* extern void _exit (int rc); */
+
+ .section .text
+ .align 2
+ .global __exit
+__exit:
+ mov.w #0xdead,r1
+ mov.w #0xbeef,r2
+ mov.b r0l,r0h
+ sub.b r0l,r0l
+ sleep
diff --git a/newlib/libc/sys/h8300hms/_exit.c b/newlib/libc/sys/h8300hms/_exit.c
deleted file mode 100644
index 701cd8e4a..000000000
--- a/newlib/libc/sys/h8300hms/_exit.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* FIXME: which one? */
-
-#include <_ansi.h>
-
-/* `sleep' is passed an argument in r0 that indicates the reason
- the program is exiting. The format of r0 is defined in devo/include/wait.h.
-*/
-
-void
-_DEFUN (_exit,(rc),
- int rc)
-{
- short rc2;
-
- rc2 = 0xdead;
- asm("mov.w %0,r1" : : "r" (rc2) : "r1");
- rc2 = 0xbeef;
- asm("mov.w %0,r2" : : "r" (rc2) : "r2");
- rc2 = rc << 8;
- asm("mov.w %0,r0\n\tsleep" : : "r" (rc2) : "r0");
-}
-
-void
-_DEFUN (__exit,(rc),
- int rc)
-{
- short rc2;
-
- rc2 = 0xdead;
- asm("mov.w %0,r1" : : "r" (rc2) : "r1");
- rc2 = 0xbeef;
- asm("mov.w %0,r2" : : "r" (rc2) : "r2");
- rc2 = rc << 8;
- asm("mov.w %0,r0\n\tsleep" : : "r" (rc2) : "r0");
-}