On 11/28/2010 11:14 AM, Peter Robinson wrote:

> From my interpretation of the gcc notes on float it looks like the two
are mutually exclusive. From the notes "Note that the hard-float and
soft-float ABIs are not link-compatible; you must compile your entire
program with the same ABI, and link with a compatible set of
libraries. "
The reason is entirely different calling convention. With hardware floating point linkage, arguments and return values are passed in VFP registers; you have to be sure that target contain VFP. With software floating point linkage arguments and return values are passed in ARM registers; it is slower - data has to be transferred to VFP.
My understanding is that all the ARMv7 chips have vfp3 but there's two
different versions (16 and 32) which means that all the A8 chips
should support that, and it seems on the A9 its optional.
Choice of vfp3-16 is the best option right now, otherwise the number of possible targets would be limited.

I vote for vfp3-16 + hardfp + separate repository ;-)