Make it possible to opt in to _FILE_OFFSET_BITS=64

This commit is contained in:
Fredrik Fornwall 2017-07-10 00:02:22 +02:00
parent 4a4d5b68c3
commit 5e29b6bbb4
2 changed files with 14 additions and 12 deletions

View File

@ -446,7 +446,7 @@ termux_step_setup_toolchain() {
TERMUX_STANDALONE_TOOLCHAIN="$TERMUX_TOPDIR/_lib/${TERMUX_NDK_VERSION}-${TERMUX_ARCH}-${TERMUX_PKG_API_LEVEL}"
# Bump the below version if a change is made in toolchain setup to ensure
# that everyone gets an updated toolchain:
TERMUX_STANDALONE_TOOLCHAIN+="-v6"
TERMUX_STANDALONE_TOOLCHAIN+="-v7"
# We put this after system PATH to avoid picking up toolchain stripped python
export PATH=$PATH:$TERMUX_STANDALONE_TOOLCHAIN/bin

View File

@ -1,17 +1,19 @@
diff -u -r /home/fornwall/lib/android-ndk/sysroot/usr/include/sys/cdefs.h ./usr/include/sys/cdefs.h
--- /home/fornwall/lib/android-ndk/sysroot/usr/include/sys/cdefs.h 2017-06-20 17:41:56.000000000 +0200
+++ ./usr/include/sys/cdefs.h 2017-07-07 03:27:59.327850834 +0200
@@ -234,13 +234,6 @@
# define __USE_BSD 1
+++ ./usr/include/sys/cdefs.h 2017-07-09 23:37:26.453911992 +0200
@@ -237,9 +237,15 @@
/* _FILE_OFFSET_BITS 64 support. */
#if !defined(__LP64__) && defined(_FILE_OFFSET_BITS)
#if _FILE_OFFSET_BITS == 64
+#ifdef TERMUX_EXPOSE_FILE_OFFSET64
+/* Using _FILE_OFFSET_BITS=64 does not work very well on Android
+ * and can cause problems when mixing libraries, which is why
+ * Termux hides away this unless TERMUX_EXPOSE_FILE_OFFSET64
+ * is defined. */
#define __USE_FILE_OFFSET64 1
#endif
#endif
+#endif
-/* _FILE_OFFSET_BITS 64 support. */
-#if !defined(__LP64__) && defined(_FILE_OFFSET_BITS)
-#if _FILE_OFFSET_BITS == 64
-#define __USE_FILE_OFFSET64 1
-#endif
-#endif
-
#define __BIONIC__ 1
#include <android/api-level.h>