# Android NDK r10e

Platform Package Size (Bytes) MD5 Checksum
Windows 32-bit android-ndk-r10e-windows-x86.exe 396563176 1a82445baaf62aec3a46386ab1e5772c
Windows 64-bit android-ndk-r10e-windows-x86_64.exe 419616132 8412bb4991a95e08fda50b5a44d95df7
Mac OS X 64-bit android-ndk-r10e-darwin-x86_64.bin 388937326 2cb8893a5701603519d38a7e04c50e81
Linux 32-bit (x86) android-ndk-r10e-linux-x86.bin 394281908 c3edd3273029da1cbd2f62c48249e978
Linux 64-bit (x86) android-ndk-r10e-linux-x86_64.bin 401522849 19af543b068bdb7f27787c2bc69aba7f

## Revisions

The following sections provide information about releases of the NDK.

Android NDK, Revision 10e (May 2015)

Important changes:
• Integrated the workaround for Cortex-A53 Erratum 843419 into the aarch64-linux-android-4.9 linker. For more information on this workaround, see Workaround for cortex-a53 erratum 843419.
• Added Clang 3.6; NDK_TOOLCHAIN_VERSION=clang now picks that version of Clang by default.
• Removed Clang 3.4.
• Removed GCC 4.6.
• Implemented multithreading support in ld.gold for all architectures. It can now link with or without support for multithreading; the default is to do it without.
• To compile with multithreading, use the --threads option.
• To compile without multithreading, use the --no-threads option.
• Upgraded GDB/gdbserver to 7.7 for all architectures.
• Removed the NDK package for 32-bit Darwin.
Important bug fixes:
• Fixed a crash that occurred when there were OpenMP loops outside of the main thread.
• Fixed a GCC 4.9 internal compiler error (ICE) that occured when the user declared #pragma GCC optimize ("O0"), but had a different level of optimization specified on the command line. The pragma takes precedence.
• Fixed an error that used to produce a crash with the following error message:
in add_stores, at var-tracking.c:6000
• Implemented a workaround for a Clang 3.5 issue in which LLVM auto-vectorization generatesllvm.cttz.v2i64(), an instruction with no counterpart in the ARM instruction set.
Other bug fixes:
• Fixed PROPERTY_* in media/NdkMediaDrm.h.
• Fixed sys/ucontext.h for mips64.
• Dropped the Clang version check for __builtin_isnan and __builtin_isinf.
• Added android-21/arch-mips/usr/include/asm/reg.h and android-21/arch-mips64/usr/include/asm/reg.h.
• Fixed a spurious array-bounds warning that GCC 4.9 produced for x86, and reenabled the array bounds warning that GCC 4.9 had produced for ARM. The warning for ARM had previously been unconditionally disabled.
• Fixed Clang 3.5 for mips and mips64 to create a writable .gcc_except_table section, thus matching GCC behavior. This change allows you to avoid the following linker warning:
.../ld: warning: creating a DT_TEXTREL in a shared object
• Backported a fix for compiler-rt issues that were causing crashes when Clang compiled for mips64. For more information, see LLVM Issue 20098.
• Fixed Clang 3.5 crashes that occurred on non-ASCII comments. (Issue 81440)
• Fixed stlport collate::compare to return -1 and 1. Previously, it had returned arbitrary signed numbers.
• Fixed ndk-gdb for 64-bit ABIs. (Issue 118300)
• Fixed the crash that the HelloComputeNDK sample for RenderScript was producing on Android 4.4 (Android API level 19). For more information, see this page.
• Fixed libc++ __wrap_iter for GCC. For more information, see LLVM Issue 22355.
• Fixed .asm support for ABI x86_64.
• Implemented a workaround for the GCC 4.8 stlport issue. (Issue 127773)
• Removed the trailing directory separator \\ from the project path in Windows. (Issue 160584)
• Fixed a no rule to make target error that occurred when compiling a single .c file by executing the ndk-build.cmd command from gradle. (Issue 66937)
• Added the libatomic.a and libgomp.a libraries that had been missing from the following host toolchains:
• aarch64-linux-android-4.9
• mips64el-linux-android-4.9
• mipsel-linux-android-4.9
• x86_64-4.9
Other changes:
• Added ld.gold for aarch64. The default linker remains ld.bfd. To explicitly enable ld.gold, add -fuse-ld=gold to the LOCAL_LDFLAGS or APP_LDFLAGS variable.
• Built the MIPS and MIPS64 toolchains with binutils-2.25, which provides improved R6 support.
• Made -fstandalone-debug (full debug info) a default option for Clang.
• Replaced -fstack-protector with -fstack-protector-strong for the ARM, AArch64, X86, and X86_64 toolchains for GCC 4.9, Clang 3.5, and Clang 3.6.
• Added the --package command-line switch to ndk-gdb to allow the build system to override the package name. (Issue 56189)
• Deprecated -mno-ldc1-stc1 for MIPS. This option may not work with the new -fpxx and -mno-odd-spreg options, or with the FPXX ABI.
• Added MIPS MSA and R6 detection to cpu-features.