about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S')
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S16
1 files changed, 6 insertions, 10 deletions
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S b/sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S
index 14f244e628..5ccedff21a 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S
@@ -19,22 +19,18 @@
 
 #include <sysdep.h>
 
-	.text
-
-	.globl	__syscall_error
-ENTRY(__libc_pipe)
+ENTRY (__libc_pipe)
 	mov	%o0, %o2		/* Save PIPEDES. */
 	LOADSYSCALL(pipe)
 	ta	0x6d
-	bcc,pt	%xcc, 1f
-	 mov	%o7, %g1
-	call	__syscall_error
-	 mov	%g1, %o7
-1:	st	%o0, [%o2]		/* PIPEDES[0] = %o0; */
+	bcs,pn	%xcc, __syscall_error_handler
+	 nop
+	st	%o0, [%o2]		/* PIPEDES[0] = %o0; */
 	st	%o1, [%o2 + 4]		/* PIPEDES[1] = %o1; */
 	retl
 	 clr	%o0
-END(__libc_pipe)
+	SYSCALL_ERROR_HANDLER
+PSEUDO_END (__libc_pipe)
 
 weak_alias (__libc_pipe, __pipe)
 libc_hidden_def (__pipe)