From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: [Emacs-diffs] master d826037 3/3: Remove the need for temacs.in Date: Wed, 10 Apr 2019 13:43:15 -0700 Organization: UCLA Computer Science Department Message-ID: References: <20190409224339.20116.87667@vcs0.savannah.gnu.org> <20190409224342.0DA1F20E54@vcs0.savannah.gnu.org> <86697de6baf024290a9d0b10743ba2b7.squirrel@dancol.org> <9093e1cb-7cad-14df-9428-6229313e8f51@cs.ucla.edu> <7bd7a4577abcebd089c7aecc253718f2.squirrel@dancol.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="102197"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 Cc: emacs-devel@gnu.org To: Daniel Colascione Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Apr 10 22:44:01 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 1hEK4f-000QRz-LA for ged-emacs-devel@m.gmane.org; Wed, 10 Apr 2019 22:44:01 +0200 Original-Received: from localhost ([127.0.0.1]:37604 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEK4e-0002kz-Ml for ged-emacs-devel@m.gmane.org; Wed, 10 Apr 2019 16:44:00 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:39819) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hEK40-0002kh-GD for emacs-devel@gnu.org; Wed, 10 Apr 2019 16:43:21 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hEK3z-00089u-9n for emacs-devel@gnu.org; Wed, 10 Apr 2019 16:43:20 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:49776) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hEK3y-00088n-E9 for emacs-devel@gnu.org; Wed, 10 Apr 2019 16:43:19 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 41D881615F1; Wed, 10 Apr 2019 13:43:17 -0700 (PDT) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id 85RDaQoEXVK9; Wed, 10 Apr 2019 13:43:16 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 698F9161629; Wed, 10 Apr 2019 13:43:16 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id P3mbqRlk4SUS; Wed, 10 Apr 2019 13:43:16 -0700 (PDT) Original-Received: from Penguin.CS.UCLA.EDU (Penguin.CS.UCLA.EDU [131.179.64.200]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 4E3601615F1; Wed, 10 Apr 2019 13:43:16 -0700 (PDT) Openpgp: preference=signencrypt Autocrypt: addr=eggert@cs.ucla.edu; prefer-encrypt=mutual; keydata= xsFNBEyAcmQBEADAAyH2xoTu7ppG5D3a8FMZEon74dCvc4+q1XA2J2tBy2pwaTqfhpxxdGA9 Jj50UJ3PD4bSUEgN8tLZ0san47l5XTAFLi2456ciSl5m8sKaHlGdt9XmAAtmXqeZVIYX/UFS 96fDzf4xhEmm/y7LbYEPQdUdxu47xA5KhTYp5bltF3WYDz1Ygd7gx07Auwp7iw7eNvnoDTAl KAl8KYDZzbDNCQGEbpY3efZIvPdeI+FWQN4W+kghy+P6au6PrIIhYraeua7XDdb2LS1en3Ss mE3QjqfRqI/A2ue8JMwsvXe/WK38Ezs6x74iTaqI3AFH6ilAhDqpMnd/msSESNFt76DiO1ZK QMr9amVPknjfPmJISqdhgB1DlEdw34sROf6V8mZw0xfqT6PKE46LcFefzs0kbg4GORf8vjG2 Sf1tk5eU8MBiyN/bZ03bKNjNYMpODDQQwuP84kYLkX2wBxxMAhBxwbDVZudzxDZJ1C2VXujC OJVxq2kljBM9ETYuUGqd75AW2LXrLw6+MuIsHFAYAgRr7+KcwDgBAfwhPBYX34nSSiHlmLC+ KaHLeCLF5ZI2vKm3HEeCTtlOg7xZEONgwzL+fdKo+D6SoC8RRxJKs8a3sVfI4t6CnrQzvJbB n6gxdgCu5i29J1QCYrCYvql2UyFPAK+do99/1jOXT4m2836j1wARAQABzSBQYXVsIEVnZ2Vy dCA8ZWdnZXJ0QGNzLnVjbGEuZWR1PsLBfgQTAQIAKAUCTIByZAIbAwUJEswDAAYLCQgHAwIG FQgCCQoLBBYCAwECH In-Reply-To: <7bd7a4577abcebd089c7aecc253718f2.squirrel@dancol.org> Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 131.179.128.68 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:235255 Archived-At: On 4/10/19 12:42 PM, Daniel Colascione wrote: > PIE and shared libraries are irrelevant. The whole point of pdumper is to > be invariant across different PIE and DSO configurations. Yes, and that's part of the point. Because the pdumper doesn't care how 'write' is implemented so long as it's done correctly, the fingerprint doesn't need to include a checksum of the implementation of 'write'. There's a good chunk of the Emacs executable that is in the same category as 'write' - that is, the chunk doesn't matter for the purposes of the fingerprint. Whether we checksum the irrelevant chunk is a pragmatic/efficiency issue; it's not needed for correctness. With this in mind, checksumming the .o files ought to be enough to generate a fingerprint good enough for the intended purpose of the checksum. The checksum won't capture how 'write' is implemented, nor will it capture detailed decisions about how the linker lays out Emacs's low-level objects, but that's OK: the pdumper doesn't care about those things so long as they're done correctly. > The temacs.in mechanism > covers all current and *and unknown future* binary layout modifications. > It breaks only if linker symbol arrangement depends on randomness or on > the precise content of the fingerprint array, and both of these > possibilities are unlikely. The mechanism could also "break" with whole-program optimization that inlines the fingerprint array, or with other plausible future changes to linkers as they get smarter. But none of this should matter, as any such "breakage" should be irrelevant to the pdumper.