This page provides information on previous releases of the NDK, enumerating the changes that
took place in each new version.
+
+
+
+
Android NDK, Revision 11 (March 2016)
+
+
+
+ - Clang
+ -
+
+ - Important announcements
+
+ - We strongly recommend switching to Clang.
+
+ - If you experience problems with Clang, file bugs
+ here for issues
+ specific to Clang in the NDK. For more general Clang issues,
+ file bugs by following the instructions on
+ this page.
+
+
+ - Clang has been updated to 3.8svn (r243773, build 2481030).
+
+ - This version is a nearly pure upstream Clang.
+ - The Windows 64-bit downloadable NDK package contains a 32-bit
+ version of Clang.
+
+
+
+
+
+ - Additions
+
+ - Clang now provides support for emulated TLS.
+
+ - The compiler now supports {@code __thread} by emulating
+ ELF TLS with pthread thread-specific data.
+ - C++11 {@code thread_local} works in some cases, but not
+ for data with non-trivial destructors, because those cases
+ require support from libc. This limitation does not
+ apply when running on Android 6.0 (API level 23) or newer.
+ - Emulated TLS does not yet work with Aarch64 when
+ TLS variables are accessed from a shared library.
+
+
+
+
+
+
+
+ - GCC
+ -
+
+ - Important announcements
+
+ - GCC in the NDK is now deprecated in favor of Clang.
+
+ - The NDK will neither be upgrading to 5.x, nor accept
+ non-critical backports.
+ - Maintenance for miscompiles and internal compiler errors
+ in 4.9 will be handled on a case by case basis.
+
+
+
+ - Removals
+
+ - Removed GCC 4.8. All targets now use GCC 4.9.
+
+
+ - Other changes
+
+ - Synchronized google/gcc-4_9 to r224707. Previously, it had been
+ synchronized with r214835.
+
+
+
+
+
+
+ - NDK
+ -
+
+ - Important announcements
+
+ - The samples are no longer included in the NDK package.
+ They are instead available on
+ GitHub.
+
+ - The documentation is no longer included in the NDK package.
+ Instead, it is on the Android
+ developer website.
+
+
+
+ - Additions
+
+ - Added a native tracing API to {@code android-23}.
+ - Added a native multinetwork API to {@code android-23}.
+ - Enabled libc, m, and dl to provide versioned symbols, starting
+ from API level 21.
+ - Added Vulkan headers and library to API level N.
+
+
+
+ - Removals
+
+ - Removed support for {@code _WCHAR_IS_8BIT}.
+ - Removed sed.
+ - Removed mclinker.
+ - Removed Perl.
+ - Removed from all versions of NDK libc, m, and dl all symbols which
+ the platform versions of those libs do not support.
+ - Partially removed support for mips64r2. The rest will be removed
+ in the future.
+
+
+
+ - Other changes
+
+ - Changed ARM standalone toolchains to default to arm7.
+
+ - You can restore the old behavior by passing specifying the
+ {@code -target} option as {@code armv5te-linux-androideabi}.
+
+
+
+ - Changed the build system to use {@code -isystem} for platform
+ includes.
+
+ - Warnings that bionic causes no longer break app builds.
+
+
+ - Fixed a segfault that occurred when a binary threw exceptions
+ via gabi++. (Issue 179410)
+
+ - Changed libc++’s inline namespace to {@code std::__ndk1}
+ to prevent ODR issues with platform libc++.
+
+ - All libc++ libraries are now built with libc++abi.
+
- Bumped default {@code APP_PLATFORM} to Gingerbread.
+
+ - Expect support for Froyo and older to be dropped in a
+ future release.
+
+ - Updated gabi++ {@code _Unwind_Exception} struct for 64 bits.
+
- Added the following capabilities to cpufeatures:
+
+ - Detect SSE4.1 and SSE4.2.
+ - Detect cpu features on x86_64.
+
+
+ - Updated libc++abi to upstream
+
+ r231075.
+
- Updated {@code byteswap.h}, {@code endian.h}, {@code sys/procfs.h},
+ {@code sys/ucontext.h}, {@code sys/user.h}, and {@code uchar.h} from
+ ToT Bionic.
+
- Synchronized {@code sys/cdefs.h} across all API levels.
+
+
- Fixed {@code fegetenv and fesetenv} for arm.
+
- Fix end pointer size/alignment of {@code crtend_*} for mips64
+ and x86_64.
+
+
+
+
+
+
+
+ - Binutils
+ -
+
+ - Additions
+
+ - Added a new option: {@code --pic-veneer}.
+
+
+
+ - Removals
+
+ - The 32-bit Windows package no longer contains ld.gold.
+ You can instead get ld.gold from the 64-bit Windows package.
+
+
+
+ - Changes
+
+ - Unified binutils source between Android and ChromiumOS.
+ For more information on this change, see the comments
+
+ here.
+ - Improved reliability of Gold for aarch64. Use
+ {@code -fuse-ld=gold} at link time to use gold instead of bfd.
+ The default will likely switch in the next release.
+ - Improved linking time for huge binaries for Gold ARM back end
+ (up to 50% linking time reduction for debuggable Chrome Browser).
+
+
+
+
+
+
+
+ - GDB
+ -
+
+
+ - Removals
+
+ - Removed ndk-gdb in favor of ndk-gdb.py.
+
+
+
+ - Changes
+
+ - Updated gdb to version 7.10.
+ - Improved performance.
+ - Improved error messages.
+ - Fixed relative project paths.
+ - Stopped Ctrl-C from killing the backgrounded gdbserver.
+ - Improved Windows support.
+
+
+
+
+
+
+
+ - YASM
+ -
+
+
+ - Changes
+
+ - Updated YASM to version 1.3.0.
+
+
+
+
+
+
+
+ - Known issues
+ -
+
+ - x86 ASAN does not currently work. For more information, see the
+ discussion
+ here.
+ - The combination of Clang, x86, stlport_static, and optimization
+ levels higher than {@code -O0} causes test failures with
+ {@code dynamic_cast}. For more information, see the comments
+ here.
+
+ - Exception handling often fails with c++_shared on ARM32. The root
+ cause is incompatibility between the LLVM unwinder that libc++abi uses
+ for ARM32 and libgcc. This behavior is not a regression from r10e.
+
+
+
+
+
+
diff --git a/docs/html/sdk/sdk_vars.cs b/docs/html/sdk/sdk_vars.cs
index 7e17801b414fc..972980dc5caed 100644
--- a/docs/html/sdk/sdk_vars.cs
+++ b/docs/html/sdk/sdk_vars.cs
@@ -39,18 +39,18 @@ set:sdk.win_installer_bytes='151659917' ?>