On Thu, Mar 29, 2018 at 3:37 PM, Paul Winalski <paul.winalski@gmail.com> wrote:
What is the history of shared objects on Unix?  When did they first
appear, and with what object/executable file format?  The a.out ZMAGIC
format doesn't seem to support them.  I don't recall if COFF does.
MACH-O, at least the MacOS dialect of it, supports dynamic libraries.
ELF supports them.

Both FreeBSD and Linux supported shared libraries for a.out, though I can't recall which of the *MAGIC formats they were. The Linux ones had fixed load addresses, while the FreeBSD ones allowed any load address. Each of these approaches has pros and cons, but both were tossed away in favor of ELF just as soon as ELF was stable. Though, FreeBSD still has an a.out run time linker in the tree. I wouldn't think it was still in use, but the maintainer still fixes a bug in it every 9-24 months that some user has reported...

Warner