Fun read. I'm pretty sure there were ways to run SCO SysV binaries unmodified on Linux (and I think FreeBSD and others), back in the day. Maybe something to do with ibcs2?
The bsd binary compatibility system was an interesting effort to allow executeable files built for other systems to run on bsd, I never actually used it but my understanding is it was always hard to set up and fragile.
OpenBSD removed it as they did not feel they could properly maintain the system.
FreeBSD keeps a little of it around, mainly to run linux binaries.
iBCS2 - https://www.linuxjournal.com/article/2809. As another comment indicated, this worked as the syscall layer rather than at the library layer, so the kernel would translate the expected responses - but this meant that you needed libraries that expected the SVR4-style responses, which means having to find a copy of the appropriate libc and so on as well instead of being able to use the Linux libc.
I started digging into this because that's basically the sort of person I am, and hit https://ibcs-us.sourceforge.io/ which implements iBCS2 in userland, including a COFF loader. In theory, with that you should be able to run the unmodified Lotus 1-2-3 binary, as long as you have the corresponding SVR3 or whatever userland available for it.
somat|2 years ago
OpenBSD removed it as they did not feel they could properly maintain the system.
FreeBSD keeps a little of it around, mainly to run linux binaries.
NetBSD it looks like they kept the whole buffet.
https://www.netbsd.org/docs/compat.html
lproven|2 years ago
iBCS = Intel Binary Compatibility Standard. iBCS2 = iBCS v2.
Not the same thing or even related.
anonymousiam|2 years ago
mjg59|2 years ago
mjg59|2 years ago
ivlad|2 years ago