aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/arm/clone.S
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-01-21 09:46:49 +0000
committerUlrich Drepper <drepper@redhat.com>1999-01-21 09:46:49 +0000
commit1d28e93cabf235de32a594d7b770551a34be0e75 (patch)
tree1f7e3b747ca5b436a177515d10bc5fbc17b54486 /sysdeps/unix/sysv/linux/arm/clone.S
parentdc88639c994305f50e76a0359103a8c89667fb51 (diff)
downloadglibc-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.S13
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)