about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/mips/clone.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/mips/clone.S')
-rw-r--r--sysdeps/unix/sysv/linux/mips/clone.S7
1 files changed, 4 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/linux/mips/clone.S b/sysdeps/unix/sysv/linux/mips/clone.S
index 1bb5c29d3c..0398ba348e 100644
--- a/sysdeps/unix/sysv/linux/mips/clone.S
+++ b/sysdeps/unix/sysv/linux/mips/clone.S
@@ -86,12 +86,13 @@ error:
 
    At this point we have s0=arg, s1=fn.  */
 
-NESTED(__thread_start,FRAMESZ,sp)
+ENTRY(__thread_start)
 	/* cp is already loaded.  */
+	.cprestore	16
 	/* The stackframe has been created on entry of clone().  */
 	/* Resort the arg for user's function.  */
-	move		a0,0(sp)	/* Function pointer.  */
-	move		t9,4(sp)	/* Argument pointer.  */
+	lw		t9,0(sp)	/* Function pointer.  */
+	lw		a0,4(sp)	/* Argument pointer.  */
 
 	/* Call the user's function.  */
 	jalr		t9