<li>Made the following changes to download structure:</li>
<ul>
<li>Each package now contains both the 32- and the 64-bit headers, libraries, and tools for
its respective platform.</li>
<li>STL libraries with debugging info no longer need be downloaded separately.</li>
</ul>
<li>Changed everything previously called <code>Android-L</code> to the official release
designation: <code>android-21</code>.</li>
<li>Updated GCC 4.9 by rebasing to the <code>google</code> branch
of the GCC repository. Major differences from the upstream version of GCC 4.9 include:</li>
<ul>
<li>The <code>-O2</code> option now turns on vectorization, without loop peeling but with more
aggressive unrolling.</li>
<li>Enhancements to FDO and <a href="https://gcc.gnu.org/wiki/LightweightIpo#LIPO_-_Profile_Feedback_Based_Lightweight_IPO">
LIPO</a></li>
<p>For more detailed information, see <em>Important bug fixes</em> below.</p>
</ul>
<li>Added Clang 3.5 support to all hosts: <code>NDK_TOOLCHAIN_VERSION=clang</code>
now picks Clang 3.5. Note that:</li>
<ul>
<li>ARM and x86 default to using the integrated assembler. If this causes issues, use
<code>-fno-integrated-as</code> as a workaround.</code>
<li>Clang 3.5 issues more warnings for unused flags, such as the <code>-finline-functions</code>
option that GCC supports.</li>
<p>When migrating from projects using GCC, you can use
<code>-Wno-invalid-command-line-argument</code> and <code>-Wno-unused-command-line-argument</code>
to ignore the unused flags until you're able decide on what to do with them longer-term.</p>
</ul>
<li>Made it possible to enter ART debugging mode, when debugging on an Android 5.0 device using
ART as its virtual machine, by specifying the <code>art-on</code> option. For more information,
see <code>prebuilt/common/gdb/common.setup</code> in the directory containing the NDK.</li>
<li>Removed support for Clang 3.3.</li>
<li>Deprecated GCC 4.6, and may remove it from future releases.</li>
<li>Updated mclinker to 2.8 with Identical Code Folding ("ICF") support. Specify ICF using the
<code>--icf</code> option.</li>
<li>Broadened <code>arm_neon.h</code> support in x86 and x86_64, attaining coverage of ~93% of
NEON intrinsics. For more information about NEON support:
<ul>
<li>Navigate to the NDK Programmer's Guide (<code>docs/Programmers_Guide/html/</code>), and see
Architectures and CPUs > Neon.</li>
<li>Examine the updated <code>hello-neon</code> sample in <code>samples/</code>.
<li>See Intel's guide to <a href="https://software.intel.com/en-us/blogs/2012/12/12/from-arm-neon-to-intel-mmxsse-automatic-porting-solution-tips-and-tricks"> porting from ARM NEON to Intel SSE.</a></li>
</ul>
<li>Documented support for <code>_FORTIFY_SOURCE</code> in <code>headers/libs/android-21</code>,
which appeared in r10 (when <code>android-21</code> was still called <code>Android-L</code>),
but had no documentation.</li>
</ul>
</dd>
<dl>
<dt>Important bug fixes:</dt>
<dd>
<ul>
<li>Fixed an internal compiler error with GCC4.9/aarch64 that was causing the following