about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/sparc/sparc32/clone.S')
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/clone.S8
1 files changed, 5 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S b/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S
index 1e099cc97d..a64d8e519b 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S
@@ -41,9 +41,9 @@ ENTRY (__clone)
 
 	/* sanity check arguments */
 	orcc	%i0,%g0,%g2
-	be	.Lerror
+	be	.Leinval
 	 orcc	%i1,%g0,%o1
-	be	.Lerror
+	be	.Leinval
 	 mov	%i2,%o0
 
 	/* The child_stack is the top of the stack, allocate one
@@ -70,9 +70,11 @@ ENTRY (__clone)
 	jmpl	%i7 + 8, %g0
 	 restore %o0,%g0,%o0
 
+.Leinval:
+	mov	EINVAL, %o0
 .Lerror:
 	call	HIDDEN_JUMPTARGET(__errno_location)
-	 or	%g0,EINVAL,%i0
+	 mov	%o0, %i0
 	st	%i0,[%o0]
 	jmpl	%i7 + 8, %g0
 	 restore %g0,-1,%o0