Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!fernwood!uupsi!sunic!dkuug!diku!thorinn From: thorinn@diku.dk (Lars Henrik Mathiesen) Newsgroups: comp.unix.programmer Subject: Re: shared libraries, when to use them Keywords: shared libraries .so Message-ID: <1991Jun21.145445.21905@odin.diku.dk> Date: 21 Jun 91 14:54:45 GMT References: <1991Jun11.163544.20234@aio.jsc.nasa.gov> <1991Jun18.050150.17149@thunder.mcrcim.mcgill.edu> <8448@auspex.auspex.com> Sender: thorinn@skinfaxe.diku.dk Organization: Department of Computer Science, U of Copenhagen Lines: 23 guy@auspex.auspex.com (Guy Harris) writes: > >You can't, because SunOS doesn't have shared libraries. (What it does > >have is shared object files. What's the difference? You can link in > >part of a library without linking in the rest, among other things.) >Just out of curiosity, who *has* implemented shared libraries? I think Borroughs did on their Bx700 series. If I remember correctly what I was told, each procedure (and array, ...) resides in its own segment and is referenced through a descriptor; if it's not in core, the descriptor ``contains'' a filename and other info. Whne the Binder on those systems resolve a function name it just insert the proper descriptor in a global list. When a new library is installed programs must be rebound, but it is a very quick process; and since the user code is linked the same way, it is very quick to make a program use an updated version of a single procedure. (And if it doesn't work that way, it could've.) -- Lars Mathiesen, DIKU, U of Copenhagen, Denmark [uunet!]mcsun!diku!thorinn Warning: This article may contain unmarked humour. thorinn@diku.dk