aboutsummaryrefslogtreecommitdiff
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 14f244e..5ccedff 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)