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:
parent
967641f2aa
commit
2c4ef10a55
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ../../..
|
||||
|
|
|
@ -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
|
|
@ -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");
|
||||
}
|
Loading…
Reference in New Issue