OtherCrashOverride wrote:The actual software that is directly affected by the ABI choice is really not that substantial. Its only an issue that compilers (which a JIT is) must deal with. The larger issue with software compatibility is the choice of processor in Raspberry Pi (armv6 vs armv7) and has nothing to do with Android or iOS.
Except that this affects not just those coding in Mono or Java, but any software written in them as well. I expect to see more and more of that — the ability to make a binary (.exe file) that runs on multiple platforms — provided they have a working Mono runtime — is really attractive.
Of course it's true that of the software available for RPi, almost none of it relies on Mono. But I'd argue that's a chicken-and-egg problem. We don't have much Mono software, because Mono doesn't work. We don't care that Mono doesn't work, because we don't have much Mono software.
In the Arm world, the life of a SoC is relatively short. So its a very tough argument to make that anyone should expend money and resources supporting an already legacy cpu (armv6). Supporting Raspberry PI is a 'labor of love' and I cant fault Xamarin (mono), Canonical (ubuntu) or anyone else for making good *business* decisions.
I agree. I've contacted Xamarin to see if I can throw some money at the problem (which I would be willing to do). But I think it unlikely.
At this point I would say the best that could be hoped for realistically is a 'one-off' patch against Mono 2.10 that is frozen in time (including all its bugs) for the duration of the Pi's lifespan.
You're probably quite right. I would certainly be OK with such a patch.
However, barring that, I still think it's a mistake to adopt the hardfloat ABI on armv6, because of the compatibility problems it triggers. As you say, armv6 will be short-lived in the end, and on armv7, perhaps it's a different story.
So I've posted in the Raspbian forum asking whether they will reconsider the hardfloat decision, but I don't anticipate a positive response. My next step is to see whether I can find a distro already built with fp instructions and softfloat ABI — see here
for that discussion.