Merge "Add __EXPORTED_HEADERS__ as predefined macro."
diff --git a/libc/arch-mips/bionic/pipe.S b/libc/arch-mips/bionic/pipe.S
deleted file mode 100644
index 0baf246..0000000
--- 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 <asm/unistd.h>
-
- .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 3f7094e..5b7d8ee 100644
--- a/libc/arch-mips/mips.mk
+++ b/libc/arch-mips/mips.mk
@@ -10,7 +10,6 @@
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 \
diff --git a/libc/include/sys/epoll.h b/libc/include/sys/epoll.h
index 625f4c2..1e207d8 100644
--- a/libc/include/sys/epoll.h
+++ b/libc/include/sys/epoll.h
@@ -25,10 +25,12 @@
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
+
#ifndef _SYS_EPOLL_H_
#define _SYS_EPOLL_H_
#include <sys/cdefs.h>
+#include <sys/types.h>
#include <asm/fcntl.h> /* For O_CLOEXEC. */
__BEGIN_DECLS
diff --git a/libc/include/sys/inotify.h b/libc/include/sys/inotify.h
index a88cdee..dcdd29a 100644
--- a/libc/include/sys/inotify.h
+++ b/libc/include/sys/inotify.h
@@ -25,10 +25,12 @@
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
+
#ifndef _SYS_INOTIFY_H_
#define _SYS_INOTIFY_H_
#include <sys/cdefs.h>
+#include <sys/types.h>
#include <stdint.h>
#include <linux/inotify.h>
#include <asm/fcntl.h> /* For O_CLOEXEC and O_NONBLOCK. */
diff --git a/linker/linker.cpp b/linker/linker.cpp
index 4f05c7a..c6264a3 100755
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -1688,8 +1688,10 @@
* phdr_table_protect_segments() after all of them are applied
* and all constructors are run.
*/
+#if !defined(ANDROID_X86_LINKER) // The platform itself has too many text relocations on x86.
DL_WARN("%s has text relocations. This is wasting memory and prevents "
"security hardening. Please fix.", si->name);
+#endif
if (phdr_table_unprotect_segments(si->phdr, si->phnum, si->load_bias) < 0) {
DL_ERR("can't unprotect loadable segments for \"%s\": %s",
si->name, strerror(errno));