Martin Storsjö martin@martin.st writes:
Yes - __attribute__((pcs("aapcs-vfp"))) seems to be what would be required. I've only tested wine in hardfloat linux environments, which is why I haven't thought about the issue until now.
Indeed, that looks like what we need.
However, in the build configuration you're running, where VFP instructions aren't allowed at all, this wouldn't work. You'd need to build with at least -mfloat-abi=softfp, which keeps the same softfloat ABI as default, but allows using floating point instructions within functions, and also allows switching to hardfloat ABI selectively per function.
Doing that, your build effectively targets/requires armeabi-v7a, in android NDK terms. You can't support the windows ABI within a plain armv5 armeabi build.
Yes, the intent is to use armeabi-v7a on Android. I haven't quite figured out how to make my toolchain default to that yet...