diff options
author | Andrew Hsieh <andrewhsieh@google.com> | 2014-12-17 18:35:18 +0800 |
---|---|---|
committer | Andrew Hsieh <andrewhsieh@google.com> | 2014-12-18 10:47:44 +0800 |
commit | e5e7599ff9e946f3d47c6b3150d7265c1e2dab38 (patch) | |
tree | ba868aeb9e73d3d894a18e3698775580d44d95d7 /docs | |
parent | cde0cb89ada253e9f7f4194de6f7f6af138b7e09 (diff) | |
download | ndk-e5e7599ff9e946f3d47c6b3150d7265c1e2dab38.tar.gz |
Remove GCC 4.6
Change-Id: I840e7a2183e956e27e5dd93357ef2a2dd49fd40b
Diffstat (limited to 'docs')
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 => targeting ARM-based Android devices</li> -<li>x86-4.6 => targeting x86-based Android devices</li> -<li>mipsel-linux-android-4.6 => targeting MIPS-based Android devices</li> +<li>arm-linux-androideabi-4.8 => targeting ARM-based Android devices</li> +<li>x86-4.8 => targeting x86-based Android devices</li> +<li>mipsel-linux-android-4.8 => 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/<name>/prebuilt/<system>/bin/<prefix>gcc --sysroot=$SYSROOT" $CC -o foo.o -c foo.c </pre><p>Where <name> is the toolchain's name, <system> is the host tag for your system, and <prefix> 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 '–arch=x86' option to specify the x86 GCC 4.6, or add '–arch=mips' option to specify the MIPS GCC 4.6, or alternatively '–toolchain=<name>'. 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 '–arch=x86' option to specify the x86 GCC 4.8, or add '–arch=mips' option to specify the MIPS GCC 4.8, or alternatively '–toolchain=<name>'. 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 '–llvm-version=3.3' to also copy clang/llvm 3.3, or use –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 –system=linux-x86_64 on 64-bit Linux or –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 <atomic>. 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 <atomic>. 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> |