diff --git a/docs/html/tools/sdk/ndk/index.jd b/docs/html/tools/sdk/ndk/index.jd
index 74caaf4ede690..318764e2b4da6 100644
--- a/docs/html/tools/sdk/ndk/index.jd
+++ b/docs/html/tools/sdk/ndk/index.jd
@@ -1,29 +1,59 @@
ndk=true
page.template=sdk
-ndk.mac64_download=android-ndk-r8e-darwin-x86_64.tar.bz2
-ndk.mac64_bytes=508419298
-ndk.mac64_checksum=efac96fab20e6ddb1311d6ba5648ce72
+ndk.mac64.legacy_download=android-ndk-r9-darwin-x86_64-legacy-toolchains.tar.bz2
+ndk.mac64.legacy_bytes=271922968
+ndk.mac64.legacy_checksum=251c21defcf90a2f0e8283bab90ed861
-ndk.mac32_download=android-ndk-r8e-darwin-x86.tar.bz2
-ndk.mac32_bytes=496238878
-ndk.mac32_checksum=e17e707464c45c0d5615e4d0ae6a5cf7
+ndk.mac64_download=android-ndk-r9-darwin-x86_64.tar.bz2
+ndk.mac64_bytes=454408117
+ndk.mac64_checksum=ff27c8b9efc8260d9f883dc42d08f651
-ndk.linux64_download=android-ndk-r8e-linux-x86_64.tar.bz2
-ndk.linux64_bytes=466853553
-ndk.linux64_checksum=fa812352956067e7a9eefc0274675e9a
-ndk.linux32_download=android-ndk-r8e-linux-x86.tar.bz2
-ndk.linux32_bytes=461526099
-ndk.linux32_checksum=26d774b0884bcd98de08eb4de41ab532
+ndk.mac32.legacy_download=android-ndk-r9-darwin-x86-legacy-toolchains.tar.bz2
+ndk.mac32.legacy_bytes=264053696
+ndk.mac32.legacy_checksum=9fd7f76a1f1f59386a34b019dcd20976
-ndk.win64_download=android-ndk-r8e-windows-x86_64.zip
-ndk.win64_bytes=461298980
-ndk.win64_checksum=11eb99b3b56fc86d9d231ebff5c41db3
+ndk.mac32_download=android-ndk-r9-darwin-x86.tar.bz2
+ndk.mac32_bytes=446858202
+ndk.mac32_checksum=781da0e6bb5b072512e67b879b56a74c
+
+
+ndk.linux64.legacy_download=android-ndk-r9-linux-x86_64-legacy-toolchains.tar.bz2
+ndk.linux64.legacy_bytes=244427866
+ndk.linux64.legacy_checksum=3976a8237d75526b8a0f275375dd68b5
+
+ndk.linux64_download=android-ndk-r9-linux-x86_64.tar.bz2
+ndk.linux64_bytes=425113267
+ndk.linux64_checksum=0ccfd9960526e61d1527155fa6f84ac0
+
+
+ndk.linux32.legacy_download=android-ndk-r9-linux-x86-legacy-toolchains.tar.bz2
+ndk.linux32.legacy_bytes=241172797
+ndk.linux32.legacy_checksum=957c415de9d7c7ce1c2377ec4d3d60f1
+
+ndk.linux32_download=android-ndk-r9-linux-x86.tar.bz2
+ndk.linux32_bytes=419862465
+ndk.linux32_checksum=beadafdc187461c057d513c40f0ac33b
+
+
+ndk.win64.legacy_download=android-ndk-r9-windows-x86_64-legacy-toolchains.zip
+ndk.win64.legacy_bytes=312340413
+ndk.win64.legacy_checksum=707d1eaa6f5d427ad439c764c8bd68d2
+
+ndk.win64_download=android-ndk-r9-windows-x86_64.zip
+ndk.win64_bytes=514321606
+ndk.win64_checksum=96c725d16ace7fd487bf1bc1427af3a0
+
+
+ndk.win32.legacy_download=android-ndk-r9-windows-x86-legacy-toolchains.zip
+ndk.win32.legacy_bytes=292738221
+ndk.win32.legacy_checksum=ae3756d3773ec068fb653ff6fa411e35
+
+ndk.win32_download=android-ndk-r9-windows-x86.zip
+ndk.win32_bytes=485200055
+ndk.win32_checksum=8895aec43f5141212c8dac6e9f07d5a8
-ndk.win32_download=android-ndk-r8e-windows-x86.zip
-ndk.win32_bytes=434701805
-ndk.win32_checksum=fb41ed2bff5610b14a7b6f085ab86213
page.title=Android NDK
@jd:body
@@ -253,15 +283,295 @@ $('#Downloads').after($('#download-table'));
+
With NDK revision 9 and higher, the release packages have been split to reduce download size.
+ The first download for each platform contains the default NDK toolchain. The second download
+ contains legacy NDK toolchains for that platform, which is only required if you are not using
+ the current, recommended toolchain for your NDK builds.
+
+
+
The sections below provide information and notes about successive releases of
-the NDK, as denoted by revision number.
-
+The following sections provide information about releases of the NDK.
+
+
Android NDK, Revision 9 (July 2013)
+
+
+
+ - Important changes:
+ -
+
+ - Added support for Android 4.3 (API level 18). For more information, see
+ {@code STABLE-APIS.html} and new code examples in {@code samples/gles3jni/README}.
+
- Added headers and libraries for OpenGL ES 3.0, which is supported by Android 4.3
+ (API level 18) and higher.
+ - Added GNU Compiler Collection (GCC) 4.8 compiler to the NDK. Since GCC 4.6 is still
+ the default, you must explicitly enable this option:
+
+ - For {@code ndk-build} builds, export {@code NDK_TOOLCHAIN_VERSION=4.8} or
+ add it in {@code Application.mk}.
+ - For standalone builds, use the {@code --toolchain=} option in
+ {@code make-standalone-toolchain.sh}, for example:
+ {@code --toolchain=arm-linux-androideabi-4.8}
+
+ Note:
+ The {@code -Wunused-local-typedefs} option is enabled by {@code -Wall}. Be
+ sure to add {@code __attribute__((unused))} if you use compile-time asserts like
+ {@code sources/cxx-stl/stlport/stlport/stl/config/features.h}, line #311. For more
+ information, see
+ Change 55460
+ Note:
+ In the GCC 4.7 release and later, ARM compilers generate unaligned access code by
+ default for ARMv6 and higher build targets. You may need to add the
+ {@code -mno-unaligned-access} build option when building for kernels that do not support
+ this feature.
+
+ - Added Clang 3.3 support. The {@code NDK_TOOLCHAIN_VERSION=clang} build option
+ now picks Clang 3.3 by default.
+
Note:
+ Both GCC 4.4.3 and Clang 3.1 are deprecated, and will be removed from the next NDK
+ release.
+ - Updated GNU Project Debugger (GDB) to support python 2.7.5.
+ - Added MCLinker to support Windows hosts. Since {@code ld.gold}
+ is the default where available, you must add {@code -fuse-ld=mcld} in
+ {@code LOCAL_LDFLAGS} or {@code APP_LDFLAGS} to enable MCLinker.
+ - Added {@code ndk-depends} tool which prints ELF library dependencies.
+ For more information, see {@code NDK-DEPENDS.html}.
+ (Issue 53486)
+
+
+
+ - Important bug fixes:
+ -
+
+
+
+ - Other bug fixes:
+ -
+
+
+
+ - Other changes:
+ -
+
+
+
+
+
+
+
+
-
Android NDK, Revision 8e (March 2013)
@@ -283,7 +593,7 @@ the NDK, as denoted by revision number.
build automatically sorts out the order of libraries specified in
{@code LOCAL_STATIC_LIBRARIES}, {@code LOCAL_WHOLE_STATIC_LIBRARIES} and
{@code LOCAL_SHARED_LIBRARIES}. For more information, see {@code CHANGES.HTML}.
- (
Issue 39378)
+ (
Issue 39378)
@@ -295,23 +605,23 @@ the NDK, as denoted by revision number.
Fixed build script which unconditionally builds Clang/llvm for MacOSX in 64-bit.
Fixed GCC 4.6/4.7 internal compiler error:
{@code gen_thumb_movhi_clobber at config/arm/arm.md:5832}.
- (Issue 52732)
+ (
Issue 52732)
Fixed build problem where GCC/ARM 4.6/4.7 fails to link code using 64-bit atomic
built-in functions.
- (Issue 41297)
+ (
Issue 41297)
Fixed GCC 4.7 linker DIV usage mismatch errors.
(Sourceware Issue)
Fixed GCC 4.7 internal compiler error {@code build_data_member_initialization, at
cp/semantics.c:5790}.
Fixed GCC 4.7 internal compiler error {@code redirect_eh_edge_1, at tree-eh.c:2214}.
- (Issue 52909)
+ (
Issue 52909)
Fixed a GCC 4.7 segfault.
(GCC Issue)
Fixed {@code <chrono>} clock resolution and enabled {@code steady_clock}.
- (Issue 39680)
+ (
Issue 39680)
Fixed toolchain to enable {@code _GLIBCXX_HAS_GTHREADS} for GCC 4.7 libstdc++.
- (Issue 41770,
- Issue 41859)
+ (
Issue 41770,
+
Issue 41859)
Fixed problem with the X86 MXX/SSE code failing to link due to missing
{@code posix_memalign}.
(Change 51872)
@@ -321,24 +631,24 @@ the NDK, as denoted by revision number.
Fixed GCC4.7/X86 to restore earlier {@code cmov} behavior.
(GCC Issue)
Fixed handling NULL return value of {@code setlocale()} in libstdc++/GCC4.7.
- (Issue 46718)
+ (Issue 46718)
Fixed {@code ld.gold} runtime undefined reference to {@code __exidx_start} and
{@code __exidx_start_end}.
(Change 52134)
Fixed Clang 3.1 internal compiler error when using Eigen library.
- (Issue 41246)
+ (
Issue 41246)
Fixed Clang 3.1 internal compiler error including {@code <chrono>} in C++11 mode.
- (Issue 39600)
+ (
Issue 39600)
Fixed Clang 3.1 internal compiler error when generating object code for a method
call to a uniform initialized {@code rvalue}.
- (Issue 41387)
+ (
Issue 41387)
Fixed Clang 3.1/X86 stack realignment.
(Change 52154)
Fixed problem with GNU Debugger (GDB) SIGILL when debugging on Android 4.1.2.
- (Issue 40941)
+ (
Issue 40941)
Fixed problem where GDB cannot set {@code source:line} breakpoints when symbols contain
long, indirect file paths.
- (Issue 42448)
+ (
Issue 42448)
Fixed GDB {@code read_program_header} for MIPS PIE executables.
(Change 49592)
Fixed {@code STLport} segmentation fault in {@code uncaught_exception()}.
@@ -346,7 +656,7 @@ the NDK, as denoted by revision number.
Fixed {@code STLport} bus error in exception handling due to unaligned access of
{@code DW_EH_PE_udata2}, {@code DW_EH_PE_udata4}, and {@code DW_EH_PE_udata8}.
Fixed Gabi++ infinite recursion problem with {@code nothrow new[]} operator.
- (Issue 52833)
+ (
Issue 52833)
Fixed Gabi++ wrong offset to exception handler pointer.
(Change 53446)
Removed Gabi++ redundant free on exception object
@@ -365,11 +675,11 @@ the NDK, as denoted by revision number.
Fixed {@code stddef.h} to not redefine {@code offsetof} since it already exists
in the toolchain.
Fixed {@code elf.h} to contain {@code Elf32_auxv_t} and {@code Elf64_auxv_t}.
- (Issue 38441)
+ (Issue 38441)
Fixed the {@code #ifdef} C++ definitions in the
{@code OpenSLES_AndroidConfiguration.h} header file.
- (Issue 53163)
+ (Issue 53163)
@@ -377,7 +687,7 @@ the NDK, as denoted by revision number.
Fixed system and Gabi++ headers to be able to compile with API level 8 and lower.
Fixed {@code cpufeatures} to not parse {@code /proc/self/auxv}.
- (Issue 43055)
+ (
Issue 43055)
Fixed {@code ld.gold} to not depend on host libstdc++ and on Windows platforms,
to not depend on the {@code libgcc_sjlj_1.dll} library.
Fixed Clang 3.1 which emits inconsistent register list in {@code .vsave} and fails
@@ -394,16 +704,16 @@ the NDK, as denoted by revision number.
Fixed X86 {@code libc.so} and {@code lib.a} which were missing the {@code sigsetjmp}
and {@code siglongjmp} functions already declared in {@code setjmp.h}.
- (Issue 19851)
+ (
Issue 19851)
Patched GCC 4.4.3/4.6/4.7 libstdc++ to work with Clang in C++ 11.
(Clang Issue)
Fixed cygwin path in argument passed to {@code HOST_AWK}.
Fixed {@code ndk-build} script warning in windows when running from project's JNI
directory.
- (Issue 40192)
+ (
Issue 40192)
Fixed problem where the {@code ndk-build} script does not build if makefile has
trailing whitespace in the {@code LOCAL_PATH} definition.
- (Issue 42841)
+ (
Issue 42841)
@@ -419,13 +729,13 @@ the NDK, as denoted by revision number.
hidden visibility except for exception handling helpers.
Updated build so that {@code STLport} is built for ARM in Thumb mode.
Added support for {@code std::set_new_handler} in Gabi++.
- (Issue 52805)
+ (
Issue 52805)
Enabled {@code FUTEX} system call in GNU libstdc++.
Updated {@code ndk-build} so that it no longer copies prebuilt static library to
a project's {@code obj/local/<abi>/} directory.
- (Issue 40302)
+ (
Issue 40302)
Removed {@code __ARM_ARCH_5*__} from ARM {@code toolchains/*/setup.mk} script.
- (Issue 21132)
+ (
Issue 21132)
Built additional GNU libstdc++ libraries in thumb for ARM.
Enabled MIPS floating-point {@code madd/msub/nmadd/nmsub/recip/rsqrt}
instructions with 32-bit FPU.
@@ -458,7 +768,7 @@ the NDK, as denoted by revision number.
which was preventing a significant amount of parallel build processing.
Updated {@code build-gabi++.sh} and {@code build-stlport.sh} so they can now run
from the NDK package.
- (Issue 52835)
+ (Issue 52835)
Fixed {@code run-tests.sh} in the {@code MSys} utilities collection.
Improved 64-bit host toolchain and Canadian Cross build support.
@@ -540,7 +850,7 @@ the NDK, as denoted by revision number.
@@ -584,21 +894,21 @@ Expected in: /usr/lib/libSystem.B.dylib
- Fixed {@code __WINT_TYPE__} and {@code wint_t} to be the same type.
- Corrected typo in {@code android/bitmap.h}.
- (Issue 15134)
+ (Issue 15134)
- Corrected typo in {@code errno.h}.
- Added check for the presence of {@code __STDC_VERSION__} in {@code sys/cdefs.h}.
- (Issue 14627)
+ (Issue 14627)
- Reorganized headers in {@code byteswap.h} and {@code dirent.h}.
- Fixed {@code limits.h} to include {@code page.h} which provides {@code PAGE_SIZE}
settings.
- (Issue 39983)
+ (Issue 39983)
- Fixed return type of {@code glGetAttribLocation()} and
{@code glGetUniformLocation()} from {@code int} to {@code GLint}.
- Fixed {@code __BYTE_ORDER} constant for x86 builds.
- (Issue 39824)
+ (Issue 39824)
@@ -611,7 +921,7 @@ Expected in: /usr/lib/libSystem.B.dylib
Fixed ARM EHABI support in Clang to conform to specifications.
Fixed GNU Debugger (GDB) to shorten the time spent on walking the target's link map
during {@code solib} events.
- (Issue 38402)
+ (
Issue 38402)
Fixed missing {@code libgcc.a} file when linking shared libraries.
@@ -712,7 +1022,7 @@ Expected in: /usr/lib/libSystem.B.dylib