Jane
Jane

Reputation: 123

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.

Upvotes: 11

Views: 3525

Answers (4)

Viktor Latypov
Viktor Latypov

Reputation: 14467

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

It includes gcc 4.6.3.

Upvotes: 1

Sergey K.
Sergey K.

Reputation: 25386

Android NDK 8b is released, featuring GCC 4.6 as the default toolchain.

http://developer.android.com/tools/sdk/ndk/index.html

Upvotes: 0

i_am_jorf
i_am_jorf

Reputation: 54600

While trying to answer this myself I came across this, which is a step-by-step account of a man who successfully built the toolchain with GCC 4.6: http://glandium.org/blog/?p=2146.

Upvotes: 0

Joe
Joe

Reputation: 42155

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.

Upvotes: 3

Related Questions