Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!cmcl2!phri!roy From: roy@phri.UUCP (Roy Smith) Newsgroups: comp.arch,comp.unix.wizards,comp.os.misc Subject: Shared libraries (Was: Re: Big Programs Hurt Performance) Message-ID: <2903@phri.UUCP> Date: Tue, 22-Sep-87 10:35:32 EDT Article-I.D.: phri.2903 Posted: Tue Sep 22 10:35:32 1987 Date-Received: Thu, 24-Sep-87 07:22:01 EDT References: <6886@eddie.MIT.EDU) <2501@xanth.UUCP> <2067@sfsup.UUCP> Reply-To: roy@phri.UUCP (Roy Smith) Organization: Public Health Research Inst. (NY, NY) Lines: 21 Xref: mnetor comp.arch:2304 comp.unix.wizards:4415 comp.os.misc:213 In article <2067@sfsup.UUCP> shap@sfsup.UUCP (J.S.Shapiro) gives a pretty good introductory rundown on shared libraries. One thing that has always bothered me about shared libraries (or dynamic loading, if you prefer) is the problem of backward compatability. It's not too uncommon that a new version of a program comes along, but some people still want to use the old version, for whatever reason. Let's say a new version of scanf comes along which follows some standard a bit closer than the old one. This is arguably a good thing, but what if I just happen to have a program which depends on the old (albeit wrong) behavior of the scanf library function. On a compile-time library loading system, all I would have to do would be to keep around a copy of the executable loaded with the old library and I'd be happy. We have more than one 3.0 binary running on our SunOS-3.2 systems for exactly this reason. What do I do on a shared library system when scanf changes out from under me and breaks my program? -- Roy Smith, {allegra,cmcl2,philabs}!phri!roy System Administrator, Public Health Research Institute 455 First Avenue, New York, NY 10016