diff --git a/docs/html/ndk/downloads/index.jd b/docs/html/ndk/downloads/index.jd index 301eea11d4866..9ac3b465c13cd 100644 --- a/docs/html/ndk/downloads/index.jd +++ b/docs/html/ndk/downloads/index.jd @@ -307,7 +307,7 @@ Notwithstanding this, you agree that Google shall still be allowed to apply for -

Select, from the table below, the NDK package for your development platform. For information +

Select, from the table above, the NDK package for your development platform. For information about the changes in the newest version of the NDK, see Release Notes. For information about earlier revisions, see NDK Revision History.

@@ -356,157 +356,256 @@ ndk$ ./android-ndk-r10c-darwin-x86_64.bin

Release Notes

-

Android NDK, Revision 10e (May 2015)

+

Android NDK, Revision 11 (March 2016)

-
Important changes:
+
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.
      • +
      +
    • +
  • - -
    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 - {@code #pragma GCC optimize ("O0")}, but had a different level of optimization specified - on the command line. The {@code 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 - generates {@code llvm.cttz.v2i64()}, an instruction with no counterpart in the ARM - instruction set.
    • -
    -
    - -
    Other bug fixes:
    -
    -
      -
    • Made the following header and library fixes:
    • -
        -
      • Fixed {@code PROPERTY_*} in {@code media/NdkMediaDrm.h}.
      • -
      • Fixed {@code sys/ucontext.h} for {@code mips64}.
      • -
      • Dropped the Clang version check for {@code __builtin_isnan} and - {@code __builtin_isinf}.
      • -
      • Added {@code android-21/arch-mips/usr/include/asm/reg.h} - and {@code 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 {@code mips} and {@code mips64} to create a writable - {@code .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
      -
      +
      +
      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.
        • +
        +
      • -
      • Backported a fix for {@code compiler-rt} issues that were causing crashes when Clang - compiled for {@code mips64}. For more information, see LLVM Issue - 20098.
      • +
      • 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.
        • +
        +
      • -
      • Fixed Clang 3.5 crashes that occurred on non-ASCII comments. (Issue - 81440)
      • +
      • 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.
        • +
        +
      • -
      • Fixed {@code stlport collate::compare} to return {@code -1} and {@code 1}. Previously, - it had returned arbitrary signed numbers.
      • +
      • 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++.
        • -
        • Fixed {@code 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 {@code libc++ __wrap_iter} for GCC. For more information, see LLVM Issue - 22355.
        • - -
        • Fixed {@code .asm} support for ABI {@code x86_64}.
        • - -
        • Implemented a workaround for the GCC 4.8 {@code stlport} issue. (Issue - 127773)
        • - -
        • Removed the trailing directory separator {@code \\} from the project path in Windows. - (Issue 160584) +
        • 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 a {@code no rule to make target} error that occurred when compiling a single - {@code .c} file by executing the {@code ndk-build.cmd} command from {@code gradle}. (Issue - 66937)
      • +
      • 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}.
      • +
      +
    • -
    • Added the {@code libatomic.a} and {@code libgomp.a} libraries that had been missing from - the following host toolchains: -
        -
      • {@code aarch64-linux-android-4.9}
      • -
      • {@code mips64el-linux-android-4.9}
      • -
      • {@code mipsel-linux-android-4.9}
      • -
      • {@code x86_64-4.9}
      • -
      -
    -
    +
  • Removals +
      +
    • The 32-bit Windows package no longer contains ld.gold. + You can instead get ld.gold from the 64-bit Windows package.
    • +
    +
  • -
    Other changes:
    -
    -
      -
    • Added {@code ld.gold} for {@code aarch64}. The default linker remains {@code ld.bfd}. - To explicitly enable {@code ld.gold}, add {@code -fuse-ld=gold} to the - {@code LOCAL_LDFLAGS} or {@code APP_LDFLAGS} variable.
    • +
    • 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
    +
    +
      -
    • Built the MIPS and MIPS64 toolchains with {@code binutils-2.25}, which provides improved - R6 support.
    • +
    • Removals +
        +
      • Removed ndk-gdb in favor of ndk-gdb.py.
      • +
      +
    • -
    • Made {@code -fstandalone-debug} (full debug info) a default option for Clang.
    • +
    • 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.
      • +
      +
    • +
    +
    -
  • Replaced {@code -fstack-protector} with {@code -fstack-protector-strong} for - the ARM, AArch64, X86, and X86_64 toolchains for GCC 4.9, Clang 3.5, and - Clang 3.6.
  • +
    +
    +
    YASM
    +
    +
      -
    • Added the {@code --package} command-line switch to {@code ndk-gdb} to allow the build - system to override the package name. (Issue - 56189)
    • +
    • Changes +
        +
      • Updated YASM to version 1.3.0.
      • +
      +
    • +
    +
    -
  • Deprecated {@code -mno-ldc1-stc1} for MIPS. This option may not work with the new - {@code -fpxx} and {@code -mno-odd-spreg} options, or with the FPXX ABI.
  • - -
  • Added MIPS MSA and R6 detection to {@code cpu-features}.
  • - - - - -
    +
    +
    +
    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/ndk/downloads/revision_history.jd b/docs/html/ndk/downloads/revision_history.jd index a32b8141a57f3..b3ea8581107b5 100644 --- a/docs/html/ndk/downloads/revision_history.jd +++ b/docs/html/ndk/downloads/revision_history.jd @@ -4,6 +4,170 @@ page.title=NDK Revision History

    This page provides information on previous releases of the NDK, enumerating the changes that took place in each new version.

    +
    + +

    + Android NDK, Revision 10e (May 2015) +

    +
    +
    +
    Important changes:
    +
    +
      +
    • Integrated the workaround for Cortex-A53 Erratum 843419 into the + {@code aarch64-linux-android-4.9} linker. For more information on this workaround, see + Workaround for cortex-a53 + erratum 843419.
    • + +
    • Added Clang 3.6; {@code NDK_TOOLCHAIN_VERSION=clang} now picks that version + of Clang by default.
    • + +
    • Removed Clang 3.4.
    • + +
    • Removed GCC 4.6.
    • + +
    • Implemented multithreading support in {@code 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 {@code --threads} option.
      • +
      • To compile without multithreading, use the {@code --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 + {@code #pragma GCC optimize ("O0")}, but had a different level of optimization specified + on the command line. The {@code 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 + generates {@code llvm.cttz.v2i64()}, an instruction with no counterpart in the ARM + instruction set.
    • +
    +
    + +
    Other bug fixes:
    +
    +
      +
    • Made the following header and library fixes:
    • +
        +
      • Fixed {@code PROPERTY_*} in {@code media/NdkMediaDrm.h}.
      • +
      • Fixed {@code sys/ucontext.h} for {@code mips64}.
      • +
      • Dropped the Clang version check for {@code __builtin_isnan} and + {@code __builtin_isinf}.
      • +
      • Added {@code android-21/arch-mips/usr/include/asm/reg.h} + and {@code 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 {@code mips} and {@code mips64} to create a writable + {@code .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 {@code compiler-rt} issues that were causing crashes when Clang + compiled for {@code mips64}. For more information, see LLVM Issue + 20098.
    • + +
    • Fixed Clang 3.5 crashes that occurred on non-ASCII comments. (Issue + 81440)
    • + +
    • Fixed {@code stlport collate::compare} to return {@code -1} and {@code 1}. Previously, + it had returned arbitrary signed numbers.
    • + +
    • Fixed {@code 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 {@code libc++ __wrap_iter} for GCC. For more information, see LLVM Issue + 22355.
    • + +
    • Fixed {@code .asm} support for ABI {@code x86_64}.
    • + +
    • Implemented a workaround for the GCC 4.8 {@code stlport} issue. (Issue + 127773)
    • + +
    • Removed the trailing directory separator {@code \\} from the project path in Windows. + (Issue 160584) +
    • + +
    • Fixed a {@code no rule to make target} error that occurred when compiling a single + {@code .c} file by executing the {@code ndk-build.cmd} command from {@code gradle}. (Issue + 66937)
    • + +
    • Added the {@code libatomic.a} and {@code libgomp.a} libraries that had been missing from + the following host toolchains: +
        +
      • {@code aarch64-linux-android-4.9}
      • +
      • {@code mips64el-linux-android-4.9}
      • +
      • {@code mipsel-linux-android-4.9}
      • +
      • {@code x86_64-4.9}
      • +
      +
    +
    + +
    Other changes:
    +
    +
      +
    • Added {@code ld.gold} for {@code aarch64}. The default linker remains {@code ld.bfd}. + To explicitly enable {@code ld.gold}, add {@code -fuse-ld=gold} to the + {@code LOCAL_LDFLAGS} or {@code APP_LDFLAGS} variable.
    • + +
    • Built the MIPS and MIPS64 toolchains with {@code binutils-2.25}, which provides improved + R6 support.
    • + +
    • Made {@code -fstandalone-debug} (full debug info) a default option for Clang.
    • + +
    • Replaced {@code -fstack-protector} with {@code -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 {@code --package} command-line switch to {@code ndk-gdb} to allow the build + system to override the package name. (Issue + 56189)
    • + +
    • Deprecated {@code -mno-ldc1-stc1} for MIPS. This option may not work with the new + {@code -fpxx} and {@code -mno-odd-spreg} options, or with the FPXX ABI.
    • + +
    • Added MIPS MSA and R6 detection to {@code cpu-features}.
    • + +
    +
    +
    + +
    +
    +

    diff --git a/docs/html/sdk/sdk_vars.cs b/docs/html/sdk/sdk_vars.cs index c911f5a16bb6f..1a64ae509995e 100644 --- a/docs/html/sdk/sdk_vars.cs +++ b/docs/html/sdk/sdk_vars.cs @@ -39,21 +39,18 @@ set:sdk.win_installer_bytes='151659917' ?> \ No newline at end of file +set:ndk.win64_download='android-ndk-r11-windows-x86_64.zip' ?>