From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: Dynamic loading progress Date: Fri, 20 Nov 2015 15:06:16 -0800 Organization: UCLA Computer Science Department Message-ID: <564FA768.40504@cs.ucla.edu> References: <87egfzuwca.fsf@lifelogs.com> <876118u6f2.fsf@lifelogs.com> <8737w3qero.fsf@lifelogs.com> <831tbn9g9j.fsf@gnu.org> <878u5upw7o.fsf@lifelogs.com> <83ziya8xph.fsf@gnu.org> <83y4du80xo.fsf@gnu.org> <564E6081.9010805@cs.ucla.edu> <564E6352.20701@cs.ucla.edu> <564F86FF.6030202@cs.ucla.edu> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1448060812 18637 80.91.229.3 (20 Nov 2015 23:06:52 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 20 Nov 2015 23:06:52 +0000 (UTC) Cc: emacs-devel@gnu.org To: Philipp Stephani , Eli Zaretskii , Ted Zlatanov , =?UTF-8?Q?Aur=c3=a9lien_Aptel?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Nov 21 00:06:45 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ZzulP-0001Rk-CA for ged-emacs-devel@m.gmane.org; Sat, 21 Nov 2015 00:06:43 +0100 Original-Received: from localhost ([::1]:50301 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZzulO-0002Ds-MP for ged-emacs-devel@m.gmane.org; Fri, 20 Nov 2015 18:06:42 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:41328) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zzul8-0002Bz-4n for emacs-devel@gnu.org; Fri, 20 Nov 2015 18:06:26 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zzul7-0003pN-6o for emacs-devel@gnu.org; Fri, 20 Nov 2015 18:06:26 -0500 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:34085) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zzul1-0003np-HX; Fri, 20 Nov 2015 18:06:19 -0500 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 0E60C160D25; Fri, 20 Nov 2015 15:06:18 -0800 (PST) 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 VyQRt18K2mDd; Fri, 20 Nov 2015 15:06:17 -0800 (PST) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 4B492160DFE; Fri, 20 Nov 2015 15:06:17 -0800 (PST) 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 tG7X6UqGZbRo; Fri, 20 Nov 2015 15:06:17 -0800 (PST) Original-Received: from [192.168.1.9] (pool-100-32-155-148.lsanca.fios.verizon.net [100.32.155.148]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 25113160D25; Fri, 20 Nov 2015 15:06:17 -0800 (PST) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 In-Reply-To: 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.14 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-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:194910 Archived-At: Philipp Stephani wrote: > the Windows API uses this approach extensively > for version checking, and has been forward- and backward-compatible for > decades with it. This sort of approach might work in the MS-Windows world, which has a single dominant supplier. It's not clear that it would work in the GNU/Linux world, where different suppliers have different ABIs. And even if one takes exactly the same Emacs source and module source and runs on the same operating system, one can easily build Emacs executables that won't interoperate with modules, simply by using different compiler flags. The sizes might match, but the code won't. So I don't think sizes will suffice, at least, not outside of MS-Windows. Daniel's message pointed to JNI for an inspiration. JNI uses version numbers here (its GetVersion method), not sizes, I assume partly for the reasons discussed above. Shouldn't we do the same?