The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: clemc@ccc.com (Clem Cole)
Subject: [TUHS] shared objects in Unix
Date: Thu, 29 Mar 2018 20:22:14 -0400	[thread overview]
Message-ID: <CAC20D2ORfP-bCTZiM0rxYywGmF7QpsORTtCGx86++tzeyjRwbw@mail.gmail.com> (raw)
In-Reply-To: <20180329232409.GH8921@mcvoy.com>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2270 bytes --]

Paul,

The point is that there were a number of different shared library
implementations for UNIX over the years.  That was one of the 'knocks' when
comparing VMS to 4.1BSD in the early 80s.   VMS had shared libraries from
the start.   I'm pretty sure the first unix to support shared libraries was
CMU's Mach using its modified about called macho, which lives today in Mac
OSX.     BSD4.2 had started to implement it, but it was incomplete so folks
like Sun and Masscomp each did their own scheme, both based on modified
a.out. A big problem was every vendor messed with a.out in a different way
-- so Sun's, Masscomp and Apollo's versions were all a little different and
you a linker guy, you know that a.out was not a great format for same.

With System V.3, AT&T introduced was an a new file format, called the
Common Object File Format - *a.k.a.* COFF. SVR3 supported shared libs.  In
fairness, COFF was a huge improvement over a.out, but it was done when AT&T
was in its 'consider it standard' time and trying to force its will and
wanted licensing fees.   Let's say that failed for non-technical reasons.
Unfortunately, it lead to more confusion and we ended up a number of
different COFF-almost, sort-of, extensions.  IIRC, IBM went with a modified
COFF, but again we were in a cold war of who could do what.  I remember
that the time, the Gnu guys wrote tool called 'robitussin' - which 'cured
COFFs.'

With, AT&T's SVR4 release the world was introduced to the 'Extended Linker
Format' - ELF, which fixed a number of issues with COFF, the primary one
being that it could loaded images faster and you could page from directly,
which neither a.out nor COFF could easily.  Again IIRC, SVR4's linker could
handled AT&T's COFF files.

I have never known the legals on it, but some how the details of ELF did
become public and somebody reimplemented the GNU compilers to use it and
AT&T for whatever reason did not complain (maybe the had their hands full
at time with BSDi case).   Anyway, eventually both Linux and FreeBSD
switched to that version of Gnu and its pretty much been stable since.
ᐧ
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20180329/455b07c7/attachment.html>


  reply	other threads:[~2018-03-30  0:22 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-29 21:37 Paul Winalski
2018-03-29 22:01 ` Henry Bent
2018-03-29 22:26 ` Warner Losh
2018-03-29 23:11 ` Dave Horsfall
2018-03-29 23:22   ` Warner Losh
2018-03-29 23:24   ` Larry McVoy
2018-03-30  0:22     ` Clem Cole [this message]
2018-03-30  1:46       ` Larry McVoy
2018-03-30  4:28         ` Clem cole
2018-03-30 20:52           ` Jon Forrest
2018-03-30 22:42             ` Clem Cole
2018-03-30 23:29               ` Paul Winalski
2018-04-03 15:49               ` Derek Fawcus
2018-03-30  1:20   ` Lyndon Nerenberg
2018-03-30  0:40 ` Clem Cole
2018-03-30  1:35   ` Charles H. Sauer
2018-03-30  2:10     ` Larry McVoy
2018-03-30  2:34       ` Charles H. Sauer
2018-03-30  3:04         ` Warner Losh
2018-03-30 20:33         ` Charles H Sauer
2018-03-30  3:00   ` Ron Natalie
2018-03-30 21:53   ` Steve Johnson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAC20D2ORfP-bCTZiM0rxYywGmF7QpsORTtCGx86++tzeyjRwbw@mail.gmail.com \
    --to=clemc@ccc.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).