On 6 February 2012 10:11, Johannes Pfau <nospam@example.com> wrote:
Am Mon, 6 Feb 2012 01:48:32 -0600
schrieb Andrew Wiley <wiley.andrew.j@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.

Sorry, missed this one. Did spot those flags in the build scripts, so yeah, just missed them last night >_<
Sorry about that. I'll try again this evening and see how it looks.