Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Message-ID: <41A44B97.1060007@aaronwl.com>
Date: Wed, 24 Nov 2004 02:51:35 -0600
From: "Aaron W. LaFramboise" <aaronavay62@aaronwl.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.3) Gecko/20040910
MIME-Version: 1.0
To: Richard Henderson <rth@redhat.com>
CC: Danny Smith <dannysmith@users.sourceforge.net>, gcc@gcc.gnu.org,
   Cygwin <cygwin@cygwin.com>, mingw-dvlpr <mingw-dvlpr@lists.sourceforge.net>
Subject: Re: stdcall lib functions with exception throwing callbacks vs Dwarf2 EH
References: <001701c4d1ab$949322e0$0a6d65da@DANNY> <20041124003240.GA6028@redhat.com> <000c01c4d1fa$3f297fd0$e56d65da@DANNY> <20041124080708.GA3578@redhat.com>
In-Reply-To: <20041124080708.GA3578@redhat.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Richard Henderson wrote:

> On Wed, Nov 24, 2004 at 08:50:17PM +1300, Danny Smith wrote:
> 
>>So is it a general requirements of DW2 EH that functions that are passed
>>callbacks as args  be compiled with -fexceptions,  if the callbacks may
>>throw?
> 
> Yes.  Thus glibc compiles e.g. qsort and bsearch with -fexceptions.

Is there a way to have the DW2 unwinder call some particular function,
for eg, if the previous frame was not compiled with -fexceptions, rather
than just crashing?  Is this what MD_FALLBACK_FRAME_STATE_FOR is for?

Other Windows compilers are able to handle this condition.  I don't know
anything at all about MSVC's non-SEH exception handling, and I have not
done any analysis at all, but it seems likely that these compilers are
unwinding SEH information in foreign frames.  If this is the case,
compatibility with this is highly desirable, and perhaps essential for
throwing through system routines that use SEH, which is something other
compilers on the system support.

Aaron W. LaFramboise

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

