diff options
| author | austinf <austinf@localhost> | 2009-03-19 07:29:30 +0000 | 
|---|---|---|
| committer | austinf <austinf@localhost> | 2009-03-19 07:29:30 +0000 | 
| commit | 2ea44632aac286a927069a1fb1f979db23c0b3c4 (patch) | |
| tree | 405585f334c03e95c106924c03ed4642f80874a0 /libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/pt-vfork.S | |
| parent | d38a60ef0325122761dea450cc163ac036d896e7 (diff) | |
| download | uClibc-alpine-2ea44632aac286a927069a1fb1f979db23c0b3c4.tar.bz2 uClibc-alpine-2ea44632aac286a927069a1fb1f979db23c0b3c4.tar.xz | |
sparc32 nptl functional
 * pulled updated asm and headers from glibc for sparc32 
 * probably no cancellation support yet
 * no shared TLS relocs yet, since ldso is hosed on sparc still
 
 note: didn't use TARGET_SUBARCH method of includes since that would cause 
 other parts of libc to fail currently. Will need to be fixed later.
Diffstat (limited to 'libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/pt-vfork.S')
| -rw-r--r-- | libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/pt-vfork.S | 13 | 
1 files changed, 8 insertions, 5 deletions
| diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/pt-vfork.S b/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/pt-vfork.S index 55229c9e6..fb01242b5 100644 --- a/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/pt-vfork.S +++ b/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/pt-vfork.S @@ -21,6 +21,7 @@  #include <tcb-offsets.h>  	.text +	.globl		__syscall_error  ENTRY(__vfork)  	ld	[%g7 + PID], %o5  	sub	%g0, %o5, %o4 @@ -28,15 +29,17 @@ ENTRY(__vfork)  	LOADSYSCALL(vfork)  	ta	0x10 -	bcs,a	__syscall_error_handler -	 st	%o5, [%g7 + PID] -	SYSCALL_ERROR_HANDLER -	sub	%o1, 1, %o1 +	bcc	2f +	 mov	%o7, %g1 +	st	%o5, [%g7 + PID] +	call	__syscall_error +	 mov	%g1, %o7 +2:	sub	%o1, 1, %o1  	andcc	%o0, %o1, %o0  	bne,a	1f  	 st	%o5, [%g7 + PID]  1:	retl  	 nop +END(__vfork) -PSEUDO_END (__vfork)  weak_alias (__vfork, vfork) | 
