X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org Message-ID: <4C3F2C64.80408@gmail.com> Date: Thu, 15 Jul 2010 16:42:28 +0100 From: Dave Korn User-Agent: Thunderbird 2.0.0.17 (Windows/20080914) MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: gcc4: throwing exception from signal handler References: <346D8CF793D04BC99A972949F9555CC3 AT amber> <4C35F33E DOT 60603 AT gmail DOT com> <011255E943B4494AB62D316E4532BE99 AT amber> <20100709165157 DOT GA25913 AT ednor DOT casa DOT cgf DOT cx> In-Reply-To: <20100709165157.GA25913@ednor.casa.cgf.cx> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On 09/07/2010 17:51, Christopher Faylor wrote: > Someone may be looking into this but if this is adding complication to the > signal handler it is going to take some real convincing that it should go > into the DLL. :) Fortunately, it doesn't have to do that. All the magic takes place in libgcc's last-chance unwind fallback hook(*). The only impact on the DLL, in the design I've been experimenting with, is that we need to build it with EH unwind tables, add a cygwin_internal method to return a pointer to the EH data, and export a couple of entrypoints that libgcc needs to be able to look up. There are no changes in any of the signal/exception code paths, or at any rate I didn't yet find any need to change anything (I didn't finish getting it working before I put it aside though, so it's conceivable-but-low-probability that something might turn up). > Dave, this is something that you should be talking about early rather than > springing it as a patch in cygwin-patches. Sure, I was going to get a working PoC first because I wanted to convince myself it was possible, but no reason not to discuss it right now. Luckily I think there's very little to discuss. (I'll report what the EH data does to the DLL size when I've got the code up and running again, but since everyone's been waiting long enough, I guess the first thing I should do is get out a more vanilla-flavoured 4.5.0 release.) cheers, DaveK -- (*) - MD_FALLBACK_FRAME_STATE_FOR -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple