From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from minnie.tuhs.org (minnie.tuhs.org [45.79.103.53]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id 7962102e for ; Sun, 30 Dec 2018 18:49:08 +0000 (UTC) Received: by minnie.tuhs.org (Postfix, from userid 112) id 020E4AF367; Mon, 31 Dec 2018 04:49:06 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id D37B3AF363; Mon, 31 Dec 2018 04:48:44 +1000 (AEST) Received: by minnie.tuhs.org (Postfix, from userid 112) id 50063AF363; Mon, 31 Dec 2018 04:48:43 +1000 (AEST) Received: from smtp-out-1.mxes.net (smtp-out-1.mxes.net [205.237.194.119]) by minnie.tuhs.org (Postfix) with ESMTPS id D4D0B94140 for ; Mon, 31 Dec 2018 04:48:42 +1000 (AEST) Received: from Customer-MUA (mua.mxes.net [10.0.0.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.mxes.net (Postfix) with ESMTPSA id 41FB727517 for ; Sun, 30 Dec 2018 13:48:41 -0500 (EST) From: To: References: <20181229010900.19F6218C074@mercury.lcs.mit.edu> In-Reply-To: Date: Sun, 30 Dec 2018 13:48:38 -0500 Message-ID: <128301d4a070$4794ea70$d6bebf50$@ronnatalie.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQHAbN3IX34ZYpdXyL7S528kPUXAcwE5u/VxpbY37mA= Content-Language: en-us X-Sent-To: X-Sender: ronnatalie.com Subject: Re: [TUHS] Deleted lib1 and lib2 in v6, recoverable? X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" Yes, it pretty much has to be this way as it is a single pass process = and the ar format is simple. The later libraries have a symbol "dictionary" added to the beginning. = Before that you manually arranged the order of the relocatables in the = library and later automated tools to put them in dependency order = (ranlib, etc...) came about. > -----Original Message----- > From: TUHS On Behalf Of Paul Winalski > Sent: Sunday, December 30, 2018 1:34 PM > To: Noel Chiappa > Cc: tuhs@minnie.tuhs.org > Subject: Re: [TUHS] Deleted lib1 and lib2 in v6, recoverable? >=20 > On 12/28/18, Noel Chiappa wrote: > > > > If so, the thing is that the V6 linker won't pull in an object = module > > from a library unless a global in it satisfies an already existing > > (i.e. in the linking process) undefined global. (I don't know if = this > > is true of later linkers; never used 'em.) >=20 > I think this has been pretty much universal behavior for all linkers = on all OSes > since the 1960s. It continues to be true today. >=20 > Sometimes one runs into a situation where a module loaded from lib1.a = has > an undefined symbol that causes a module from lib2.a to be loaded, and = that > module in turn has an undefined symbol that is defined in lib1.a. In = that > case, you have to cause the linker to scan lib1.a > twice: >=20 > ld main.o lib1.a lib2.a lib1.a >=20 > -Paul W.