Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!mit-eddie!genrad!decvax!decwrl!pyramid!prls!mips!earl From: earl@mips.UUCP (Earl Killian) Newsgroups: comp.arch,comp.unix.wizards,comp.os.misc Subject: Re: Shared libraries Message-ID: <710@gumby.UUCP> Date: Fri, 25-Sep-87 18:20:34 EDT Article-I.D.: gumby.710 Posted: Fri Sep 25 18:20:34 1987 Date-Received: Sun, 27-Sep-87 10:51:35 EDT References: <2067@sfsup.UUCP> <2903@phri.UUCP> <6461@brl-smoke.ARPA> <2906@phri.UUCP> Lines: 22 Xref: mnetor comp.arch:2377 comp.unix.wizards:4519 comp.os.misc:246 In article <2906@phri.UUCP>, roy@phri.UUCP (Roy Smith) writes: [lots of words about programming in the real world] I agree with what Roy Smith wrote with respect to the real world. But, shared libraries aren't bad for his world. I think they make life simpler. At least if done right (I don't think System V shared libraries qualify, but I don't know). On Multics, it works the way Henry Spencer expects; to fix a broken function, you simply put a replacement in the search path, and the problem is fixed. You don't need to relink everything that's been worked in since the bug first appeared (finding all the programs linked with the bad system() in your example might be a real chore, depending on when the bug is discovered). Bug fixes, workarounds, and new features are major uses of Multics dynamic linking. Consider something trivial on Multics and impossible on vanilla Unix. I login to a system over the arpanet from far away. It prints out time in the wrong time zone. Suppose there's no option to specify a timezone. I just put a new binary to ascii time conversion function in my search path, and I'm happy. On Unix I'd have to relink all the appropriate programs in /usr (not easy if I don't have the source).