From owner-svn-src-head@freebsd.org Thu Sep 17 15:55:06 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E4D343E4FB1 for ; Thu, 17 Sep 2020 15:55:06 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-qt1-x833.google.com (mail-qt1-x833.google.com [IPv6:2607:f8b0:4864:20::833]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BshPP25kzz4CS0 for ; Thu, 17 Sep 2020 15:55:05 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-qt1-x833.google.com with SMTP id k25so2260882qtu.4 for ; Thu, 17 Sep 2020 08:55:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=iWF4cX0WNcvfsQb+S2VhetJhPFx8aDtcw5UU1WVdhBs=; b=r+5R2O7NERewbxBQ2tzF6sXGEY6lTUQvNpFMZbG41yOIzDBYXGCmfeay9HOupL/e/y tysBJbCmXw03Jn63DVHBclNuh0IwwD06mOSDUotKDujhbA4tpR6NgW+CQdxpSutbFsiQ 3gcJgKTbP8Ln7hOMYVMhbJbnFkHYeG33Ems7AFiSqqscfdwZKQyRooOJAZe/0EpG7efh zsZZIJ4FJCydc2mFwN7mK8cZHfh4OxyEBW/9Odng++v82/UE0FzvyTwfFSs6eSBSVi4R gO6s707Q47azJ64NIyxQKQFzyvcpVGd96cNXT6WIKRCOVZky3cl9XYSQT6MhH4MNzuMT jTRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=iWF4cX0WNcvfsQb+S2VhetJhPFx8aDtcw5UU1WVdhBs=; b=nvOn/vydiXr3G0jpsDgOgVyYVWkKtdeBl3/0r304fFDwBfzuODybk7b8k+rs5UZ/3i /INEQ02nLnlHaUZ+eehQSFFzmAYm3VvVseE73AZn7uvy7rIFW22fyPkoiVM37lKJuSVw U/xHN2Bob1WgI/KJuYgd4tWiNSMQBr/dRnbefaixN69rGJ4WN6Ri00TVMUPD3s9CkydY 07QuBeGb00DH1COu+nq4nosTbUShBFFusrNO2M8awNrR5t2W3qbt2bBjjvp4E0vEsjdP bislKLIm6QIxgwXC4PIM1Fr4czHJctf2LoXXcrmHotyC45v69GKBApXVopA3HuQ2Uvey rSaw== X-Gm-Message-State: AOAM530Q7Er+61zpBOUMzPxlwUtkavenYFmTS+2iH3hJBn+ZBH4J7s6o OGFpBtPkx+vya+SeB41Ea8XyEvTGIlf+REBpu6PMRw== X-Google-Smtp-Source: ABdhPJwmkXvsm410Pb0VqMh+BofhhsraLHVOQlA72l6cpvIiKW3q7BzG6MdZElA/q+lWUj35udVy6ngk2vP7FMvoUQQ= X-Received: by 2002:ac8:7388:: with SMTP id t8mr28672311qtp.187.1600358103310; Thu, 17 Sep 2020 08:55:03 -0700 (PDT) MIME-Version: 1.0 References: <202009171507.08HF7Qns080555@repo.freebsd.org> <20200917153843.tZEGn%steffen@sdaoden.eu> In-Reply-To: <20200917153843.tZEGn%steffen@sdaoden.eu> From: Warner Losh Date: Thu, 17 Sep 2020 09:54:52 -0600 Message-ID: Subject: Re: svn commit: r365836 - head/share/mk To: Alex Richardson , src-committers , svn-src-all , svn-src-head X-Rspamd-Queue-Id: 4BshPP25kzz4CS0 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bsdimp-com.20150623.gappssmtp.com header.s=20150623 header.b=r+5R2O7N; dmarc=none; spf=none (mx1.freebsd.org: domain of wlosh@bsdimp.com has no SPF policy when checking 2607:f8b0:4864:20::833) smtp.mailfrom=wlosh@bsdimp.com X-Spamd-Result: default: False [-2.35 / 15.00]; RCVD_TLS_ALL(0.00)[]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[bsdimp-com.20150623.gappssmtp.com:s=20150623]; NEURAL_HAM_MEDIUM(-0.96)[-0.961]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; NEURAL_HAM_LONG(-1.00)[-0.998]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-head@freebsd.org]; DMARC_NA(0.00)[bsdimp.com]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[bsdimp-com.20150623.gappssmtp.com:+]; NEURAL_HAM_SHORT(-0.39)[-0.394]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::833:from]; R_SPF_NA(0.00)[no SPF record]; FORGED_SENDER(0.30)[imp@bsdimp.com,wlosh@bsdimp.com]; MIME_TRACE(0.00)[0:+,1:+,2:~]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FROM_NEQ_ENVFROM(0.00)[imp@bsdimp.com,wlosh@bsdimp.com]; MAILMAN_DEST(0.00)[svn-src-head]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.33 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Sep 2020 15:55:07 -0000 On Thu, Sep 17, 2020 at 9:39 AM Steffen Nurpmeso wrote: > Alex Richardson wrote in > <202009171507.08HF7Qns080555@repo.freebsd.org>: > |Author: arichardson > |Date: Thu Sep 17 15:07:25 2020 > |New Revision: 365836 > |URL: https://svnweb.freebsd.org/changeset/base/365836 > | > |Log: > | Stop using lorder and ranlib when building libraries > | > | Use of ranlib or lorder is no longer necessary with current linkers > | (probably anything newer than ~1990) and ar's ability to create an > object > | index and symbol table in the archive. > | Currently the build system uses lorder+tsort to sort the .o files in > | dependency order so that a single-pass linker can use them. However, > | we can use the -s flag to ar to add an index to the .a file which makes > | lorder unnecessary. > | Running ar -s is equivalent to running ranlib afterwards, so we can > also > | skip the ranlib invocation. > > That ranlib thing yes (for long indeed), but i have vague memories > that the tsort/lorder ordering was also meant to keep the things > which heavily interdepend nearby each other. (Luckily Linux > always had at least tsort available.) > This no longer matters for all the platforms FreeBSD supports? > tsort has no notion of how dependent the modules are, just an order that allows a single pass through the .a file (otherwise you'd need to list the .a file multiple times on the command line absent ranlib). That's the original purpose of tsort. tsort, lsort, and ranlib all arrived in 7th edition unix on a PDP-11, where size was more important than proximity to locations (modulo overlays, which this doesn't affect at all). There were some issues of long vs short jumps on earlier architectures that this helped (since you could only jump 16MB, for example). However, there were workarounds for this issue on those platforms too. And if you have a program that this does make a difference, then you can still use tsort/lorder. They are still in the system. I doubt you could measure a difference here today. I doubt, honestly, that anybody will notice at all. Warner