3 ms·
It would have been interesting to see what Apple would have done with BeOS's ABI problem. Be used GCC's 2.9x C++ ABI, which wasn't stable and was changed in 3.
by wmil 9y ago
It would have been interesting to see what Apple would have done with BeOS's ABI problem.
Be used GCC's 2.9x C++ ABI, which wasn't stable and was changed in 3.0. Would Apple have forked GCC? Or re-worked the design of Be avoid the issue?
- badsectoracula 9y agoProbably what Haiku does: provide two sets of libraries, one with the 2.9x ABI for older programs and binary compatibility with BeOS apps and one with the 4.xx ABI for newer programs. I think the old one is actually a shim for the new one (it isn't a full build, all it does is forwards the calls) but i'm not 100% sure.
- memsom 9y agoBeOS for PowerPC didn't use GCC. It used the Metrowerks Compilers (mwcc etc). One of the reasons is because the BeOS used PEF exe format. As Apple wouldn't open that up, hardly any comilers support that format - which kills gcc on the BeOS PPC platform. This is why you're unlikely to ever see Haiku on a BeBox or any Haiku support for legacy BeOS PPC apps. I hacked together a MWOB decompiler back in the day and re-implemented it as a fun little project last year. It's on my GitHub [1] is anyone cares. I will some day get an assembler working and outputting MWOB files. Probably. There's some other BeOS stuff kicking about, including an input driver for using gesture based writing [2]. I was writing this for BeIA, as at the time I has one of the Dt300 web pads running BeIA 1.0. There was a crappy UI toolkit wrapper we were using for Free Pascal too [3]. The latter included "fdb", which was a cool little BMessage based debugger tool. I wrote is as a throw away, bit some one once told me it was their daily driver at one point for debugging apps on end user machines. [1] https://github.com/memsom/mwobdec https://github.com/memsom/mwobdec [2] https://github.com/memsom/ratcowsoftopensource/tree/master/BeOS/strokeit_src https://github.com/memsom/ratcowsoftopensource/tree/master/B... [3] https://github.com/memsom/ratcowsoftopensource/tree/master/delphi/begui https://github.com/memsom/ratcowsoftopensource/tree/master/d...
- memsom 9y agoClarification: BeOS PPC uses PEF (because that was the main format MW supported, there was a lot of Apple knowledge in the building and there wasn't a better exe format for PowerPC at the time.) The offshoot of this is that some of the software from PR will run on R5.03. (preview release, for some reason the first 2 public releases were called PR(1) and PR2, with AA (advanced access) being almost PR1, but not quite baked.) One of the things I managed to get working was the MW Java - it was horribly out of date, but it was pretty cool to mess about with. Intel used PE for R3, then ELF from R4 onwards. So R3 Intel software is not compatible with any other release. No idea what the Hobbit BeBoxen used. BeIA used ELF or CELF, the latter being a customised ELF exe format with compression of symbols and stuff like that to reduce on disk size.