From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Philipp Stephani Newsgroups: gmane.emacs.devel Subject: Re: Dynamic loading progress Date: Sun, 22 Nov 2015 16:27:19 +0000 Message-ID: References: <876118u6f2.fsf@lifelogs.com> <8737w3qero.fsf@lifelogs.com> <831tbn9g9j.fsf@gnu.org> <878u5upw7o.fsf@lifelogs.com> <83ziya8xph.fsf@gnu.org> <83y4du80xo.fsf@gnu.org> <837fld6lps.fsf@gnu.org> <83610w5o97.fsf@gnu.org> <564FACF5.2080601@cs.ucla.edu> <564FBAA7.5030306@cs.ucla.edu> <5650F9CD.9030707@cs.ucla.edu> <83oaem2ebu.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=001a114b07d4b77aa20525239505 X-Trace: ger.gmane.org 1448209670 24254 80.91.229.3 (22 Nov 2015 16:27:50 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 22 Nov 2015 16:27:50 +0000 (UTC) Cc: aurelien.aptel+emacs@gmail.com, tzz@lifelogs.com, eggert@cs.ucla.edu, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Nov 22 17:27:48 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 1a0XUS-0002qN-18 for ged-emacs-devel@m.gmane.org; Sun, 22 Nov 2015 17:27:48 +0100 Original-Received: from localhost ([::1]:56598 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a0XUR-00073d-SB for ged-emacs-devel@m.gmane.org; Sun, 22 Nov 2015 11:27:47 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55561) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a0XUD-00073Y-1R for emacs-devel@gnu.org; Sun, 22 Nov 2015 11:27:33 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a0XUB-0001I4-W6 for emacs-devel@gnu.org; Sun, 22 Nov 2015 11:27:32 -0500 Original-Received: from mail-wm0-x22d.google.com ([2a00:1450:400c:c09::22d]:35950) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a0XUA-0001Hg-5e; Sun, 22 Nov 2015 11:27:30 -0500 Original-Received: by wmww144 with SMTP id w144so70347005wmw.1; Sun, 22 Nov 2015 08:27:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-type; bh=pbkOkITIvSUB/Df1G3EmlJZ4aw5OFnFM64CjE+3yAyY=; b=QtHDAMoksIoj/1DLJQv9UqSCCnjn2JlhTmxLNyzHdFb9n9NSPimlrHqwjsJ4SA2to8 T03a4huTjw7F5aOdCadl/vDwm3DAMnawSRSmUOhP8mGzPgQMOsPaGD1cZHF3Z/NmEbUg KjpjzvFGuC0kP1yBagCCGn9xT7wSD7b1CnmaBYGK/3DZR8mXvYRDi57azeSiKaGmDpe2 D6MhlsVAbXxKrm7UEGm6AigGij/Zg/p1RaZvkEBIukxad2MsSezzLh86Ht9X/mfkIQHk Wj/el2tBS+8ACvjLz3YM8/sH+bAtNuR/gj1JpALLlq7D6okk6wDbrJi9RF0XOHNb0VH7 OHaA== X-Received: by 10.28.187.4 with SMTP id l4mr11294648wmf.33.1448209649464; Sun, 22 Nov 2015 08:27:29 -0800 (PST) In-Reply-To: <83oaem2ebu.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c09::22d 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:195036 Archived-At: --001a114b07d4b77aa20525239505 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Eli Zaretskii schrieb am So., 22. Nov. 2015 um 17:23 Uhr: > > From: Philipp Stephani > > Date: Sun, 22 Nov 2015 09:03:39 +0000 > > Cc: aurelien.aptel+emacs@gmail.com, tzz@lifelogs.com, > emacs-devel@gnu.org > > > > We have already discussed longjmp at length in this thread, and Daniel, > > Aur=C3=A9lien and I are all strongly against it. Using longjmp makes it > effectively > > impossible to write modules in any language but C, and even C code has > to be > > very careful (e.g. it can't use __attribute__((cleanup))). longjmp is > only > > possible within a monolithic system that is able to make closed-world > > assumptions such as the Emacs binary itself, it is impossible in generi= c > and > > portable library code. We have worked hard to remove the possibility of > longjmp > > leaking into module code, and I won't put that possibility back in. > > I don't understand: we already have in emacs-module.c machinery that > handles non-local exits. Why cannot xmalloc do the same when it's > called from emacs-module.c? > My impression was that Paul talked about code in modules, not code in emacs-module.c. The latter can use xmalloc just fine, if appropriate protection is installed first. --001a114b07d4b77aa20525239505 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


Eli Za= retskii <eliz@gnu.org> schrieb am= So., 22. Nov. 2015 um 17:23=C2=A0Uhr:
> From: Philipp Stephani <p.stephani2@gmail.com>
> Date: Sun, 22 Nov 2015 09:03:39 +0000
> Cc: aurelien.aptel+emacs@gmail.com, tzz@lifelogs.com, emacs-devel@gnu.org
>
> We have already discussed longjmp at length in this thread, and Daniel= ,
> Aur=C3=A9lien and I are all strongly against it. Using longjmp makes i= t effectively
> impossible to write modules in any language but C, and even C code has= to be
> very careful (e.g. it can't use __attribute__((cleanup))). longjmp= is only
> possible within a monolithic system that is able to make closed-world<= br> > assumptions such as the Emacs binary itself, it is impossible in gener= ic and
> portable library code. We have worked hard to remove the possibility o= f longjmp
> leaking into module code, and I won't put that possibility back in= .

I don't understand: we already have in emacs-module.c machinery that handles non-local exits.=C2=A0 Why cannot xmalloc do the same when it's=
called from emacs-module.c?

My impressi= on was that Paul talked about code in modules, not code in emacs-module.c. = The latter can use xmalloc just fine, if appropriate protection is installe= d first.=C2=A0
--001a114b07d4b77aa20525239505--