Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!caip!brl-adm!brl-smoke!gwyn From: gwyn@brl-smoke.ARPA (Doug Gwyn ) Newsgroups: net.unix-wizards Subject: Re: ranlib and ``ucb'' Message-ID: <2041@brl-smoke.ARPA> Date: Wed, 9-Jul-86 05:07:53 EDT Article-I.D.: brl-smok.2041 Posted: Wed Jul 9 05:07:53 1986 Date-Received: Thu, 10-Jul-86 01:26:45 EDT References: <1916@brl-smoke.ARPA> <1278@ncoast.UUCP> <292@foxvax5.UUCP> Reply-To: gwyn@brl.arpa (Doug Gwyn (VLD/VMB) ) Organization: Ballistic Research Lab (BRL), APG, MD. Lines: 21 In article <292@foxvax5.UUCP> dbr@foxvax5.UUCP (D.B. Robinson (Douglas)) writes: >Now that System V no longer supports ranlib(1), what happens to the code >in libraries that have cycles in their references? No, no -- you misunderstand the situation. UNIX System V does not have a "ranlib" command because it does not need one. The UNIX System V "ar" maintains an entry-point table of contents for the COFF (object module) members, which "ld" uses. This is the *same* scheme as the one using "ranlib", except the table of contents is kept automatically up-to-date by "ar" instead of having to run a separate command afterwards. This is a real win if you copy library archives around, since Berkeley "ld" thinks your new archives are out-of-date if you don't run "ranlib" on the newly-created libraries, whereas the correct information is embedded in the library and follows it around under the System V scheme. Of course, it does uglify the archiver, which acquires special-case code for object-module members.