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:
		| @@ -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> | 2004-03-09  Thomas Pfaff  <tpfaff@gmx.net> | ||||||
|  |  | ||||||
| 	* libc/stdio/findfp.c (__sfp): Rename lock to __sfp_lock. | 	* 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 | 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 | 	close.S fstat.S lseek.S open.S read.S stat.S write.S | ||||||
|  |  | ||||||
| all: crt0.o | all: crt0.o | ||||||
|   | |||||||
| @@ -89,7 +89,7 @@ INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) | |||||||
|  |  | ||||||
| noinst_LIBRARIES = lib.a | 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 ../../.. | ACLOCAL_AMFLAGS = -I ../../.. | ||||||
|   | |||||||
							
								
								
									
										17
									
								
								newlib/libc/sys/h8300hms/_exit.S
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								newlib/libc/sys/h8300hms/_exit.S
									
									
									
									
									
										Normal 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 | ||||||
| @@ -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"); |  | ||||||
| } |  | ||||||
		Reference in New Issue
	
	Block a user