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.
This commit is contained in:
Jeff Johnston 2004-03-11 21:18:31 +00:00
parent 967641f2aa
commit 2c4ef10a55
5 changed files with 27 additions and 37 deletions

View File

@ -1,3 +1,11 @@
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.
2004-03-09 Thomas Pfaff <tpfaff@gmx.net>
* libc/stdio/findfp.c (__sfp): Rename lock to __sfp_lock.

View File

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

View File

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

View File

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

View File

@ -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");
}