diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S')
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S | 16 |
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) |