On Mon, 13 Jan 2020 at 16:43, Paul Winalski <paul.winalski@gmail.com> wrote:

> Now my memory is a little hazy... I think OSF/1-386 used MachO originally,
> but I've forgotten.   Switching the kernel to use ELF was one of the
> differences between OSF1 and Tru64 IIRC.

GEM never had to support Mach-O on any of its target platforms.  DEC's
Unix on MIPS used COFF.  Tru64 used ELF exclusively.  I don't know
what Apple used for object files before OS X.  IIRC NeXT was based on
the CMU MACH microkernel and hence used Mach-O.  OS X is
FreeBSD-based, but it uses Mach-O.

OSF/1 on MIPS used ECOFF by default, but at least some versions could also create and run ELF executables.  That was all early to mid 1992, I believe.  I don't have my DECstation up right now to check but I'm sure that the OSF/1 2.0 beta can do it, and I wouldn't be surprised if the versions of 1.0 with the v3.0 compiler could also do it.  I remember trying to do ELF shared libraries but I think that support wasn't ready yet, which is a shame because the ECOFF shared libraries on that platform are not fun to deal with.  Not as bad as SGI's ECOFF shared libraries on IRIX 4 though.  I'm not sure if anyone outside of SGI ever bothered to put in the work required to make one.

Wasn't OSF's original intent to use the OSF/ROSE object format?

-Henry