Merge "Revert "Add C linkage for __open_2 and __openat_2.""
diff --git a/libc/arch-aarch64/bionic/futex_aarch64.S b/libc/arch-aarch64/bionic/futex_aarch64.S
index c25d2dd..bf7959b 100644
--- a/libc/arch-aarch64/bionic/futex_aarch64.S
+++ b/libc/arch-aarch64/bionic/futex_aarch64.S
@@ -26,9 +26,7 @@
* SUCH DAMAGE.
*/
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
+#include <private/bionic_asm.h>
#define FUTEX_WAIT 0
#define FUTEX_WAKE 1
diff --git a/libc/arch-aarch64/bionic/syscall.S b/libc/arch-aarch64/bionic/syscall.S
index f7ce010..863e369 100644
--- a/libc/arch-aarch64/bionic/syscall.S
+++ b/libc/arch-aarch64/bionic/syscall.S
@@ -26,8 +26,7 @@
* SUCH DAMAGE.
*/
-#include <linux/err.h>
-#include <machine/asm.h>
+#include <private/bionic_asm.h>
ENTRY(syscall)
/* create AAPCS frame pointer */
diff --git a/libc/arch-aarch64/bionic/vfork.S b/libc/arch-aarch64/bionic/vfork.S
index 964f38d..7235283 100644
--- a/libc/arch-aarch64/bionic/vfork.S
+++ b/libc/arch-aarch64/bionic/vfork.S
@@ -26,9 +26,7 @@
* SUCH DAMAGE.
*/
-#include <asm/unistd.h>
-#include <linux/err.h>
-#include <machine/asm.h>
+#include <private/bionic_asm.h>
ENTRY(vfork)
mov x0, #0x4111 /* CLONE_VM | CLONE_VFORK | SIGCHLD */
diff --git a/libc/private/bionic_atomic_aarch64.h b/libc/private/bionic_atomic_aarch64.h
index c5a9e2e..568382e 100644
--- a/libc/private/bionic_atomic_aarch64.h
+++ b/libc/private/bionic_atomic_aarch64.h
@@ -17,7 +17,7 @@
#define BIONIC_ATOMIC_AARCH64_H
/* For ARMv8, we can use the 'dmb' instruction directly */
-__ATOMIC_INLINE__ void __bionic_memory_barrier(void) {
+__ATOMIC_INLINE__ void __bionic_memory_barrier() {
__asm__ __volatile__ ( "dmb ish" : : : "memory" );
}
diff --git a/libc/private/bionic_atomic_arm.h b/libc/private/bionic_atomic_arm.h
index 023d662..2156e6a 100644
--- a/libc/private/bionic_atomic_arm.h
+++ b/libc/private/bionic_atomic_arm.h
@@ -16,9 +16,9 @@
#ifndef BIONIC_ATOMIC_ARM_H
#define BIONIC_ATOMIC_ARM_H
-__ATOMIC_INLINE__ void __bionic_memory_barrier(void) {
+__ATOMIC_INLINE__ void __bionic_memory_barrier() {
#if defined(ANDROID_SMP) && ANDROID_SMP == 1
- __asm__ __volatile__ ( "dmb" : : : "memory" );
+ __asm__ __volatile__ ( "dmb ish" : : : "memory" );
#else
/* A simple compiler barrier. */
__asm__ __volatile__ ( "" : : : "memory" );
diff --git a/libc/private/bionic_atomic_gcc_builtin.h b/libc/private/bionic_atomic_gcc_builtin.h
index 9e5e5aa..70eb861 100644
--- a/libc/private/bionic_atomic_gcc_builtin.h
+++ b/libc/private/bionic_atomic_gcc_builtin.h
@@ -25,7 +25,7 @@
* the architecture-specific assembler versions.
*/
-__ATOMIC_INLINE__ void __bionic_memory_barrier(void) {
+__ATOMIC_INLINE__ void __bionic_memory_barrier() {
__sync_synchronize();
}
diff --git a/libc/private/bionic_atomic_inline.h b/libc/private/bionic_atomic_inline.h
index 2bb1128..c887e5a 100644
--- a/libc/private/bionic_atomic_inline.h
+++ b/libc/private/bionic_atomic_inline.h
@@ -25,7 +25,7 @@
*
* Macros defined in this header:
*
- * void ANDROID_MEMBAR_FULL(void)
+ * void ANDROID_MEMBAR_FULL()
* Full memory barrier. Provides a compiler reordering barrier, and
* on SMP systems emits an appropriate instruction.
*/
diff --git a/libm/Android.mk b/libm/Android.mk
index abe0722..1c3d393 100644
--- a/libm/Android.mk
+++ b/libm/Android.mk
@@ -177,7 +177,9 @@
upstream-freebsd/lib/msun/src/w_drem.c \
upstream-freebsd/lib/msun/src/w_dremf.c \
-libm_common_src_files += fake_long_double.c
+libm_common_src_files += \
+ fake_long_double.c \
+ upstream-freebsd/lib/msun/src/s_modfl.c \
# TODO: on Android, "long double" is "double".
# upstream-freebsd/lib/msun/src/e_acosl.c \
@@ -204,7 +206,6 @@
# upstream-freebsd/lib/msun/src/s_logbl.c \
# upstream-freebsd/lib/msun/src/s_lrintl.c \
# upstream-freebsd/lib/msun/src/s_lroundl.c \
-# upstream-freebsd/lib/msun/src/s_modfl.c \
# upstream-freebsd/lib/msun/src/s_nextafterl.c \
# upstream-freebsd/lib/msun/src/s_nexttoward.c \
# upstream-freebsd/lib/msun/src/s_remquol.c \
diff --git a/libm/fake_long_double.c b/libm/fake_long_double.c
index 2a3e420..751911a 100644
--- a/libm/fake_long_double.c
+++ b/libm/fake_long_double.c
@@ -72,7 +72,6 @@
long lrintl(long double a1) { return lrint(a1); }
long long llroundl(long double a1) { return llround(a1); }
long lroundl(long double a1) { return lround(a1); }
-long double modfl(long double a1, long double* a2) { return modf(a1, (double*) a2); }
long double nanl(const char* a1) { return nan(a1); }
long double nextafterl(long double a1, long double a2) { return nextafter(a1, a2); }
long double powl(long double a1, long double a2) { return pow(a1, a2); }