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.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, 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 d946a9f5 for ; Sun, 30 Dec 2018 18:34:37 +0000 (UTC) Received: by minnie.tuhs.org (Postfix, from userid 112) id 6FD33AF368; Mon, 31 Dec 2018 04:34:35 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id EA695AF363; Mon, 31 Dec 2018 04:34:05 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="i7kjDSEf"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 8DE15AF363; Mon, 31 Dec 2018 04:34:03 +1000 (AEST) Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) by minnie.tuhs.org (Postfix) with ESMTPS id D7D8594140 for ; Mon, 31 Dec 2018 04:34:02 +1000 (AEST) Received: by mail-lf1-f43.google.com with SMTP id y11so17343709lfj.4 for ; Sun, 30 Dec 2018 10:34:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=VR6yT6w0lDmNylj3ryfCjx+l2O4HV9OszfdWefSujJY=; b=i7kjDSEfax0OSsrZdwYQVT/MZ0DJFN3yarXzLwOCBYU7147Cro3Sise96vNx+NP2uw UxcqspynOwqrWkN9ZVNKXwI4z4n08UGRrfDhCC0ISo+gul+H1Dv8Jr9s6gDBbrUDVTkh 9qHIc/pDzI6GiFWc6esjaVUh63a6IR9jdS8htMv8ZJ3I4xB02SdnTn3R8nhUmk109rm2 IgHMZdF0zyyuo/ZCQkVYYzNT98Scz5awghUgVwoFeVckQWuLVLv7JZ5Lp15AJwwm2mS3 KWtLFSYlWozmuYN1ZIYxTRBkKprAie2NT1cbdnOG6xwPv45ECiXeIR0nTsg3X28qMsey ie3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=VR6yT6w0lDmNylj3ryfCjx+l2O4HV9OszfdWefSujJY=; b=X9oGMF45TeVP2e3uVCNRktSTz7OHAbGiyVjz0JSrntSgO12Uig3FbRMPX/DLLRlEPW ixioo2db7SBYPlmj3Y+vSuMpR3VlDmaR2B1iNzYoOoLCHZf05pMshqQHVE0E3QzP09Cv QWuMD4whLQ/iu4yk4Ko2Hb6E5vd5pSQQja7dIs/cT2iBWJtEXEFFcJvm5kVQcIJiBwps 2eAF5C5OYZXt0uTv/uAOd8Aq7WuxlzopACT1YISX5kwVPWe0Ft3hkXZVgfywvy5Rr/ht nD5SwkBgb9kaFF4NwVBefDllEWv5KceQ9OdR6xUC9E4Ac+KLgpsCDNYu2BA+9Z+KVATB u1dg== X-Gm-Message-State: AA+aEWYNHtSTXLNkBFwlp1EYQOHPGqUDI4t1g1trc6PQ3fBbRMFIjkl/ ETuTKPv64huRIDJREPiR3GoS+eVwmvBVnzuKq3zpYQ== X-Google-Smtp-Source: AFSGD/VDC6gTq2OkTy8KU0nUVOR8xLha1OsW9WzK1s0SM12qTts1Rmys7CXqwT/rYqlRITj4OMSMZ0PP6L0IgDzTmi0= X-Received: by 2002:a19:d58e:: with SMTP id m136mr18749889lfg.70.1546194841017; Sun, 30 Dec 2018 10:34:01 -0800 (PST) MIME-Version: 1.0 Received: by 2002:a2e:3a11:0:0:0:0:0 with HTTP; Sun, 30 Dec 2018 10:34:00 -0800 (PST) In-Reply-To: <20181229010900.19F6218C074@mercury.lcs.mit.edu> References: <20181229010900.19F6218C074@mercury.lcs.mit.edu> From: Paul Winalski Date: Sun, 30 Dec 2018 13:34:00 -0500 Message-ID: To: Noel Chiappa Content-Type: text/plain; charset="UTF-8" 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: , Cc: tuhs@minnie.tuhs.org Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" 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.) I think this has been pretty much universal behavior for all linkers on all OSes since the 1960s. It continues to be true today. 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: ld main.o lib1.a lib2.a lib1.a -Paul W.