From 465c7c2610d7afc1741081a6d54f38e51647f1ff Mon Sep 17 00:00:00 2001 From: Joe Fernandez Date: Thu, 13 Jun 2013 14:36:37 -0700 Subject: [PATCH] DO NOT MERGE cherrypick from jb-mr2-ub-dev docs: NDK r9 Release Notes (w/download size fix) This set of release notes adds adjustments to the NDK caused by download size restrictions. Change-Id: I17404c19a7faed9ea6e8f3034d460bcc3f5ee003 --- docs/html/tools/sdk/ndk/index.jd | 472 ++++++++++++++++++++++++++++++++------- 1 file changed, 391 insertions(+), 81 deletions(-) diff --git a/docs/html/tools/sdk/ndk/index.jd b/docs/html/tools/sdk/ndk/index.jd index 74caaf4ede69..318764e2b4da 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')); -

Revisions

+

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.

+

Revisions

+ +

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:
+
+
    +
  • Fixed potential event handling issue in {@code android_native_app_glue}. + (Issue 41755)
  • +
  • Fixed ARM/GCC-4.7 build to generate sufficient alignment for NEON load and store + instructions VST and VLD. + (GCC Issue 57271)
  • +
  • Fixed a GCC 4.4.3/4.6/4.7 internal compiler error (ICE) for a constant negative index + value on a string literal. + (Issue 54623)
  • +
  • Fixed GCC 4.7 segmentation fault for constant initialization with an object address. + (Issue 56508)
  • +
  • Fixed GCC 4.6 ARM segmentation fault for -O values when using Boost + 1.52.0. (Issue 42891) +
  • Fixed {@code libc.so} and {@code libc.a} to support the {@code wait4()} function. + (Issue 19854)
  • +
  • Updated the x86 libc.so and libc.a files to include the {@code clone()} + function.
  • +
  • Fixed {@code LOCAL_SHORT_COMMANDS} bug where the {@code linker.list} file is + empty or not used.
  • +
  • Fixed GCC MIPS build on Mac OS to use CFI directives, without which + {@code ld.mcld --eh-frame-hdr} fails frequently.
  • +
  • Fixed Clang 3.2 X86/MIPS internal compiler error in {@code llvm/lib/VMCore/Value.cpp}. + (Change 59021)
  • +
  • Fixed GCC 4.7 64-bit Windows assembler crash. (Error: {@code out of memory allocating + 4294967280 bytes}).
  • +
  • Updated {@code ndk-gdb} script so that the {@code --start} or {@code --launch} actions + now wait for the GNU Debug Server, so that it can more reliably hit breakpoints set + early in the execution path (such as breakpoints in JNI code). + (Issue 41278) +

    Note: + This feature requires jdb and produces warning about pending breakpoints. + Specify the {@code --nowait} option to restore previous behavior. +

    +
  • +
  • Fixed GDB crash when library list is empty.
  • +
  • Fixed GDB crash when using a {@code stepi} command past a {@code bx pc} or + {@code blx pc} Thumb instruction. + (Issue 56962, + Issue 36149)
  • +
  • Fixed MIPS {@code gdbserver} to look for {@code DT_MIPS_RLD_MAP} instead of + {@code DT_DEBUG}. (Issue 56586)
  • +
  • Fixed a circular dependency in the ndk-build script, for example: If A->B and + B->B, then B was dropped from build. + (Issue 56690)
  • +
+
+ +
Other bug fixes:
+
+
    +
  • Fixed the {@code ndk-build} script to enable you to specify a version of Clang as a + command line option (e.g., {@code NDK_TOOLCHAIN_VERSION=clang3.2}). Previously, only + specifying the version as an environment variable worked.
  • +
  • Fixed gabi++ size of {@code _Unwind_Exception} to be 24 for MIPS build targets when + using the Clang compiler. + (Change 54141)
  • +
  • Fixed the {@code ndk-build} script to ensure that built libraries are actually + removed from projects that include prebuilt static libraries when using the + {@code ndk-build clean} command. + (Change 54461, + Change 54480)
  • +
  • Modified the {@code NDK_ANALYZE=1} option to be less verbose.
  • +
  • Fixed {@code gnu-libstdc++/Android.mk} to include a {@code backward/} path for builds + that use backward compability. + (Issue 53404)
  • +
  • Fixed a problem where {@code stlport new} sometimes returned random values.
  • +
  • Fixed {@code ndk-gdb} to match the order of {@code CPU_ABIS}, not {@code APP_ABIS}. + (Issue 54033)
  • +
  • Fixed a problem where the NDK 64-bit build on MacOSX choses the wrong path for + compiler. + (Issue 53769)
  • +
  • Fixed build scripts to detect 64-bit Windows Vista. + (Issue 54485)
  • +
  • Fixed x86 {@code ntonl/swap32} error: {@code invalid 'asm': operand number + out of range}. + (Issue 54465, + Change 57242)
  • +
  • Fixed {@code ld.gold} to merge string literals.
  • +
  • Fixed {@code ld.gold} to handle large symbol alignment.
  • +
  • Updated {@code ld.gold} to enable the {@code --sort-section=name} option.
  • +
  • Fixed GCC 4.4.3/4.6/4.7 to suppress the {@code -export-dynamic} option for + statically linked programs. GCC no longer adds an {@code .interp} section for statically + linked programs.
  • +
  • Fixed GCC 4.4.3 {@code stlport} compilation error about inconsistent {@code typedef} + of {@code _Unwind_Control_Block}. + (Issue 54426)
  • +
  • Fixed {@code awk} scripts to handle {@code AndroidManifest.xml} files created on + Windows which may contain trailing {@code \r} characters and cause build errors. + (Issue 42548)
  • +
  • Fixed {@code make-standalone-toolchain.sh} to probe the {@code prebuilts/} + directory to detect if the host is 32 bit or 64 bit.
  • +
  • Fixed the Clang 3.2 {@code -integrated-as} option.
  • +
  • Fixed the Clang 3.2 ARM EHABI compact model {@code pr1} and {@code pr2} handler data. +
  • +
  • Added clang {@code -mllvm -arm-enable-ehabi} option to fix the following clang error: +
    clang: for the -arm-enable-ehabi option: may only occur zero or one times!
    +
  • +
  • Fixed build failure when there is no {@code uses-sdk} element in application + manifest. (Issue 57015)
  • +
+ +
+
Other changes:
+
+
    +
  • Header Fixes +
      +
    • Modified headers to make {@code __set_errno} an inlined function, since + {@code __set_errno} in {@code errno.h} is deprecated, and {@code libc.so} no longer + exports it.
    • +
    • Modified {@code elf.h} to include {@code stdint.h}. + (Issue 55443)
    • +
    • Fixed {@code sys/un.h} to be included independently of other headers. + (Issue 53646)
    • +
    • Fixed all of the {@code MotionEvent_getHistorical} API family to take the + {@code const AInputEvent* motion_event}. + (Issue 55873)
    • +
    • Fixed {@code malloc_usable_size} to take {@code const void*}. + (Issue 55725)
    • +
    • Fixed stdint.h to be more compatible with C99. + (Change 46821)
    • +
    • Modified {@code wchar.h} to not redefine {@code WCHAR_MAX} and + {@code WCHAR_MIN}
    • +
    • Fixed {@code <inttypes.h>} declaration for pointer-related {@code PRI} and + {@code SCN} macros. (Issue 57218)
    • +
    • Changed the {@code sys/cdefs.h} header so that {@code __WCHAR_TYPE__} is 32-bit + for API levels less than 9, which means that {@code wchat_t} is 32-bit for all + API levels. To restore the previous behavior, define the {@code _WCHAR_IS_8BIT} + boolean variable. (Issue 57267)
    • +
    +
  • +
  • Added more formatting in NDK {@code docs/} and miscellaneous documentation fixes. +
  • +
  • Added support for a thin archive technique when building static libraries. + (Issue 40303)
  • +
  • Updated script {@code make-standalone-toolchain.sh} to support the {@code stlport} + library in addition to {@code gnustl}, when you specify the option + {@code --stl=stlport}. For more information, see {@code STANDALONE-TOOLCHAIN.html}.
  • +
  • Updated the {@code make-standalone-toolchain.sh} script so that the + {@code --llvm-version=} option creates the {@code $TOOLCHAIN_PREFIX-clang} and + {@code $TOOLCHAIN_PREFIX-clang++} scripts in addition to {@code clang} and + {@code clang++}, to avoid using the host's clang and clang++ definitions by accident. +
  • +
  • Added two flags to re-enable two optimizations in upstream Clang but disabled in + NDK for better compatibility with code compiled by GCC: +
      +
    • Added a {@code -fcxx-missing-return-semantics} flag to re-enable missing return + semantics in Clang 3.2+. Normally, all paths should terminate with a return + statement for a value-returning function. If this is not the case, clang inserts + an undefined instruction (or trap in debug mode) at the path without a return + statement. If you are sure your code is correct, use this flag to allow the + optimizer to take advantage of the undefined behavior. If you are not sure, do not + use this flag. The caller may still receive a random incorrect value, but the + optimizer will not exploit it and make your code harder to debug.
    • +
    • Added a {@code -fglobal-ctor-const-promotion} flag to re-enable + promoting global variables with static constructor to be constants. With this flag, + the global variable optimization pass of LLVM tries to evaluate the global + variables with static constructors and promote them to global constants. Although + this optimization is correct, it may cause some incompatability with code compiled + by GCC. For example, code may do {@code const_cast} to cast the constant to mutable + and modify it. In GCC, the variable is in read-write and the code is run by + accident. In Clang, the const variable is in read-only memory and may cause your + application to crash.
    • +
    +
  • +
  • Added {@code -mldc1-sdc1} to the MIPS GCC and Clang compilers. By default, compilers + align 8-byte objects properly and emit the {@code ldc1} and {@code sdc1} instructions + to move them around. If your app uses a custom allocator that does not always align + with a new object's 8-byte boundary in the same way as the default allocator, your app + may crash due to {@code ldc1} and {@code sdc1} operations on unaligned memory. In this + case, use the {@code -mno-ldc1-sdc1} flag to workaround the problem.
  • +
  • Downgraded the event severity from warning to info if {@code APP_PLATFORM_LEVEL} is + larger than {@code APP_MIN_PLATFORM_LEVEL}. The {@code APP_PLATFORM_LEVEL} may be lower + than {@code APP_PLATFORM} in {@code jni/Application.mk} because the NDK does not have + headers for all levels. In this case, the actual level is shifted downwards. The + {@code APP_MIN_PLATFORM_LEVEL} is specified by the {@code android:minSdkVersion} in + your application's manifest. + (Issue 39752)
  • +
  • Added the {@code android_getCpuIdArm()} and {@code android_setCpuArm()} methods to + {@code cpu-features.c}. This addition enables easier retrieval of the ARM CPUID + information. (Issue 53689)
  • +
  • Modified {@code ndk-build} to use GCC 4.7's {@code as/ld} for Clang compiling. +

    Note: + In GCC 4.7, {@code monotonic_clock} and {@code is_monotonic} have been renamed to + {@code steady_clock} and {@code is_steady}, respectively.

  • +
  • Added the following new warnings to the {@code ndk-build} script: +
      +
    • Added warnings if {@code LOCAL_LDLIBS/LDFLAGS} are used in static library + modules.
    • +
    • Added a warning if a configuration has no module to build.
    • +
    • Added a warning for non-system libraries being used in + {@code LOCAL_LDLIBS/LDFLAGS} of a shared library or executable modules.
    • +
    +
  • +
  • Updated build scripts, so that if {@code APP_MODULES} is not defined and only static + libraries are listed in {@code Android.mk}, the script force-builds all of them. + (Issue 53502)
  • +
  • Updated {@code ndk-build} to support absolute paths in {@code LOCAL_SRC_FILES}.
  • +
  • Removed the {@code *-gdbtui} executables, which are duplicates of the {@code *-gdb} + executables with the {@code -tui} option enabled.
  • +
  • Updated the build scripts to warn you when the Edison Design Group (EDG) compiler + front-end turns {@code _STLP_HAS_INCLUDE_NEXT} back on. + (Issue 53646)
  • +
  • Added the environment variable {@code NDK_LIBS_OUT} to allow overriding of the + path for {@code libraries/gdbserver} from the default {@code $PROJECT/libs}. + For more information, see {@code OVERVIEW.html}.
  • +
  • Changed ndk-build script defaults to compile code with format string protection + {@code -Wformat -Werror=format-security}. You may set + {@code LOCAL_DISABLE_FORMAT_STRING_CHECKS=true} to disable it. + For more information, see {@code ANDROID-MK.html}
  • +
  • Added STL pretty-print support in {@code ndk-gdb-py}. For more information, see + {@code NDK-GDB.html}.
  • +
  • Added tests based on the googletest frameworks.
  • +
  • Added a notification to the toolchain build script that warns you if the current shell + is not {@code bash}.
  • +
+
+
+
+
+ + +

- 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.

    • Fixed unnecessary rebuild of object files when using the {@code ndk-build} script. - (Issue 39810)
    • + (Issue 39810)
    • Fixed a linker failure with the NDK 8c release for Mac OS X 10.6.x that produced the following error:
      @@ -551,29 +861,29 @@ Expected in: /usr/lib/libSystem.B.dylib
      not compatible with Mac OS 10.6.x and the NDK.
    • Removed the {@code -x c++} options from the Clang++ standalone build script. - (Issue 39089)
    • + (Issue 39089)
    • Fixed issues using the {@code NDK_TOOLCHAIN_VERSION=clang3.1} option in Cygwin. - (Issue 39585)
    • + (Issue 39585)
    • Fixed the {@code make-standalone-toolchain.sh} script to allow generation of a standalone toolchain using the Cygwin or MinGW environments. The resulting toolchain can be used in Cygwin, MingGW or CMD.exe environments. - (Issue 39915, - Issue 39585)
    • + (Issue 39915, + Issue 39585)
    • Added missing {@code SL_IID_ANDROIDBUFFERQUEUESOURCE} option in android-14 builds for ARM and X86. - (Issue 40625)
    • + (Issue 40625)
    • Fixed x86 CPU detection for the {@code ANDROID_CPU_X86_FEATURE_MOVBE} feature. - (Issue 39317)
    • + (Issue 39317)
    • Fixed an issue preventing the Standard Template Library (STL) from using C++ sources that do not have a {@code .cpp} file extension.
    • Fixed GCC 4.6 ARM internal compiler error at reload1.c:1061. - (Issue 20862)
    • + (Issue 20862)
    • Fixed GCC 4.4.3 ARM internal compiler error at emit-rtl.c:1954. - (Issue 22336)
    • + (Issue 22336)
    • Fixed GCC 4.4.3 ARM internal compiler error at postreload.c:396. - (Issue 22345)
    • + (Issue 22345)
    • Fixed problem with GCC 4.6/4.7 skipping lambda functions. - (Issue 35933)
    • + (Issue 35933)
    @@ -584,21 +894,21 @@ Expected in: /usr/lib/libSystem.B.dylib @@ -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