From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: "Daniel Colascione" Newsgroups: gmane.emacs.devel Subject: Re: [Emacs-diffs] master d826037 3/3: Remove the need for temacs.in Date: Thu, 11 Apr 2019 15:15:18 -0700 Message-ID: References: <20190409224339.20116.87667@vcs0.savannah.gnu.org> <20190409224342.0DA1F20E54@vcs0.savannah.gnu.org> <86697de6baf024290a9d0b10743ba2b7.squirrel@dancol.org> Mime-Version: 1.0 Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: 8bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="94470"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: SquirrelMail/1.4.23 [SVN] Cc: emacs-devel@gnu.org To: "Stefan Monnier" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Apr 12 00:16:00 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hEhzD-000OQl-AP for ged-emacs-devel@m.gmane.org; Fri, 12 Apr 2019 00:15:59 +0200 Original-Received: from localhost ([127.0.0.1]:55622 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEhzC-0003EQ-7E for ged-emacs-devel@m.gmane.org; Thu, 11 Apr 2019 18:15:58 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:36074) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEhyc-0003EJ-LB for emacs-devel@gnu.org; Thu, 11 Apr 2019 18:15:23 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hEhya-0000nf-LX for emacs-devel@gnu.org; Thu, 11 Apr 2019 18:15:22 -0400 Original-Received: from dancol.org ([2600:3c01::f03c:91ff:fedf:adf3]:33222) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hEhya-0000mI-CV for emacs-devel@gnu.org; Thu, 11 Apr 2019 18:15:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:To:From:Subject:Date:References:In-Reply-To:Message-ID; bh=mx8Izh3InOLqEOW2p3S34Vby2OHTRQpsqt6QzZts0e0=; b=iG+ns6niA95F8LXm4tcwEA70ET7hmXHlkRqtQOTqD20nbBOYhNmkE7OJsalS3vXDdFCtwlP/6sQ/zbT3FZ8Ou/nL5LfIUW+KIW2GG53kiMMlDn5tFtIu1gCUG/chNJFLZdROXsP+b2nd9/cE3wucthteSKx37MQTu/fkw9DXXA5l4VG2NTbOiSHn6Fht6ZzwyGj8VGhaTdliKxSpjXZd0gvOO43bzaEoGGVvZujkSV3uYLBlLqg2fkcvgWxLAy0jpgIJWrS9G4V16mA8g2OgHYd5jhcmuc1zBXVWOFqbWTrrbr2+vpSU7wjuFrXOhb6I7URNHkXkpQ8hqIfJmf9NpQ==; Original-Received: from localhost ([127.0.0.1] helo=dancol.org) by dancol.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hEhyY-0004xe-0s; Thu, 11 Apr 2019 15:15:18 -0700 Original-Received: from 172.92.145.124 (SquirrelMail authenticated user dancol) by dancol.org with HTTP; Thu, 11 Apr 2019 15:15:18 -0700 In-Reply-To: X-Priority: 3 (Normal) Importance: Normal X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2600:3c01::f03c:91ff:fedf:adf3 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:235311 Archived-At: >> Please don't do this. Computing a fingerprint over temacs.in factors >> link >> layout information into the fingerprint hash. Your approach doesn't. >> It's >> possible to link Emacs in different ways from the same object files and >> produce different binaries. I don't think a little build speedup is >> worth >> the safety loss. > > BTW, regarding this fingerprint: following this discussion, I see that > we actually don't know for sure what is preserved between two different > runs of `ld` and more to the point, there is no guarantee. > > So, how'bout we don't compute a fingerprint at all. > > Instead we generate a UUID: this way we can have our cake (no need for > a separate temacs.in) and eat it too (even very subtle changes `ld` does > between two different runs will lead to different "fingerprints"). I thought about just making it random --- but I like reproducible and deterministic builds. We could use the build GUID that some linkers can compute from the build inputs (a bit like how we compute the fingerprint), but there's no portable way to get it at runtime, and I really want to get out of the ELF- and PE-parsing business.