From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Dynamic loading progress Date: Fri, 13 Feb 2015 18:10:01 +0200 Message-ID: <838ug14wti.fsf@gnu.org> References: <85k31coixa.fsf@stephe-leake.org> <85oapy5kt6.fsf@stephe-leake.org> <83y4oiiw81.fsf@gnu.org> <838ugdf251.fsf@gnu.org> <54D80098.3020209@cs.ucla.edu> <54D85304.1030600@cs.ucla.edu> <54D9AC29.2020603@cs.ucla.edu> <54DA8539.1020905@cs.ucla.edu> <87zj8ktq8f.fsf@lifelogs.com> <54DD6413.1000403@cs.ucla.edu> <83wq3m436s.fsf@gnu.org> <54DDEB4D.5040300@dancol> <83egpt4zz6.fsf@gnu.org> <54DE12E9.504@[87.69.4.28]> <83a90h4xr8.fsf@gnu.org> <54DE1F14.9010807@dancol.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1423843936 17189 80.91.229.3 (13 Feb 2015 16:12:16 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 13 Feb 2015 16:12:16 +0000 (UTC) Cc: eggert@cs.ucla.edu, emacs-devel@gnu.org To: Daniel Colascione Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Feb 13 17:12:08 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 1YMIqc-0008Qu-KD for ged-emacs-devel@m.gmane.org; Fri, 13 Feb 2015 17:12:07 +0100 Original-Received: from localhost ([::1]:56116 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMIqa-0005DK-Os for ged-emacs-devel@m.gmane.org; Fri, 13 Feb 2015 11:12:04 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:41690) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMIpT-0003mv-1M for emacs-devel@gnu.org; Fri, 13 Feb 2015 11:10:58 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YMIp4-000392-NF for emacs-devel@gnu.org; Fri, 13 Feb 2015 11:10:54 -0500 Original-Received: from mtaout29.012.net.il ([80.179.55.185]:60464) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMIp4-00038Y-DM for emacs-devel@gnu.org; Fri, 13 Feb 2015 11:10:30 -0500 Original-Received: from conversion-daemon.mtaout29.012.net.il by mtaout29.012.net.il (HyperSendmail v2007.08) id <0NJP00700W9GFH00@mtaout29.012.net.il> for emacs-devel@gnu.org; Fri, 13 Feb 2015 18:06:08 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout29.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NJP0005EWQ8RH70@mtaout29.012.net.il>; Fri, 13 Feb 2015 18:06:08 +0200 (IST) In-reply-to: <54DE1F14.9010807@dancol.org> X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 80.179.55.185 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:183011 Archived-At: > Date: Fri, 13 Feb 2015 07:58:12 -0800 > From: Daniel Colascione > CC: eggert@cs.ucla.edu, emacs-devel@gnu.org > > 1) Shared libraries traditionally expose stable ABIs; when ABIs change > incompatibly, libraries change sonames. Shared libraries need stable > ABIs whether or not Emacs loads them: they're linked into other programs > and aren't necessarily rebuilt at the same time as their dependencies. > The Emacs core has never had a stable ABI, and creating one would > constrain our optimization opportunities. > > (That is, libpng.so's ABI ought to change a lot less often than > /usr/bin/emacs's: the former promises to provide a stable ABI and the > latter never has.) Sorry, I don't share your optimism about the stability of their ABI. In particular, image libraries are a bad example on which to build your point: look at the versonitis we need to employ in w32-win.el to support all their different ABIs. Each new revision there breaks Emacs build with them. And we didn't yet start talking about problems with passing FILE pointers and malloc'ed buffers between Emacs and the modules.