On Wed, 2010-05-19 at 16:45 +0300, Eero Tamminen wrote: > ext Cornelius Hald wrote: > > > > Are you sure about _binary_ compatibility? > > That's a good question as there are so many places where it can break. > > Like ARM vs. x86.
Obviously, a MeeGo binary compatibility story would have to include at least two supported hardware profiles. If there are good reasons to support older/different ARM profiles, we could even go to three or more. But each new profile increases the support workload, so each new platform proposal should have a clear and strong justification behind it. > Or GCC upgrade which isn't ABI compatible for C++ > (as has happened quite often in the past). It's been a long time since we've had a serious ABI break in g++. > And what about debuggability of optimized code? For example having > frame pointers vs. frame unwiding (I've understood MeeGo is going for > latter). Would end-users even care? I imagine all kinds of non-standard things could be permitted during development, as long as they all got turned off or filtered out for the final, production build. (Or not, as long as they didn't impact binary compatibility.) > Then there's the packaging angle to consider. If something is compiled > against newer libraries, the resulting package is normally going to have > a dependency to these newer versions of the libraries and cannot be > installed to release or device with older libraries although their ABI > subset would be compatible to the new versions. Under most circumstances, I can't imagine why apps would get compiled against newer libraries. Presumably, most app developers will be using the MeeGo SDK, at least for their final production builds. There could be an issue with newer MeeGo releases, say a MeeGo 1.1 app running on a MeeGo 1.0 device. But there are other hurdles to cross if we want to support that model (what to do with new 1.1 functionality, for instance). As long as we do our job correctly, and 1.0 apps continue to work on 1.1 devices, then we have at least a 90% solution: just build your app against the oldest MeeGo version you want to support. _______________________________________________ MeeGo-dev mailing list [email protected] http://lists.meego.com/listinfo/meego-dev
