about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/sh/clone.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/sh/clone.S')
-rw-r--r--sysdeps/unix/sysv/linux/sh/clone.S8
1 files changed, 6 insertions, 2 deletions
diff --git a/sysdeps/unix/sysv/linux/sh/clone.S b/sysdeps/unix/sysv/linux/sh/clone.S
index a6ddcc5336..713b0f9c3b 100644
--- a/sysdeps/unix/sysv/linux/sh/clone.S
+++ b/sysdeps/unix/sysv/linux/sh/clone.S
@@ -23,7 +23,8 @@
 #define _ERRNO_H	1
 #include <bits/errno.h>
 
-/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg); */
+/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg,
+	     pid_t *ptid, void *tls, pid_t *ctid); */
 
         .text
 ENTRY(__clone)
@@ -43,8 +44,11 @@ ENTRY(__clone)
 
 	/* do the system call */
 	mov	r6, r4
+	mov.l	@r15, r6
+	mov.l	@(8,r15), r7
+	mov.l	@(4,r15), r0
 	mov	#+SYS_ify(clone), r3
-	trapa	#0x12
+	trapa	#0x15
 	mov     r0, r1
 	mov	#-12, r2
 	shad	r2, r1