From 603dbd785330934b5b523a29821ccb5f3a3396b1 Mon Sep 17 00:00:00 2001 From: Joe Fernandez Date: Mon, 18 Mar 2013 08:30:26 -0700 Subject: docs: NDK r8e Release Notes Change-Id: Id06bf788d631cccc69964cdef400a7e472060c4a --- docs/html/tools/sdk/ndk/index.jd | 256 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 243 insertions(+), 13 deletions(-) (limited to 'docs') diff --git a/docs/html/tools/sdk/ndk/index.jd b/docs/html/tools/sdk/ndk/index.jd index cb4954b..74caaf4 100644 --- a/docs/html/tools/sdk/ndk/index.jd +++ b/docs/html/tools/sdk/ndk/index.jd @@ -1,17 +1,29 @@ ndk=true page.template=sdk -ndk.win_download=android-ndk-r8d-windows.zip -ndk.win_bytes=327014028 -ndk.win_checksum=d78ec3d4ec15ad3b18b9f488a5763c23 +ndk.mac64_download=android-ndk-r8e-darwin-x86_64.tar.bz2 +ndk.mac64_bytes=508419298 +ndk.mac64_checksum=efac96fab20e6ddb1311d6ba5648ce72 -ndk.mac_download=android-ndk-r8d-darwin-x86.tar.bz2 -ndk.mac_bytes=308328942 -ndk.mac_checksum=5cd9ef9fb7e03943ee8c9e147e42e571 +ndk.mac32_download=android-ndk-r8e-darwin-x86.tar.bz2 +ndk.mac32_bytes=496238878 +ndk.mac32_checksum=e17e707464c45c0d5615e4d0ae6a5cf7 -ndk.linux_download=android-ndk-r8d-linux-x86.tar.bz2 -ndk.linux_bytes=254644383 -ndk.linux_checksum=e1fa0379a3feb59f2f0865f1a90bd382 +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.win64_download=android-ndk-r8e-windows-x86_64.zip +ndk.win64_bytes=461298980 +ndk.win64_checksum=11eb99b3b56fc86d9d231ebff5c41db3 + +ndk.win32_download=android-ndk-r8e-windows-x86.zip +ndk.win32_bytes=434701805 +ndk.win32_checksum=fb41ed2bff5610b14a7b6f085ab86213 page.title=Android NDK @jd:body @@ -250,6 +262,222 @@ the NDK, as denoted by revision number.

Android NDK, Revision 8e (March 2013) +

+ +
+
+
Important changes:
+
+
    +
  • Added 64-bit host toolchain set (package name suffix {@code *-x86_64.*}). For more + information, see {@code CHANGES.HTML} and {@code NDK-BUILD.html}.
  • +
  • Added Clang 3.2 compiler. GCC 4.6 is still the default. For information on using the + Clang compiler, see {@code CHANGES.HTML}.
  • +
  • Added static code analyzer for Linux/MacOSX hosts. For information on using the + analyzer, see {@code CHANGES.HTML}.
  • +
  • Added MCLinker for Linux/MacOSX hosts as an experimental feature. The {@code ld.gold} + linker is the default where available, so you must explicitly enable it. For more + information, see {@code CHANGES.HTML}.
  • +
  • Updated ndk-build to use topological sort for module dependencies, which means the + 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)
  • +
+
+ +
Important bug fixes:
+
+
    +
  • Fixed build script to build all toolchains in {@code -O2}. Toolchains in previous + releases were incorrectly built without optimization.
  • +
  • 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)
  • +
  • Fixed build problem where GCC/ARM 4.6/4.7 fails to link code using 64-bit atomic + built-in functions. + (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)
  • +
  • Fixed a GCC 4.7 segfault. + (GCC Issue)
  • +
  • Fixed {@code <chrono>} clock resolution and enabled {@code steady_clock}. + (Issue 39680)
  • +
  • Fixed toolchain to enable {@code _GLIBCXX_HAS_GTHREADS} for GCC 4.7 libstdc++. + (Issue 41770, + Issue 41859)
  • +
  • Fixed problem with the X86 MXX/SSE code failing to link due to missing + {@code posix_memalign}. + (Change 51872)
  • +
  • Fixed GCC4.7/X86 segmentation fault in {@code i386.c}, function + {@code distance_non_agu_define_in_bb()}. + (Change 50383)
  • +
  • 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) +
  • 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)
  • +
  • Fixed Clang 3.1 internal compiler error including {@code <chrono>} in C++11 mode. + (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)
  • +
  • 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)
  • +
  • Fixed problem where GDB cannot set {@code source:line} breakpoints when symbols contain + long, indirect file paths. + (Issue 42448)
  • +
  • Fixed GDB {@code read_program_header} for MIPS PIE executables. + (Change 49592)
  • +
  • Fixed {@code STLport} segmentation fault in {@code uncaught_exception()}. + (Change 50236)
  • +
  • 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)
  • +
  • Fixed Gabi++ wrong offset to exception handler pointer. + (Change 53446)
  • +
  • Removed Gabi++ redundant free on exception object + (Change 53447)
  • +
+
+ +
Other bug fixes:
+
+
    +
  • Fixed NDK headers: +
      +
    • Removed redundant definitions of {@code size_t}, {@code ssize_t}, and + {@code ptrdiff_t}.
    • +
    • Fixed MIPS and ARM {@code fenv.h} header.
    • +
    • 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) +
    • +
    • Fixed the {@code #ifdef} C++ definitions in the + {@code OpenSLES_AndroidConfiguration.h} header file. + (Issue 53163) +
    • +
    +
  • +
  • Fixed {@code STLport} to abort after out of memory error instead of silently exiting. +
  • +
  • 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)
  • +
  • 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 + assembler. + (Change 49930)
  • +
  • Fixed Clang 3.1 to be able to compile libgabi++ and pass the {@code test-stlport} + tests for MIPS build targets. + (Change 51961)
  • +
  • Fixed Clang 3.1 to only enable exception by default for C++, not for C.
  • +
  • Fixed several issues in Clang 3.1 to pass most GNU exception tests.
  • +
  • Fixed scripts {@code clang} and {@code clang++} in standalone NDK compiler to detect + {@code -cc1} and to not specify {@code -target} when found.
  • +
  • Fixed {@code ndk-build} to observe {@code NDK_APP_OUT} set in {@code Application.mk}. +
  • +
  • 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)
  • +
  • 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)
  • +
  • Fixed problem where the {@code ndk-build} script does not build if makefile has + trailing whitespace in the {@code LOCAL_PATH} definition. + (Issue 42841)
  • +
+
+ +
Other changes:
+
+
    +
  • Enabled threading support in GCC/MIPS toolchain.
  • +
  • Updated GCC exception handling helpers {@code __cxa_begin_cleanup} and + {@code __cxa_type_match} to have default visibility from the previous + hidden visibility in GNU libstdc++. For more information, see + {@code CHANGES.HTML}.
  • +
  • Updated build scripts so that Gabi++ and STLport static libraries are now built with + 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)
  • +
  • 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)
  • +
  • Removed {@code __ARM_ARCH_5*__} from ARM {@code toolchains/*/setup.mk} script. + (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.
  • +
  • Enabled graphite loop optimizer in GCC 4.6 and 4.7 to allow more optimizations: + {@code -fgraphite}, {@code -fgraphite-identity}, {@code -floop-block}, {@code -floop-flatten}, + {@code -floop-interchange}, {@code -floop-strip-mine}, {@code -floop-parallelize-all}, + and {@code -ftree-loop-linear}. + (info)
  • +
  • Enabled {@code polly} for Clang 3.1 on Linux and Max OS X 32-bit hosts which analyzes + and optimizes memory access. (info)
  • +
  • Enabled {@code -flto} in GCC 4.7, 4.6, Clang 3.2 and Clang 3.1 on linux (Clang LTO + via LLVMgold.so). MIPS compiler targets are not supported because {@code ld.gold} + is not available.
  • +
  • Enabled {@code --plugin} and {@code --plugin-opt} for {@code ld.gold} in GCC 4.6/4.7. +
  • +
  • Enabled {@code --text-reorder} for {@code ld.gold} in GCC 4.7.
  • +
  • Configured GNU libstdc++ with {@code _GLIBCXX_USE_C99_MATH} which undefines the + {@code isinf} script in the bionic header. For more information, see + {@code CHANGES.html}.
  • +
  • Added {@code APP_LDFLAGS} to the build scripts. For more information, see + {@code ANDROID-MK.html}.
  • +
  • Updated build scripts to allow {@code NDK_LOG=0} to disable the {@code NDK_LOG}.
  • +
  • Updated build scripts to allow {@code NDK_HOST_32BIT=0} to disable the host developer + environment 32-bit toolchain.
  • +
  • Changed the default GCC/X86 flags {@code -march=} and {@code -mtune=} from + {@code pentiumpro} and {@code generic} to {@code i686} and {@code atom}.
  • +
  • Enhanced toolchain build scripts: +
      +
    • Fixed a race condition in {@code build-gcc.sh} for the {@code mingw} build type + 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) +
    • +
    • Fixed {@code run-tests.sh} in the {@code MSys} utilities collection.
    • +
    • Improved 64-bit host toolchain and Canadian Cross build support.
    • +
    • Updated {@code build-mingw64-toolchain.sh} script to more recent version.
    • +
    • Added option to build {@code libgnustl_static.a} and {@code stlport_static.a} + without hidden visibility.
    • +
    +
  • +
+ +
+
+
+
+ + +
+

+ Android NDK, Revision 8d (December 2012)

@@ -769,7 +997,7 @@ MIPS.
  • Added GCC 4.6 toolchain ({@code binutils} 2.21 with {@code gold} and GDB 7.3.x) to -co-exist with the original GCC 4.4.3 toolchain ({@code binutils} 2.19 and GDB 6.6).

    +co-exist with the original GCC 4.4.3 toolchain ({@code binutils} 2.19 and GDB 6.6).
    • GCC 4.6 is now the default toolchain. You may set {@code NDK_TOOLCHAIN_VERSION=4.4.3} in {@code Application.mk} to select the original one.
    • @@ -816,8 +1044,9 @@ assembler and {@code -z execstack} for the linker. following options:
       LOCAL_DISABLE_NO_EXECUTE=true  # disable "--noexecstack" and "-z noexecstack"
      -DISABLE_RELRO=true             # disable "-z relro" and "-z now"
      +DISABLE_RELRO=true             # disable "-z relro" and "-z now"
       
      +

      See {@code docs/ANDROID-MK.html} for more details.

      @@ -826,7 +1055,7 @@ DISABLE_RELRO=true # disable "-z relro" and "-z now"
    • Added branding for Android executables with the {@code .note.ABI-tag} section (in {@code crtbegin_static/dynamic.o}) so that debugging tools can act accordingly. The structure -member and values are defined as follows:

      +member and values are defined as follows:
       static const struct {
         int32_t namesz;  /* = 4,  sizeof ("GNU") */
      @@ -1621,10 +1850,11 @@ float AMotionEvent_getHistoricalRawY(const AInputEvent* motion_event,
                 
    • Fixed a bug that caused the build to fail if LOCAL_ARM_NEON was set to true (typo in build/core/build-binary.mk).
    • -
    • Fixed a bug that prevented the compilation of .s assembly files +
    • Fixed a bug that prevented the compilation of .s assembly files (.S files were okay).
+
-- cgit v1.1