summaryrefslogtreecommitdiffstats
path: root/libc/arch-mips64
diff options
context:
space:
mode:
authorDan Albert <danalbert@google.com>2014-06-05 18:07:03 -0700
committerDan Albert <danalbert@google.com>2014-06-10 21:38:52 -0700
commit210331d9762037afb9b5ed8413079c6f65872df9 (patch)
tree85e6c875bcd65741da38a7d2b6a47cc24440d8b4 /libc/arch-mips64
parente2a54ca80e011db21665e9639af4608f58e32fbd (diff)
downloadbionic-210331d9762037afb9b5ed8413079c6f65872df9.zip
bionic-210331d9762037afb9b5ed8413079c6f65872df9.tar.gz
bionic-210331d9762037afb9b5ed8413079c6f65872df9.tar.bz2
Replaces vfork() implementation with fork()
vfork() was removed from POSIX 2008, so this replaces its implementation with a call to fork(). Bug: 13935372 Change-Id: I6d99ac9e52a2efc5ee9bda1cab908774b830cedc
Diffstat (limited to 'libc/arch-mips64')
-rw-r--r--libc/arch-mips64/bionic/vfork.S71
-rw-r--r--libc/arch-mips64/mips64.mk1
2 files changed, 0 insertions, 72 deletions
diff --git a/libc/arch-mips64/bionic/vfork.S b/libc/arch-mips64/bionic/vfork.S
deleted file mode 100644
index 911a264..0000000
--- a/libc/arch-mips64/bionic/vfork.S
+++ /dev/null
@@ -1,71 +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.
- */
-
-#include <private/bionic_asm.h>
-#include <linux/sched.h>
-
-// TODO: mips' uapi signal.h is missing #ifndef __ASSEMBLY__.
-// #include <asm/signal.h>
-#define SIGCHLD 18
-
- .text
-
-#if (_MIPS_SIM == _ABIO32) || (_MIPS_SIM == _ABI32)
-FRAMESZ = MKFSIZ(5,0)
-#else
-FRAMESZ = MKFSIZ(0,0)
-#endif
-
-LEAF(vfork,FRAMESZ)
-#if FRAMESZ!=0
- PTR_SUBU sp, FRAMESZ
-#endif
- SETUP_GP64(a5, vfork)
- LI a0, (CLONE_VM | CLONE_VFORK | SIGCHLD)
- move a1, $0
- move a2, $0
- move a3, $0
-#if (_MIPS_SIM == _ABIO32) || (_MIPS_SIM == _ABI32)
- REG_S $0, 4*REGSZ(sp)
-#else
- move a4, $0
-#endif
- LI v0, __NR_clone
- syscall
-#if FRAMESZ!=0
- PTR_ADDU sp,FRAMESZ
-#endif
- move a0, v0
- bnez a3, 1f
- RESTORE_GP64
- j ra
-1:
- LA t9,__set_errno
- RESTORE_GP64
- j t9
- END(vfork)
diff --git a/libc/arch-mips64/mips64.mk b/libc/arch-mips64/mips64.mk
index 2b18042..799eb6d 100644
--- a/libc/arch-mips64/mips64.mk
+++ b/libc/arch-mips64/mips64.mk
@@ -48,7 +48,6 @@ libc_bionic_src_files_mips64 := \
arch-mips64/bionic/setjmp.S \
arch-mips64/bionic/sigsetjmp.S \
arch-mips64/bionic/syscall.S \
- arch-mips64/bionic/vfork.S \
# FIXME TODO
## libc_bionic_src_files_mips64 += arch-mips64/string/memcpy.S