am e26fe49d: am 113b40cc: am a09588d7: am 99d663aa: Merge "NDK release notes for r9c for review" into klp-ub-dev
* commit 'e26fe49d':
NDK release notes for r9c for review
<li>Fixed a problem with GCC 4.8 ARM, in which the stack pointer is restored too early. This problem prevented the frame pointer from reliably accessing a variable in the stack frame. For more information, see <a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58854">http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58854</a>.</li>
<li>- Fixed a problem with GCC 4.8 libstdc++, in which a bug in std::nth_element was causing generation of code that produced a random segfault. For more information, see <a href="https://code.google.com/p/android/issues/detail?id=62910">https://code.google.com/p/android/issues/detail?id=62910</a>.</li>
<li>Fixed GCC 4.8 ICE in cc1/cc1plus with <code>-fuse-ld=mcld</code>, so that the following error no longer occurs:
<pre>cc1: internal compiler error: in common_handle_option, at opts.c:1774</pre></li>
<li>Fixed <code>-mhard-float</code> support for <code>__builtin</code> math functions. For ongoing information on fixes for -mhard-float with STL, please follow <a href="http://b.android.com/61784">http://b.android.com/61784</a>.</li>
</ul>
</dd>
<dt>Other bug fixes:</dt>
<dd>
<ul>
<li>Header fixes:
<ul>
<li>Changed prototype of <code>poll</code> to <code>poll(struct pollfd *, nfds_t, int);</code> in <code>poll.h</code>.</li>
<li>Added <code>utimensat</code> to <code>libc.so</code> in API levels 12 and 19. It is now present in levels 12-19.</li>
<li>Introduced <code>futimens</code> into <code>libc.so</code>, as of API level 19.</li>
<li>Added missing <code>clock_settime()</code> and <code>clock_nanosleep()</code> to <code>time.h</code> for API 8 and higher.</li>
<li>Added <code>CLOCK_MONOTONIC_RAW, CLOCK_REALTIME_COARSE, CLOCK_MONOTONIC_COARSE, CLOCK_BOOTTIME, CLOCK_REALTIME_ALARM,</code> and <code>CLOCK_BOOTTIME_ALARM</code> in <code>time.h.</code></li>
<li>Removed obsolete <code>CLOCK_REALTIME_HR</code> and <code>CLOCK_MONOTONIC_HR.</code></li>
</ul>
</li>
<li>Refactored samples Teapot, MoreTeapots, and <code>source/android/ndk_helper</code> as follows:
<ul>
<li>They now use a hard-float abi for armeabi-v7a.</li>
<li>Android-19 now has immersive mode.</li>
<li>Fixed a problem with <code>Check_ReleaseStringUTFChars</code> in <code>/system/lib/libdvm.so</code> that was causing crashes on x86 devices.</li>
</ul>
</li>
<li>Fixed ndk-build fails that happen in cygwin when the NDK package is referenced via symlink.</li>
<li>Fixed ndk-build.cmd fails that happen in windows <code>cmd.exe</code> when <code>LOCAL_SRC_FILES</code> contains absolute paths. See <a href="https://android-review.googlesource.com/#/c/69992">https://android-review.googlesource.com/#/c/69992.</a></li>
<li>Fixed ndk-stack to proceed even when it can't parse a frame due to inability to find a routine, filename, or line number. In any of those cases, it prints "??".</li>
<li>Fixed ndk-stack windows-x64_64 so that it no longer erroneously matches a frame line with a line in the <code>stack:</code>
section that doesn't contain <code>pc</code>, <code>eip</code>, or <code>ip</code>. For example:
<li>Does not use malloc() to allocate C++ thread-local
objects.</li>
<li>Avoids deadlocks in gabi++ in cases where libc.debug.malloc is non-zero in
userdebug/eng Android platform builds.</li>
</ul>
</ul>
</dd>
<dt>Other changes:</dt>
<dd>
<ul>
<li>Added <code>LOCAL_EXPORT_LDFLAGS</code>.</li>
<li>Introduced the <code>NDK_PROJECT_PATH=null</code> setting for use in an integrated build system where options are explicitly passed to <code>ndk-build</code>. With this setting, <code>ndk-build</code> makes no attempt to look for <code>NDK_PROJECT_PATH.</code> This setting also prevents variables from deriving default settings from NDK_PROJECT_PATH. As a result, the following variables must now be explicitly specified (with their default values if such exist): <code>NDK_OUT, NDK_LIBS_OUT, APP_BUILD_SCRIPT, NDK_DEBUG</code> (optional, default to 0), and other <code>APP_*</code>'s contained in <code>Application.mk</code>.</li>
<li><code>APP_ABI</code> can now be enumerated in a comma-delimited list. For example:
<pre>APP_ABI := "armeabi,armeabi-v7a"</pre></li>
<li>Provided the ability (option <code>-g</code>) to rebuild all of STL with debugging info in an optional, separate package called <code>android-ndk-r9c-cxx-stl-libs-with-debugging-info.zip</code>. This option helps ndk-stack to provide better a stack dump across STL. This change should not affect the code/size of the final, stripped file.</li>
<li>Enhanced <code>hello-jni</code> samples to report <code>APP_ABI</code> at compilation.</li>
<li>Used the <code>ar</code> tool in Deterministic mode (option <code>-D</code>) to build static libraries. For more information, see <a href="http://b.android.com/60705">http://b.android.com/60705</a>.</li>