diff options
author | David 'Digit' Turner <digit@google.com> | 2010-09-27 17:33:08 +0200 |
---|---|---|
committer | David 'Digit' Turner <digit@google.com> | 2010-09-27 17:33:08 +0200 |
commit | 275cd48511daabe4591caa49c3ad0df34a6889ff (patch) | |
tree | 7fa40917d92ff25cbfe6e4f4d4cbe01bd9af588e /libc/arch-sh/syscalls/pipe2.S | |
parent | b9e49ad56e5776ace7c6eab2e997d5b7acb16792 (diff) | |
download | bionic-275cd48511daabe4591caa49c3ad0df34a6889ff.zip bionic-275cd48511daabe4591caa49c3ad0df34a6889ff.tar.gz bionic-275cd48511daabe4591caa49c3ad0df34a6889ff.tar.bz2 |
libc: Add missing pipe2() declaration and implementation.
Change-Id: Iacb914bd6ac5adc60c5671e6fef680ede21f9b0c
Diffstat (limited to 'libc/arch-sh/syscalls/pipe2.S')
-rw-r--r-- | libc/arch-sh/syscalls/pipe2.S | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/libc/arch-sh/syscalls/pipe2.S b/libc/arch-sh/syscalls/pipe2.S new file mode 100644 index 0000000..f6d9964 --- /dev/null +++ b/libc/arch-sh/syscalls/pipe2.S @@ -0,0 +1,32 @@ +/* autogenerated by gensyscalls.py */ +#include <sys/linux-syscalls.h> + + .text + .type pipe2, @function + .globl pipe2 + .align 4 + +pipe2: + + /* invoke trap */ + mov.l 0f, r3 /* trap num */ + trapa #(2 + 0x10) + + /* check return value */ + cmp/pz r0 + bt __NR_pipe2_end + + /* keep error number */ + sts.l pr, @-r15 + mov.l 1f, r1 + jsr @r1 + mov r0, r4 + lds.l @r15+, pr + +__NR_pipe2_end: + rts + nop + + .align 2 +0: .long __NR_pipe2 +1: .long __set_syscall_errno |