Take ownership of various simple syscall wrappers.
None of these trivial functions is something we're going to get from BSD.
Change-Id: Iee1d1281b73db67da5ec303da7a49748121464bf
diff --git a/libc/Android.mk b/libc/Android.mk
index c9f94a3..35efa5b 100644
--- a/libc/Android.mk
+++ b/libc/Android.mk
@@ -49,7 +49,6 @@
bionic/fts.c \
bionic/getdtablesize.c \
bionic/gethostname.c \
- bionic/getpgrp.c \
bionic/getpriority.c \
bionic/getpt.c \
bionic/if_indextoname.c \
@@ -64,12 +63,9 @@
bionic/ptsname.c \
bionic/ptsname_r.c \
bionic/pututline.c \
- bionic/recv.c \
bionic/sched_cpualloc.c \
bionic/sched_cpucount.c \
bionic/semaphore.c \
- bionic/send.c \
- bionic/setpgrp.c \
bionic/sigblock.c \
bionic/siginterrupt.c \
bionic/sigsetmask.c \
@@ -80,7 +76,6 @@
bionic/tcgetpgrp.c \
bionic/tcsetpgrp.c \
bionic/time64.c \
- bionic/umount.c \
bionic/unlockpt.c \
stdio/asprintf.c \
stdio/findfp.c \
@@ -145,6 +140,7 @@
bionic/futimens.cpp \
bionic/getauxval.cpp \
bionic/getcwd.cpp \
+ bionic/getpgrp.cpp \
bionic/inotify_init.cpp \
bionic/lchown.cpp \
bionic/lfs64_support.cpp \
@@ -186,15 +182,18 @@
bionic/raise.cpp \
bionic/readlink.cpp \
bionic/reboot.cpp \
+ bionic/recv.cpp \
bionic/rename.cpp \
bionic/rmdir.cpp \
bionic/sbrk.cpp \
bionic/scandir.cpp \
bionic/sched_getaffinity.cpp \
bionic/sched_getcpu.cpp \
+ bionic/send.cpp \
bionic/setegid.cpp \
bionic/__set_errno.cpp \
bionic/seteuid.cpp \
+ bionic/setpgrp.cpp \
bionic/setlocale.cpp \
bionic/sigaction.cpp \
bionic/sigaddset.cpp \
@@ -222,6 +221,7 @@
bionic/tdestroy.cpp \
bionic/thread_atexit.cpp \
bionic/tmpfile.cpp \
+ bionic/umount.cpp \
bionic/unlink.cpp \
bionic/utimes.cpp \
bionic/wait.cpp \
diff --git a/libc/bionic/getpgrp.c b/libc/bionic/getpgrp.cpp
similarity index 97%
rename from libc/bionic/getpgrp.c
rename to libc/bionic/getpgrp.cpp
index af7ced5..9bacbb3 100644
--- a/libc/bionic/getpgrp.c
+++ b/libc/bionic/getpgrp.cpp
@@ -25,9 +25,9 @@
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
+
#include <unistd.h>
-pid_t getpgrp(void)
-{
+pid_t getpgrp() {
return getpgid(0);
}
diff --git a/libc/bionic/recv.c b/libc/bionic/recv.c
deleted file mode 100644
index 779d7fa..0000000
--- a/libc/bionic/recv.c
+++ /dev/null
@@ -1,34 +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 <stddef.h>
-#include <sys/socket.h>
-
-ssize_t recv(int socket, void *buf, size_t buflen, unsigned int flags)
-{
- return recvfrom(socket, buf, buflen, flags, NULL, 0);
-}
diff --git a/libc/bionic/getpgrp.c b/libc/bionic/recv.cpp
similarity index 90%
copy from libc/bionic/getpgrp.c
copy to libc/bionic/recv.cpp
index af7ced5..60f264d 100644
--- a/libc/bionic/getpgrp.c
+++ b/libc/bionic/recv.cpp
@@ -25,9 +25,9 @@
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
-#include <unistd.h>
-pid_t getpgrp(void)
-{
- return getpgid(0);
+#include <sys/socket.h>
+
+ssize_t recv(int socket, void *buf, size_t len, int flags) {
+ return recvfrom(socket, buf, len, flags, NULL, 0);
}
diff --git a/libc/bionic/send.c b/libc/bionic/send.c
deleted file mode 100644
index 9978f98..0000000
--- a/libc/bionic/send.c
+++ /dev/null
@@ -1,34 +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 <stddef.h>
-#include <sys/socket.h>
-
-ssize_t send(int socket, const void *buf, size_t buflen, unsigned int flags)
-{
- return (ssize_t) sendto(socket, buf, buflen, flags, NULL, 0);
-}
diff --git a/libc/bionic/getpgrp.c b/libc/bionic/send.cpp
similarity index 90%
copy from libc/bionic/getpgrp.c
copy to libc/bionic/send.cpp
index af7ced5..2e5d457 100644
--- a/libc/bionic/getpgrp.c
+++ b/libc/bionic/send.cpp
@@ -25,9 +25,9 @@
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
-#include <unistd.h>
-pid_t getpgrp(void)
-{
- return getpgid(0);
+#include <sys/socket.h>
+
+ssize_t send(int socket, const void* buf, size_t len, int flags) {
+ return sendto(socket, buf, len, flags, NULL, 0);
}
diff --git a/libc/bionic/setpgrp.c b/libc/bionic/setpgrp.c
deleted file mode 100644
index 6dff822..0000000
--- a/libc/bionic/setpgrp.c
+++ /dev/null
@@ -1,33 +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 <unistd.h>
-
-int setpgrp(void)
-{
- return setpgid(0,0);
-}
diff --git a/libc/bionic/getpgrp.c b/libc/bionic/setpgrp.cpp
similarity index 96%
copy from libc/bionic/getpgrp.c
copy to libc/bionic/setpgrp.cpp
index af7ced5..4334cd1 100644
--- a/libc/bionic/getpgrp.c
+++ b/libc/bionic/setpgrp.cpp
@@ -25,9 +25,9 @@
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
+
#include <unistd.h>
-pid_t getpgrp(void)
-{
- return getpgid(0);
+int setpgrp() {
+ return setpgid(0, 0);
}
diff --git a/libc/bionic/umount.c b/libc/bionic/umount.c
deleted file mode 100644
index 642e42c..0000000
--- a/libc/bionic/umount.c
+++ /dev/null
@@ -1,35 +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 <unistd.h>
-
-extern int umount2(const char*, int);
-
-int umount(const char* dir)
-{
- return umount2(dir, 0);
-}
diff --git a/libc/bionic/getpgrp.c b/libc/bionic/umount.cpp
similarity index 93%
copy from libc/bionic/getpgrp.c
copy to libc/bionic/umount.cpp
index af7ced5..fc80baf 100644
--- a/libc/bionic/getpgrp.c
+++ b/libc/bionic/umount.cpp
@@ -25,9 +25,9 @@
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
-#include <unistd.h>
-pid_t getpgrp(void)
-{
- return getpgid(0);
+#include <sys/mount.h>
+
+int umount(const char* target) {
+ return umount2(target, 0);
}
diff --git a/libc/include/sys/socket.h b/libc/include/sys/socket.h
index db6902a..62a5300 100644
--- a/libc/include/sys/socket.h
+++ b/libc/include/sys/socket.h
@@ -295,37 +295,37 @@
__socketcall int getsockopt(int, int, int, void*, socklen_t*);
__socketcall int listen(int, int);
__socketcall int recvmmsg(int, struct mmsghdr*, unsigned int, int, const struct timespec*);
-__socketcall int recvmsg(int, struct msghdr*, unsigned int);
+__socketcall int recvmsg(int, struct msghdr*, int);
__socketcall int sendmmsg(int, const struct mmsghdr*, unsigned int, int);
-__socketcall int sendmsg(int, const struct msghdr*, unsigned int);
+__socketcall int sendmsg(int, const struct msghdr*, int);
__socketcall int setsockopt(int, int, int, const void*, socklen_t);
__socketcall int shutdown(int, int);
__socketcall int socket(int, int, int);
__socketcall int socketpair(int, int, int, int*);
-extern ssize_t send(int, const void*, size_t, unsigned int);
-extern ssize_t recv(int, void*, size_t, unsigned int);
+extern ssize_t send(int, const void*, size_t, int);
+extern ssize_t recv(int, void*, size_t, int);
__socketcall ssize_t sendto(int, const void*, size_t, int, const struct sockaddr*, socklen_t);
-__socketcall ssize_t recvfrom(int, void*, size_t, unsigned int, const struct sockaddr*, socklen_t*);
+__socketcall ssize_t recvfrom(int, void*, size_t, int, const struct sockaddr*, socklen_t*);
#if defined(__BIONIC_FORTIFY)
__errordecl(__recvfrom_error, "recvfrom called with size bigger than buffer");
-extern ssize_t __recvfrom_chk(int, void*, size_t, size_t, unsigned int, const struct sockaddr*, socklen_t*);
-extern ssize_t __recvfrom_real(int, void*, size_t, unsigned int, const struct sockaddr*, socklen_t*)
+extern ssize_t __recvfrom_chk(int, void*, size_t, size_t, int, const struct sockaddr*, socklen_t*);
+extern ssize_t __recvfrom_real(int, void*, size_t, int, const struct sockaddr*, socklen_t*)
__asm__(__USER_LABEL_PREFIX__ "recvfrom");
__BIONIC_FORTIFY_INLINE
-ssize_t recvfrom(int fd, void* buf, size_t len, unsigned int flags, const struct sockaddr* src_addr, socklen_t* addrlen) {
+ssize_t recvfrom(int fd, void* buf, size_t len, int flags, const struct sockaddr* src_addr, socklen_t* addr_len) {
size_t bos = __bos0(buf);
#if !defined(__clang__)
if (bos == __BIONIC_FORTIFY_UNKNOWN_SIZE) {
- return __recvfrom_real(fd, buf, len, flags, src_addr, addrlen);
+ return __recvfrom_real(fd, buf, len, flags, src_addr, addr_len);
}
if (__builtin_constant_p(len) && (len <= bos)) {
- return __recvfrom_real(fd, buf, len, flags, src_addr, addrlen);
+ return __recvfrom_real(fd, buf, len, flags, src_addr, addr_len);
}
if (__builtin_constant_p(len) && (len > bos)) {
@@ -333,12 +333,12 @@
}
#endif
- return __recvfrom_chk(fd, buf, len, bos, flags, src_addr, addrlen);
+ return __recvfrom_chk(fd, buf, len, bos, flags, src_addr, addr_len);
}
__BIONIC_FORTIFY_INLINE
-ssize_t recv(int socket, void* buf, size_t buflen, unsigned int flags) {
- return recvfrom(socket, buf, buflen, flags, NULL, 0);
+ssize_t recv(int socket, void* buf, size_t len, int flags) {
+ return recvfrom(socket, buf, len, flags, NULL, 0);
}
#endif /* __BIONIC_FORTIFY */