On Thu, Mar 29, 2018 at 3:37 PM, Paul Winalski <paul.winalski(a)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