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 ;-)
Vaclav