Stumbled over this here while searching for alternative emulation options: ibcs-us.sourceforge.io (
https://ibcs-us.sourceforge.io/)
Wouldn't it be great if there were a similar solution for directly running legacy NeXTSTEP/OPENSTEP binaries on x86_64 Linux without the system vitualization overhead of previous or virtualbox?
Just imagine being able to use the NeXTSTEP versions of programs such as FrameMaker, WordPerfect, the Lighthouse apps, CedarWord, Adobe Illustrator, Altsys Virtuoso, and so many more with near native speed in a Linux Window Maker session...
It looks like all of the targeted Unices are AT&T Unix, if I'm not mistaken, so building compatibility with ibcs-us as a base would require handling the BSD/AT&T split (iirc Linux itself is more AT&Tish than BSDish?) and the realities of Mach + a Mach-O loader. Perhaps using the Darwin 0.3 sources something could be done, but the necessary work would probably be greater than that required to make a frankensteined system out of Rhapsody, Darwin 0.3, and the OS4.2 userland.
I have actually thought about this in the past. Using Musashi or an x86 port of emu68.
Note an emulator here wouldn't have to emulate the 68K MMU, just the userspace parts.
GNUStep implements a lot of the userlevel code, so there a lot of the work would be trapping and thunking calls. You'd also have to trap Mach kernel calls, but for a lot of apps I'm not sure how much they rely on the kernel for services.
It certainly would be interesting. There are a few NeXT apps that still have no equivilant on Linux, like Lotus Improv/Quantrix for example.
EDIT: I suppose the first step would be to get a Mach-O binary parsing, load up some of the 68K code and run it. No-syscalls, no linking lbraries or anything, just run some of the raw 68K. Baby steps forwards from there.
There is darling which is a translation layer for MacOS->Linux. They've done a lot of Mach-O loading and linking work someone could copy from.
https://www.darlinghq.org
For Linux, it would probably be advisable to just leave out 68K and opt straight for mainly Intel x86 binary emulation, as has been done to an astonishing degree with WINE for Win32/64 binaries. There are so many NeXTSTEP and OPENSTEP applications available for Intel that all the other binary formats are to some degree neglectable.