Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!crdgw1!uunet!kddlab!cs.titech!titccy.cc.titech!necom830!mohta From: mohta@necom830.cc.titech.ac.jp (Masataka Ohta) Newsgroups: comp.unix.internals Subject: Re: Shared libraries are not necessary Keywords: ISC i386 shared libraries Message-ID: <211@titccy.cc.titech.ac.jp> Date: 20 May 91 09:43:52 GMT References: <196@titccy.cc.titech.ac.jp> <1991May16.135009@wsl.dec.com> <202@titccy.cc.titech.ac.jp> <1991May17.075555.29787@Think.COM> Sender: news@titccy.cc.titech.ac.jp Organization: Tokyo Institute of Technology Lines: 45 In article <1991May17.075555.29787@Think.COM> barmar@think.com writes: >>Those who support shared libraries claimed it is good for software upgrade. >>I disagreed. Usual software upgrade is not so simple. As THEIR (not mine) >>example was introduction of DNS, I proved they are wrong. >There are two kinds of software upgrades: those which change the interface >to the library, and those which only change the implementation. >Most of the common shared library designs only make the second kind simple. >That's certainly better than nothing. And, my claim is that the second kind is almost nothing. Your (those who support shared libraries) example of DNS prove that. Most software upgrade is a little more complex than can be processed by mere library change. >I believe they also enhanced >the /etc/hosts version of the routine to return multiple addresses (our >/etc/hosts file has several host names with multiple addresses). You believe what? No. They didn't do so. You should not have said what you believe. Instead, see lib/libc/net/hosttable/gethostnamadr.c of 4.3BSD source. There is only one IP address entry provided for gethostbyname(). As you don't know enough about host name look up and accompanied complexities of its management, don't say: >Note that an upgrade to use the DNS didn't *have* to include support for >multiple addresses. unless you want to be dishonest. >In Multics, library design guidelines also make the first kind easy. Most >library routines with non-trivial parameters take most of the parameters as >a pointer to a structure. By convention, the first member of the structure >is a version number or version string The only parameter for gethostbyname() is, trivially, a string. Masataka Ohta