aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorAndrew Hsieh <andrewhsieh@google.com>2014-12-17 18:35:18 +0800
committerAndrew Hsieh <andrewhsieh@google.com>2014-12-18 10:47:44 +0800
commite5e7599ff9e946f3d47c6b3150d7265c1e2dab38 (patch)
treeba868aeb9e73d3d894a18e3698775580d44d95d7 /docs
parentcde0cb89ada253e9f7f4194de6f7f6af138b7e09 (diff)
downloadndk-e5e7599ff9e946f3d47c6b3150d7265c1e2dab38.tar.gz
Remove GCC 4.6
Change-Id: I840e7a2183e956e27e5dd93357ef2a2dd49fd40b
Diffstat (limited to 'docs')
-rw-r--r--docs/Programmers_Guide/html/md_1__concepts__concepts.html2
-rw-r--r--docs/Programmers_Guide/html/md_3__key__topics__building__a_p_p_l_i_c_a_t_i_o_n-_m_k.html2
-rw-r--r--docs/Programmers_Guide/html/md_3__key__topics__building__s_t_a_n_d_a_l_o_n_e-_t_o_o_l_c_h_a_i_n.html14
-rw-r--r--docs/Programmers_Guide/html/md_3__key__topics__libraries__c_p_l_u_s_p_l_u_s-_s_u_p_p_o_r_t.html2
4 files changed, 10 insertions, 10 deletions
diff --git a/docs/Programmers_Guide/html/md_1__concepts__concepts.html b/docs/Programmers_Guide/html/md_1__concepts__concepts.html
index 8f107aee4..abb6a4646 100644
--- a/docs/Programmers_Guide/html/md_1__concepts__concepts.html
+++ b/docs/Programmers_Guide/html/md_1__concepts__concepts.html
@@ -259,7 +259,7 @@ specify, the following default values are used, respectively: <ul>
ABI: armeabi<br/>
</li>
<li>
-Toolchain: GCC 4.6<br/>
+Toolchain: GCC 4.8<br/>
</li>
<li>
Mode: Release<br/>
diff --git a/docs/Programmers_Guide/html/md_3__key__topics__building__a_p_p_l_i_c_a_t_i_o_n-_m_k.html b/docs/Programmers_Guide/html/md_3__key__topics__building__a_p_p_l_i_c_a_t_i_o_n-_m_k.html
index ab780b917..7b83ff18e 100644
--- a/docs/Programmers_Guide/html/md_3__key__topics__building__a_p_p_l_i_c_a_t_i_o_n-_m_k.html
+++ b/docs/Programmers_Guide/html/md_3__key__topics__building__a_p_p_l_i_c_a_t_i_o_n-_m_k.html
@@ -155,7 +155,7 @@ $(document).ready(function(){initNavTree('md_3__key__topics__building__a_p_p_l_i
<h3><code>APP_SHORT_COMMANDS</code></h3>
<p>The equivalent of LOCAL_SHORT_COMMANDS for your whole project. See the documentation for this variable in the <a href="./md_3__key__topics__building__chapter_1-section_8__android_8mk.html">Android.mk</a> section.</p>
<h3><code>NDK_TOOLCHAIN_VERSION</code></h3>
-<p>Define this variable to either 4.6, 4.7 or 4.8 to select version of the GCC compiler. 4.6 is the default</p>
+<p>Define this variable to either 4.8 or 4.9 to select version of the GCC compiler. 4.8 is the default for 32-bit ABIs, and 4.9 is the default for 64-bit ABIs. To select version of Clang, define this variable to clang3.4, clang3.5 or clang (which chooses the most recent version of clang).</p>
<h3><code>APP_PIE</code></h3>
<p>Starting from Jelly Bean (4.1), Android's dynamic linker supports position-independent executables (PIE), which are built with <code>-fPIE</code>. This flag makes it harder to exploit memory corruption bugs by randomization the location of the code. By default, <code>ndk-build</code> will automatically set this value to '<code>true</code>' if your project targets <code>android-16</code> or higher. You may set it manually to either '<code>true</code>' or '<code>false</code>'.</p>
<p>IMPORTANT: PIE executables <em>cannot</em> run on Android releases prior to 4.1.</p>
diff --git a/docs/Programmers_Guide/html/md_3__key__topics__building__s_t_a_n_d_a_l_o_n_e-_t_o_o_l_c_h_a_i_n.html b/docs/Programmers_Guide/html/md_3__key__topics__building__s_t_a_n_d_a_l_o_n_e-_t_o_o_l_c_h_a_i_n.html
index 0944677e5..3c0b4e1c5 100644
--- a/docs/Programmers_Guide/html/md_3__key__topics__building__s_t_a_n_d_a_l_o_n_e-_t_o_o_l_c_h_a_i_n.html
+++ b/docs/Programmers_Guide/html/md_3__key__topics__building__s_t_a_n_d_a_l_o_n_e-_t_o_o_l_c_h_a_i_n.html
@@ -59,9 +59,9 @@ $(document).ready(function(){initNavTree('md_3__key__topics__building__s_t_a_n_d
<h2>Selecting your toolchain</h2>
<p>Before anything else, you need to decide whether your standalone toolchain is going to target ARM-based devices, x86-based, or MIPS-based one. Each architecture corresponds to a different toolchain name. For example:</p>
<ul>
-<li>arm-linux-androideabi-4.6 =&gt; targeting ARM-based Android devices</li>
-<li>x86-4.6 =&gt; targeting x86-based Android devices</li>
-<li>mipsel-linux-android-4.6 =&gt; targeting MIPS-based Android devices</li>
+<li>arm-linux-androideabi-4.8 =&gt; targeting ARM-based Android devices</li>
+<li>x86-4.8 =&gt; targeting x86-based Android devices</li>
+<li>mipsel-linux-android-4.8 =&gt; targeting MIPS-based Android devices</li>
</ul>
<h2>Selecting your sysroot</h2>
<p>The second thing you need to know is which Android native API level you want to target. Each one of them provides a different various APIs, which are documented under doc/STABLE-APIS.html, and correspond to the sub-directories of $NDK/platforms.</p>
@@ -75,7 +75,7 @@ $(document).ready(function(){initNavTree('md_3__key__topics__building__s_t_a_n_d
<pre class="fragment"> export CC="$NDK/toolchains/&lt;name&gt;/prebuilt/&lt;system&gt;/bin/&lt;prefix&gt;gcc --sysroot=$SYSROOT"
$CC -o foo.o -c foo.c
</pre><p>Where &lt;name&gt; is the toolchain's name, &lt;system&gt; is the host tag for your system, and &lt;prefix&gt; is a toolchain-specific prefix. For example, if you are on Linux using the NDK r5 toolchain, you would use: </p>
-<pre class="fragment"> export CC="$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc --sysroot=$SYSROOT"
+<pre class="fragment"> export CC="$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc --sysroot=$SYSROOT"
</pre><p>As you can see, this is rather verbose, but it works!</p>
<p>IMPORTANT NOTE:</p>
<p>Using the NDK toolchain directly has a serious limitation: You won't be able to use any C++ STL (STLport, libc++, or the GNU libstdc++) with it. Also no exceptions and no RTTI.</p>
@@ -88,10 +88,10 @@ $(document).ready(function(){initNavTree('md_3__key__topics__building__s_t_a_n_d
<p>The NDK allows you to create a "customized" toolchain installation to make life easier. For example, consider the following command: </p>
<pre class="fragment"> $NDK/build/tools/make-standalone-toolchain.sh --platform=android-5 --install-dir=/tmp/my-android-toolchain
</pre><p>This will create a directory named /tmp/my-android-toolchain containing a copy of the android-5/arch-arm sysroot, and of the toolchain binaries.</p>
-<p>Note that by default, the 32-bit ARM-based GCC 4.6 toolchain will be selected by the script. Use the '&ndash;arch=x86' option to specify the x86 GCC 4.6, or add '&ndash;arch=mips' option to specify the MIPS GCC 4.6, or alternatively '&ndash;toolchain=&lt;name&gt;'. For example: </p>
+<p>Note that by default, the 32-bit ARM-based GCC 4.8 toolchain will be selected by the script. Use the '&ndash;arch=x86' option to specify the x86 GCC 4.8, or add '&ndash;arch=mips' option to specify the MIPS GCC 4.8, or alternatively '&ndash;toolchain=&lt;name&gt;'. For example: </p>
<pre class="fragment"> --toolchain=x86-4.8 # select x86 GCC 4.8 compiler
- --toolchain=arm-linux-androideabi-4.7 # select ARM GCC 4.7 compiler
- --toolchain=mipsel-linux-android-4.6 # select MIPS GCC 4.6 compiler, same as --arch=mips
+ --toolchain=arm-linux-androideabi-4.9 # select ARM GCC 4.9 compiler
+ --toolchain=mipsel-linux-android-4.8 # select MIPS GCC 4.8 compiler, same as --arch=mips
</pre><p>If you wish, add '&ndash;llvm-version=3.3' to also copy clang/llvm 3.3, or use &ndash;toolchain with '-clang3.3' suffix. For example: </p>
<pre class="fragment"> --toolchain=arm-linux-androideabi-clang3.3 # same as --arch=arm --llvm-version=3.3
</pre><p>You may specify &ndash;system=linux-x86_64 on 64-bit Linux or &ndash;system=darwin-x86_64 on 64-bit MacOSX to make 64-bit host toolchain instead of the 32-bit one (default). See IV of NDK-BUILD.html</p>
diff --git a/docs/Programmers_Guide/html/md_3__key__topics__libraries__c_p_l_u_s_p_l_u_s-_s_u_p_p_o_r_t.html b/docs/Programmers_Guide/html/md_3__key__topics__libraries__c_p_l_u_s_p_l_u_s-_s_u_p_p_o_r_t.html
index 903075783..815fad3c3 100644
--- a/docs/Programmers_Guide/html/md_3__key__topics__libraries__c_p_l_u_s_p_l_u_s-_s_u_p_p_o_r_t.html
+++ b/docs/Programmers_Guide/html/md_3__key__topics__libraries__c_p_l_u_s_p_l_u_s-_s_u_p_p_o_r_t.html
@@ -172,7 +172,7 @@ $(document).ready(function(){initNavTree('md_3__key__topics__libraries__c_p_l_u_
<h3>libc++-specific issues:</h3>
<p>"-std=c++11" is turned on by default.</p>
<p>Similiar to GNU libstdc++, you need to explicitly turns on exceptions or rtti support in "LOCAL_CPP_FEATURES" if you wish.</p>
-<p>It's likely that you need libatomic if you #include &lt;atomic&gt;. Add "LOCAL_LDLIBS += -latomic" for ndk-build, and "-latomic" for standalone toolchain. Note that -latomic is only available in gcc4.8, not gcc4.6. Clang3.4/3.3 use gcc4.8's as/ld/headers/libraries so they get -latomic too. The version of libatomic in gcc4.8 <em>may</em> work for gcc4.6, although it's not tested and you have to copy them manually.</p>
+<p>It's likely that you need libatomic if you #include &lt;atomic&gt;. Add "LOCAL_LDLIBS += -latomic" for ndk-build, and "-latomic" for standalone toolchain. Note that -latomic is only available in gcc4.8, not gcc4.6 (deprecated and removed since r10e). Clang3.4/3.3 use gcc4.8's as/ld/headers/libraries so they get -latomic too. The version of libatomic in gcc4.8 <em>may</em> work for gcc4.6, although it's not tested and you have to copy them manually.</p>
<p>This NDK provides prebuilt static and shared libraries for libc++ compiled by clang3.4, but you can force it to be rebuilt from sources by defining the following in your environment or your Application.mk before building: </p>
<pre class="fragment"> LIBCXX_FORCE_REBUILD := true
</pre><p>Around 99% of current 4640 tests passes when compiling libc++ with clang3.4 for all supported ABIs. The remaining fails are mostly in the areas of wchar_t and locale Android bionic don't support. Switching locale from the default produces the following warning in logcat </p>