From mboxrd@z Thu Jan 1 00:00:00 1970 From: lm@mcvoy.com (Larry McVoy) Date: Thu, 29 Mar 2018 18:46:42 -0700 Subject: [TUHS] shared objects in Unix In-Reply-To: References: <20180329232409.GH8921@mcvoy.com> Message-ID: <20180330014642.GI8921@mcvoy.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).