Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a way to let Android NDK-build use a newer version of gcc?

I installed Android NDK r5b Windows version, and I use cygwin to compile the C code.

I see the NDK-build is actually calling C:\android-ndk-r5b\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows\bin\arm-linux-androideabi-gcc-4.4.3 to compile. I wonder if there is a way to let NDK-build use a newer version of gcc?

The reason I want to do this is:

Gcc4.4.3 has known bug on generating not optimal assembly code for certain NEON intrinsics
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43118
http://hilbert-space.de/?p=22

The newly released GCC 4.6 claims that it has some improvements for ARM and intrinsics. So I want try to have NDK-build use GCC4.6.

like image 741
Jane Avatar asked Apr 26 '11 06:04

Jane


2 Answers

I believe your question would be answered by this NDK documentation: docs/STANDALONE-TOOLCHAIN.html. It sounds to me like you know what you're doing, so just heed the warnings and happy hacking. I believe section 3 "Invoking the compiler (the easy way)" is what you're looking for.

like image 72
Joe Avatar answered Sep 27 '22 01:09

Joe


There is an alternative NDK build: http://www.crystax.net/en/android/ndk/7

It includes gcc 4.6.3.

like image 20
Viktor Latypov Avatar answered Sep 24 '22 01:09

Viktor Latypov