diff options
author | Andrew Hsieh <andrewhsieh@google.com> | 2014-09-30 11:13:51 +0800 |
---|---|---|
committer | Andrew Hsieh <andrewhsieh@google.com> | 2014-09-30 11:13:51 +0800 |
commit | 880507be34b44a52d110d4c79b23a55edc78b08d (patch) | |
tree | 5eb64a86a20c18d24409f8c132f33827bfbe1389 /docs | |
parent | 2f6fd08f8c8089ca305c56d8a984121edcc3a56d (diff) | |
download | ndk-880507be34b44a52d110d4c79b23a55edc78b08d.tar.gz |
Update Change_Log.html to r10b
Change-Id: I860eb3c230815a96ea205c9ab43206fe12765d92
Diffstat (limited to 'docs')
-rw-r--r-- | docs/Change_Log.html | 184 |
1 files changed, 38 insertions, 146 deletions
diff --git a/docs/Change_Log.html b/docs/Change_Log.html index 5bd98aee0..bbac6a19e 100644 --- a/docs/Change_Log.html +++ b/docs/Change_Log.html @@ -3,174 +3,66 @@ <html> <head> <h2>Change List</h2> - <h3>Android NDK, Revision 10</a> <em>(July 2014)</em></h3> + <h3>Android NDK, Revision 10b</a> <em>(September 2014)</em></h3> </p> - <div class="toggle-content-toggleme"> - <dl> - <dt>Important changes:</dt> - <dd> + <dt>Important notes:</dt> + <dd> + <ul> + <li>Because of the 512MB size restriction on downloadable packages, the following 32-bit items are not in the 32-bit NDK download packages. Instead, they reside in the 64-bit ones:</li> <ul> - <li>Added 3 new ABIs, all 64-bit: arm64-v8a, x86_64, mips64.</li> Note that: - <ul> - <li>GCC 4.9 is the default compiler for 64-bit ABIs. Clang is currently version 3.4. -<code>NDK_TOOLCHAIN_VERSION=clang</code> - may not work for arm64-v8a and mips64.</li> - <li>Android API level L is the first level with 64-bit support. Note that this API -level is a temporary one, and only for L-preview. An actual API level number will replace it at -L-release.</li> - <li>This release includes now includes <code>all32</code> and <code>all64</code> -settings for <code>APP_ABI</code>. - <ul> - <li><code>APP_ABI=all32</code> is equivalent to -<code>APP_ABI=armeabi,armeabi-v7a,x86,mips</code>.</li> - <li><code>APP_ABI=all64</code> is equivalent to -<code>APP_ABI=arm64-v8a,x86_64,mips64</code>.</li> - <li><code>APP_ABI=all</code> selects all ABIs.</li> - </ul> - <li>The new GNU libstdc++ in Android-L contains all <code><tr1/cmath></code> -Before defining your own math function, check <code>_GLIBCXX_USE_C99_MATH_TR1</code> to see a -function with that name already exists, in order to avoid "multiple definition" errors from the -linker.</li> - <li>The cpu-features library has been updated for the ARMv8 kernel. The existing -cpu-features library may fail to detect the presence of NEON on the ARMv8 platform. Recompile your -code with the new version.</li> - </ul> - <li>Added a new <code>platforms/android-L/</code> API directory. It includes:</li> - <ul> - <li>Updated Bionic headers, which had not changed from Android API levels 3 -(Cupcake) to 19 (KitKat). This new version, for level L, is to be synchronized with AOSP.</li> - <li>New media APIs and a native-codec sample.</li> - <li>An updated <code>Android.h</code> header for SLES/OpenSLES, enabling support for -single-precision, floating-point audio format in AudioPlayer.</li> - <li>GLES 3.1 and AEP extensions to <code>libGLESv3.so.</code></li> - <li>GLES2 and GLES3 headers updated to the latest official Khronos versions.</li> - </ul> - <li>Added GCC 4.9 compilers to the 32-/64-bit ABIs. GCC 4.9 is the default (only) compiler -for 64-bit ABIs, as previously mentioned. For 32-bit ABIs, you must explcitly enable GCC 4.9, as -GCC 4.6 is still the default.</li> - <ul> - <li>For ndk-build, enable 32-bit, GCC 4.9 building either by adding -<code>NDK_TOOLCHAIN_VERSION=4.9</code> to <code>Application.mk</code>, or exporting it as an -environment variable from the command line.</li> - <li>For a standalone toolchain, use the <code> --toolchain=</code> option in the -<code>make-standalone-toolchain.sh</code> script. For example: <code>--toolchain=arm-linux-androideabi-4.9.</code></li> - </ul> - <li>Upgraded GDB to version 7.6 in GCC 4.8/4.9 and x86*. Since GDB is still at version GDB-7.3.x in -GCC 4.6 (the default for ARM and MIPS), you must set -<code>NDK_TOOLCHAIN_VERSION=4.8</code> or <code>4.9</code> to enable ndk-gdb to select GDB 7.6.</li> - <li>Added the <code>-mssse3</code> build option to provide SSSE3 support, and made it the default for ABI x86 -(upgrading from SSE3). The image released by Google does not contain SSSE3 instructions.</li> - <li>Updated GCC 4.8 to 4.8.3.</li> - <li>Improved ARM libc++ EH support by switching from gabi++ to libc++abi. For details, see the "C++ Support" section of the documentation. - Note that:</li> - <ul> - <li>All tests except for locale now pass for Clang 3.4 and GCC 4.8. For more -information, see the "C++ Support" section of the documentation.</li> - <li>The libc++ libraries for X86 and MIPS libc++ still use gabi++.</li> - <li>GCC 4.7 and later can now use <atomic>.</li> - <li>You must add <code>-fno-strict-aliasing</code> if you use <code> <list></code>, because <code>__list_imp::_end</code>_ breaks - TBAA rules. (Issue <a href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61571">61571</a>.)</li> - <li>As of GCC 4.6, LIBCXX_FORCE_REBUILD:=true no longer rebuilds libc++. Rebuilding it -requires the use of a different compiler. Note that Clang 3.3 is untested.</li> - </ul> - <li>mclinker is now version 2.7, and has aarch64 Linux support.</li> - <li>Added precompiled header support for headers specified by <code>LOCAL_PCH</code>. (Issue <a href="http://b.android.com/25412">25412</a>).</li> - </dd> - <dl> + <li>Android-L headers</li> + <li>GCC 4.9</li> + </ul> + <li>Currently, the only Renderscript support provided by the NDK is for 32-bit Renderscript with Android 4.4 (API level 19). You cannot build HelloComputeNDK (the only Renderscript sample) with any other combination of Renderscript (32- or 64-bit) and Android version.</li> + <li>To compile native-codec, you must use a 64-bit NDK package, which is where all the Android-L headers are located. </li> + </ul> + </dd> <dt>Important bug fixes:</dt> <dd> <ul> - <li>Fixed libc++ so that it now compiles <code>std::feof</code>, etc. (Issue <a -href="http://b.android.com/66668">66668</a>).</li> - <li>Fixed a Clang 3.3/3.4 atomic library call that caused crashes in some of the libc++ -tests for ABI armeabi.</li> - <li>Fixed Clang 3.4 crashes that were occurring on reading precompiled headers. (Issue <a -href="http://b.android.com/66657">66657</a>).</li> - <li>Fixed the Clang 3.3/3.4 <code>-O3</code> assert on:</li> - <code>llvm-3.2/llvm/include/llvm/MDBuilder.h:64: llvm::MDNode* -llvm::MDBuilder::createBranchWeights(llvm::ArrayRef<unsigned int>): Assertion Weights.size() >= 2 -&& "Need at least two branch weights!"</code> (Issue <a href="http://b.android.com/57381">57381</a>). - <li>Fixed the following Clang 3.3/3.4 crash:</li> - <code>Assertion failed: (!Fn && "cast failed but able to resolve overload expression!!"), function CheckCXXCStyleCast, file -Volumes/data/ndk-toolchain/src/llvm-3.3/llvm/tools/clang/lib/Sema/SemaCast.cpp, line 2018</code>. -(Issue <a href="http://b.android.com/66950">66950</a>). + <li>Fixed gdb 7.6 in GCC 4.8/4.9. (Issues <a href="http://b.android.com/74112">74112</a> and <a href="http://b.android.com/74371">74371</a>.)</li> + <li>Fixed GCC 4.8/4.9 for x86, so that they no longer enable <code>-msse4.2</code> and <code>-mpopcnt</code> by default. (Issue <a href="http://b.android.com/73843">73843</a>.)</li> </ul> </dd> <dt>Other bug fixes:</dt> <dd> <ul> - <li>Fixed headers:</li> - <ul> - <li>Fixed 32-bit <code>ssize_t</code> to be <code>int</code> instead of <code>long -int</code>.</li> - <li>Fixed <code>WCHAR_MIN</code> and <code>WCHAR_MAX</code> so that they they take -appropriate signs according to the architecture they're running on:</li> - <ul> - <li>X86/MIPS: signed. - <li>ARM: unsigned. - <li>To force X86/MIPS to default to unsigned, use -<code>-D__WCHAR_UNSIGNED__</code>.</li> - <li>To force <code>wchar_t</code> to be 16 bits, use <code>-fshort-wchar</code>.</li> - </ul> - <li>Removed non-existent symbols from 32-bit <code>libc.so</code>, and added <code>pread64</code>, -<code>pwrite64</code>, <code>ftruncate64</code> for -Android API level 12 and higher. (Issue <a href="http://b.android.com/69319">69319</a>). For more -information, see the commit message accompanying AOSP change list - <a href="https://android-review.googlesource.com/#/c/94137">94137</a>.</li> - </ul> - <li>Fixed GCC warning about redefinition of <code>putchar</code>. Warning message reads:</li> - <code>include/stdio.h:236:5: warning: conflicts with previous declaration here -[-Wattributes] int putchar(int);</code> (Change list <a -href="https://android-review.googlesource.com/#/c/91185">91185</a>). - <li>Fixed <code>make-standalone-toolchain.sh --stl=libc++</code> so that it:</li> - <ul> - <li>Copies <code>cxxabi.h</code>. (Issue <a -href="http://b.android.com/68001">68001</a>).</li> - <li>Runs in directories other than the NDK install directory. (Issues <a -href="http://b.android.com/67690">67690</a> and <a href="http://b.android.com/68647">68647</a>).</li> - </ul> - <li>Fixed GCC/Windows to quote arguments only when necessary for spawning processes in -external programs. This change decreases the likelihood of exceeding the 32K length limit.</li> - <li>Fixed an issue that made it impossible to adjust the <code>APP_PLATFORM</code> -environment variable.</li> - <li>Fixed the implementation of <code>IsSystemLibrary()</code> in crazy_linker so that it -uses <code>strrchr()</code> - instead of <code>strchr()</code> to find the library path's true basename.</li> - <li>Fixed native-audio's inability to build in debug mode.</li> - <li>Fixed gdb's inability to print extreme floating-point numbers. (Issue <a -href="http://b.android.com/69203">69203</a>).</li> - <li>Fixed Clang 3.4 inability to compile with <code>-Wl,-shared</code> (as opposed to -<code>-shared</code>, which - had no compilation issues). The problem was that Clang added <code>-pie</code> for Android -targets if neither <code>-shared</code> nor <code>-static</code> existed. This behavior, which was -incorrect, caused the linker to complain that <code>-shared</code> and <code>-pie</code> could not -co-exist.</li> + <li>Removed <code>stdio.h</code> from the <code>include-fixed/</code> directories of all versions of GCC. (Issue <a href="http://b.android.com/73728">73728</a>.)</li> + <li>Removed duplicate header files from the Windows packages in the <code>platforms/android-L/arch-*/usr/include/linux/netfilter*/</code> directories. (Issue <a href="https://code.google.com/p/android/issues/detail?id=73704">73704</a>.)</li> + <li>Fixed a problem that prevented Clang from building HelloComputeNDK.</li> + <li>Fixed atexit. (Issue <a href="http://b.android.com/66595">66595</a>.)</li> + <li>Made various fixes to the docs in <code>docs/</code> and <code>sources/third_party/googletest/README.NDK</code>. (Issue <a href="http://b.android.com/74069">74069</a>.)</li> + <li>Made the following fixes to the Android-L headers:</li> + <ol> + <li>Added the following functions to <code>ctype.h</code> and <code>wchar.h</code>: <code>dn_expand()</code>, <code>grantpt()</code>, <code> inet_nsap_addr()</code>, <code>inet_nsap_ntoa()</code>, <code>insque()</code>, <code>nsdispatch()</code>, <code>posix_openpt()</code>, <code>__pthread_cleanup_pop()</code>, <code>__pthread_cleanup_push()</code>, <code>remque()</code>, <code>setfsgid()</code>, <code>setfsuid()</code>, <code>splice()</code>, <code>tee()</code>, <code>twalk()</code> (Issue <a href = "http://b.android.com/73719">73719</a>), and 42 <code>*_l()</code> functions.</li> + + <li>Renamed <code>cmsg_nxthdr</code> to <code>__cmsg_nxthdr</code>.</li> + + <li>Removed <code>__libc_malloc_dispatch</code>.</li> + <li>Changed the <code>ptrace()</code> prototype to <code>long ptrace(int, ...);</code>.</li> + + <li>Removed <code>sha1.h</code>.</li> + + <li>Extended <code>android_dlextinfo</code> in <code>android/dlext.h</code>.</li> + + <li>Annotated <code>__NDK_FPABI__</code> for functions receiving or returning float- or double-type values in <code>stdlib.h</code>, <code>time.h</code>, <code>wchar.h</code>, and <code>complex.h</code>.</li> + </ol> </ul> </dd> + <dt>Other changes:</dt> <dd> <ul> - <li>Added <code>arm_neon.h</code> to the x86 toolchain so that it now emulates ~47% of -Neon. There is currently no support for 64-bit types. For more information, see the section on ARM -Neon intrinsics support in the x86 documentation.</li> - <li>Ported ARM/GOT_PREL optimization (present in GCC 4.6 built from the GCC google branch) to -ARM GCC 4.8/4.9. This optimization sometimes reduces instruction count when accessing global -variables. As an example, see the build.sh script in -<code>$NDK/tests/build/b14811006-GOT_PREL-optimization/</code>.</li> - <li>Added ARM version for STL gabi++, stlport, and libc++. They now have both it and Thumb -mode.</li> - <li>It is now possible to call the make-standalone-toolchain.sh script with -<code>--toolchain=x86_64-linux-android-4.9</code>, which is equivalent to -<code>--toolchain=x86_64-4.9</code>.</li> + <li>Updated <code>mipsel-linux-android-4.9</code> and <code>mips64el-linux-android-4.9</code>, implementing a new multilib directory layout, and providing support for gdb-7.7</li> + <li>Enhanced <code>cpu-features</code> to detect more arm64 features. (Change list <a href="https://android-review.googlesource.com/#/c/100339">100339</a>.)</li> </dd> </ul> </dl> - </div> -</div> + A comprehensive change list, going through all previous releases of the NDK, can be found at the <a href="http://developer.android.com/tools/sdk/ndk/index.html">Android developer website.</a><br> <br> |