From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.lisp.guile.devel Subject: Re: Exception-safety for C++ code integrated with Guile. Date: Tue, 24 Feb 2015 20:52:15 +0200 Message-ID: <83bnkj6t28.fsf@gnu.org> References: <474913203.jcqxqasMgP@basis> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1424804040 20862 80.91.229.3 (24 Feb 2015 18:54:00 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 24 Feb 2015 18:54:00 +0000 (UTC) Cc: guile-devel@gnu.org To: ahmed.taahir@gmail.com Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Tue Feb 24 19:53:53 2015 Return-path: Envelope-to: guile-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 1YQKc3-0002fI-FI for guile-devel@m.gmane.org; Tue, 24 Feb 2015 19:53:43 +0100 Original-Received: from localhost ([::1]:50906 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YQKbx-0007Q7-RZ for guile-devel@m.gmane.org; Tue, 24 Feb 2015 13:53:37 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:44789) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YQKbu-0007Nu-76 for guile-devel@gnu.org; Tue, 24 Feb 2015 13:53:34 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YQKbp-0007CS-Sq for guile-devel@gnu.org; Tue, 24 Feb 2015 13:53:34 -0500 Original-Received: from mtaout25.012.net.il ([80.179.55.181]:54063) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YQKbp-0007CC-M0 for guile-devel@gnu.org; Tue, 24 Feb 2015 13:53:29 -0500 Original-Received: from conversion-daemon.mtaout25.012.net.il by mtaout25.012.net.il (HyperSendmail v2007.08) id <0NKA00B00H2MOA00@mtaout25.012.net.il> for guile-devel@gnu.org; Tue, 24 Feb 2015 20:46:42 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout25.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NKA00B1MHHT3I40@mtaout25.012.net.il>; Tue, 24 Feb 2015 20:46:42 +0200 (IST) In-reply-to: <474913203.jcqxqasMgP@basis> 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.181 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:17673 Archived-At: > From: Taahir Ahmed > Date: Mon, 23 Feb 2015 15:59:43 -0600 > > 2) Replace all uses of set/longjmp with replacements (call them > eh_setjmp and eh_longjmp) that are based on libunwind [1]. > eh_longjmp uses libunwind to walk up the stack, calling each > frame's personality routine [2]. This approach will requires a > platform that uses DWARF exception handling (i.e., everybody > except non-Cygwin Windows). mingw.org's MinGW uses DWARF exception handling. Perhaps you are thinking of MinGW64, which (AFAIK) indeed uses eh by default, but can be configured to use DWARF. As for libunwind, are you sure it supports enough platforms to be a useful alternative? AFAIK, the last official release supports only IA-64, and even the current development version in git repo basically supports GNU/Linux and almost nothing else (2 FreeBSD targets and 1 on HP-UX).