Am Mon, 6 Feb 2012 01:48:32 -0600 schrieb Andrew Wiley <wiley.andre...@gmail.com>:
> > Actually, if the Android default is to build against softfloat ABI, > you may be stuck with it. If Android doesn't require hardfloat to run > and doesn't let developers provide multiple binaries for different > platforms (which it might - I don't know), things get very hard. > > Also, with NEON, one of the things you don't really hear until you > start working with these is that NEON isn't actually required in most > if not all of the ARM CPU specs. I've specifically dealt with the > Tegra 2, which is used in a lot of phones and has no NEON support even > though it's ARM Cortex-A9. There's a official armv7-a ABI for android, it doesn't use 'hard', but at least 'softfp' instead of 'soft'. Just found the relevant documentation: See android-ndk-r7/docs/STANDALONE-TOOLCHAIN.html 4/ ABI Compatibility: ------------------------ If you want to target the 'armeabi-v7a' ABI, you will need ensure that the following two flags are being used: CFLAGS='-march=armv7-a -mfloat-abi=softfp' If you want to use Neon instructions, you will need one more compiler flag: CFLAGS='-march=armv7-a -mfloat-abi=softfp -mfpu=neon' Also, is is *required* to use the following linker flags that routes around a CPU bug in some Cortex-A8 implementations: LDFLAGS='-Wl,--fix-cortex-a8' ------------------------ so according to those docs, you simply pass those flags to the compiler, no need to recompile the compiler.