The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: lm@mcvoy.com (Larry McVoy)
Subject: [TUHS] shared objects in Unix
Date: Thu, 29 Mar 2018 18:46:42 -0700	[thread overview]
Message-ID: <20180330014642.GI8921@mcvoy.com> (raw)
In-Reply-To: <CAC20D2ORfP-bCTZiM0rxYywGmF7QpsORTtCGx86++tzeyjRwbw@mail.gmail.com>

On Thu, Mar 29, 2018 at 08:22:14PM -0400, Clem Cole wrote:
> 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.     

Uh, you sure about that?

http://cs.cmu.edu/afs/cs.cmu.edu/project/mach/public/doc/published/mapfiles87.ps

is as close as I can find, and that's talking about stuff that was long after
Sun's shared libraries.

There may have been earlier stuff but the approach laid out in

http://www.mcvoy.com/lm/papers/SunOS.shlib.pdf

is pretty much the shared library world as we know it today so far as I
know.

I remember the world before that, I lived in it, and shared libraries were
not a working thing in my memory.  Maybe on VMS, I didn't program much on
VMS, but on any Unix I could get my hands on, Sun was the first to have
working shared libraries.

CMU's Mach, mem, I am by no means a fan (I bought into the hype, read
all the papers, when I finally got to see the code, wow.  NOTHING like Sun's
VM system, I mean, nothing.  It claimed to be the same sort of thing, it was
an ugly mess and it still is.  Sun's VM system was a thing of beauty, you
could read the code and figure out the architecture from the code.  I'd 
challenge anyone to do that from the Mach code).  

But maybe it had shared libs before SunOS but who was using that code?
So far as I know the first time the Mach code was in a commercial product
was Next.  Their first release was October 1988, SunOS 4.0 was Dec 1988
and was a far far far more mature release.

Here's a way to put it into perspective.  In the mid 80's, and maybe 
before, every single open source project's makefile just worked on
a Sun.  I don't ever remember seeing a Makefile that just worked on 
a Next (and I don't know of any other Mach based platform until Apple
many years later).


  reply	other threads:[~2018-03-30  1:46 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
2018-03-30  1:46       ` Larry McVoy [this message]
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=20180330014642.GI8921@mcvoy.com \
    --to=lm@mcvoy.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).