From 8229ae46f4fb165a18da4dca1be74c4c099c3ee7 Mon Sep 17 00:00:00 2001
From: Dan Albert <danalbert@google.com>
Date: Fri, 13 Jun 2014 16:04:41 -0700
Subject: [PATCH] Removes wait3(2) from LP64.

wait3(2) was removed from POSIX 2004. Keep the symbol around in LP32 for binary
compatibility, but remove the declaration in sys/wait.h.

Bug: 13935372
Change-Id: Ic715fce6781aae43b4ac6d745dc6d1e6b9914e71
---
 libc/bionic/ndk_cruft.cpp | 5 +++++
 libc/bionic/wait.cpp      | 4 ----
 libc/include/sys/wait.h   | 1 -
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/libc/bionic/ndk_cruft.cpp b/libc/bionic/ndk_cruft.cpp
index 15a320651..4834d6e82 100644
--- a/libc/bionic/ndk_cruft.cpp
+++ b/libc/bionic/ndk_cruft.cpp
@@ -250,4 +250,9 @@ extern "C" int issetugid() {
   return 0;
 }
 
+// This was removed from POSIX 2004.
+extern "C" pid_t wait3(int* status, int options, struct rusage* rusage) {
+  return wait4(-1, status, options, rusage);
+}
+
 #endif
diff --git a/libc/bionic/wait.cpp b/libc/bionic/wait.cpp
index cd75c101c..e5c93aaac 100644
--- a/libc/bionic/wait.cpp
+++ b/libc/bionic/wait.cpp
@@ -35,10 +35,6 @@ pid_t wait(int* status) {
   return wait4(-1, status, 0, NULL);
 }
 
-pid_t wait3(int* status, int options, struct rusage* rusage) {
-  return wait4(-1, status, options, rusage);
-}
-
 pid_t waitpid(pid_t pid, int* status, int options) {
   return wait4(pid, status, options, NULL);
 }
diff --git a/libc/include/sys/wait.h b/libc/include/sys/wait.h
index b30b7ec9e..8d9a5f650 100644
--- a/libc/include/sys/wait.h
+++ b/libc/include/sys/wait.h
@@ -47,7 +47,6 @@ __BEGIN_DECLS
 
 extern pid_t  wait(int *);
 extern pid_t  waitpid(pid_t, int *, int);
-extern pid_t  wait3(int *, int, struct rusage *);
 extern pid_t  wait4(pid_t, int *, int, struct rusage *);
 
 /* Posix states that idtype_t should be an enumeration type, but