diff options
author | Ulrich Drepper <drepper@redhat.com> | 1999-01-21 09:46:49 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1999-01-21 09:46:49 +0000 |
commit | 1d28e93cabf235de32a594d7b770551a34be0e75 (patch) | |
tree | 1f7e3b747ca5b436a177515d10bc5fbc17b54486 /sysdeps/unix/sysv/linux/arm/clone.S | |
parent | dc88639c994305f50e76a0359103a8c89667fb51 (diff) | |
download | glibc-1d28e93cabf235de32a594d7b770551a34be0e75.tar glibc-1d28e93cabf235de32a594d7b770551a34be0e75.tar.gz glibc-1d28e93cabf235de32a594d7b770551a34be0e75.tar.bz2 glibc-1d28e93cabf235de32a594d7b770551a34be0e75.zip |
Update.
1999-01-20 Philip Blundell <pb@nexus.co.uk>
* sysdeps/unix/sysv/linux/arm/sigaction.c: New file.
* sysdeps/unix/sysv/linux/arm/vfork.S: New file.
* sysdeps/unix/sysv/linux/arm/Dist: Add vfork.S.
* sysdeps/unix/sysv/linux/arm/clone.S: Optimise a little, support
26-bit machines correctly and fix check for returned errors.
Diffstat (limited to 'sysdeps/unix/sysv/linux/arm/clone.S')
-rw-r--r-- | sysdeps/unix/sysv/linux/arm/clone.S | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/sysdeps/unix/sysv/linux/arm/clone.S b/sysdeps/unix/sysv/linux/arm/clone.S index 728d62f3e3..46359e8362 100644 --- a/sysdeps/unix/sysv/linux/arm/clone.S +++ b/sysdeps/unix/sysv/linux/arm/clone.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Pat Beirne <patb@corelcomputer.com> @@ -45,20 +45,17 @@ ENTRY(__clone) mov r0, r2 @ new sp is already in r1 swi SYS_ify(clone) - cmp r0, #0 - blt PLTJMP(syscall_error) - beq thread_start - @ else, thread was launched... - mov pc, lr + cmn a1, $4096 + bhs PLTJMP(C_SYMBOL_NAME(__syscall_error)) + RETINSTR(movne,pc,lr) -thread_start: @ pick the function arg and call address off the stack and execute ldr r0, [sp, #4] mov lr, pc ldr pc, [sp] @ and we are done, passing the return value through r0 - bl PLTJMP(_exit) + b PLTJMP(_exit) PSEUDO_END (__clone) |