From b8cf18b4dd3a46f004ac255257e7a87b6e6d8457 Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Wed, 23 Oct 2013 11:21:36 -0700 Subject: [PATCH] MIPS' pipe(2) is weird, but MIPS' pipe2(2) is the same as everyone else's. arch/mips/kernel/syscall.c has a special sysm_pipe wrapper, but there's no special treatment of pipe2 because it carries no historical baggage. Change-Id: I892c0f690b21992c8a48276a9b732126f18fc0ee --- libc/arch-mips/bionic/pipe.S | 60 ------------------------------------ libc/arch-mips/mips.mk | 1 - 2 files changed, 61 deletions(-) delete mode 100644 libc/arch-mips/bionic/pipe.S diff --git a/libc/arch-mips/bionic/pipe.S b/libc/arch-mips/bionic/pipe.S deleted file mode 100644 index 0baf246f3..000000000 --- a/libc/arch-mips/bionic/pipe.S +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -/* - * The MIPS pipe syscall returns results in two registers, which - * we have to copy into the supplied array. This prevents us from - * using an auto-generated stub. - */ - -#include - - .text - -/* int pipe(int[]) */ - - .type pipe,@function - .global pipe - .align 4 - .ent pipe -pipe: - .set noreorder - .cpload $t9 - li $v0,__NR_pipe - syscall /* syscall returns results in v0,v1 */ - bnez $a3, 1f /* check errno */ - nop - sw $v0, 0($a0) - sw $v1, 4($a0) - j $ra - move $v0, $zero -1: - la $t9, __set_errno - j $t9 - move $a0, $v0 /* delay slot, prepare args for __set_errno */ - .end pipe diff --git a/libc/arch-mips/mips.mk b/libc/arch-mips/mips.mk index 3f7094e78..5b7d8ee8e 100644 --- a/libc/arch-mips/mips.mk +++ b/libc/arch-mips/mips.mk @@ -10,7 +10,6 @@ _LIBC_ARCH_COMMON_SRC_FILES := \ arch-mips/bionic/ffs.S \ arch-mips/bionic/memcmp16.S \ arch-mips/bionic/memmove.c \ - arch-mips/bionic/pipe.S \ arch-mips/bionic/setjmp.S \ arch-mips/bionic/sigsetjmp.S \ arch-mips/bionic/vfork.S \