delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/07/24/00:30:33

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
Date: Fri, 24 Jul 2009 00:30:05 -0400
From: Christopher Faylor <cgf-use-the-mailinglist-please AT cygwin DOT com>
To: cygwin AT cygwin DOT com, Dave Korn <dave DOT korn DOT cygwin AT googlemail DOT com>
Subject: Re: [1.7] Updated: libsigsegv-2.6-1
Message-ID: <20090724043005.GA10827@ednor.casa.cgf.cx>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com, Dave Korn <dave DOT korn DOT cygwin AT googlemail DOT com>
References: <4A678AC7 DOT 7090303 AT x-ray DOT at> <4A6854F8 DOT 4060204 AT byu DOT net> <20090723144038 DOT GA11519 AT ednor DOT casa DOT cgf DOT cx> <loom DOT 20090723T145926-237 AT post DOT gmane DOT org> <20090723171656 DOT GA6973 AT ednor DOT casa DOT cgf DOT cx> <4A690D27 DOT 3050109 AT gmail DOT com> <20090724020225 DOT GB10306 AT ednor DOT casa DOT cgf DOT cx> <4A6924E7 DOT 9030103 AT gmail DOT com>
MIME-Version: 1.0
In-Reply-To: <4A6924E7.9030103@gmail.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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 Fri, Jul 24, 2009 at 04:05:11AM +0100, Dave Korn wrote:
>Christopher Faylor wrote:
>>On Fri, Jul 24, 2009 at 02:23:51AM +0100, Dave Korn wrote:
>>>Christopher Faylor wrote:
>>>>On Thu, Jul 23, 2009 at 04:35:12PM +0000, Eric Blake wrote:
>>>>>>I really don't like the games this package plays.  I'm halfway tempted
>>>>>>to just make it nonfunctional in Cygwin.
>>>>>It works just fine, especially now that it only uses SEH for stack
>>>>>overflow detection instead of assuming that all SEH faults imply
>>>>>SIGSEGV.
>>>>
>>>>The point is that this is using an undocumented "interface" into
>>>>Cygwin.  If we decide to change anything in SEH handler, which we do
>>>>from time to time, this code is likely to break.  We are not likely to
>>>>keep libsigsegv in mind if we make future changes to the exception
>>>>handler.
>>>
>>>Well, this line of argument also leads to the suggestion that we should
>>>define a nice stable interface for it to use.  I haven't researched it
>>>in depth but if, as it appears, this is a real library used by real
>>>Linux apps to do a real job, and it is our goal to make those apps
>>>"just recompile and work" on Cygwin as they do on Linux, then we should
>>>give serious consideration to supporting libsigsegv and making what it
>>>wants to do possible for it.
>>>
>>>cheers,
>>
>>There isn't any actionable thing that I can respond to in the above
>>other than to point out that it seems like seem like you weren't
>>reading the discussion very carefully.
>
>Well, there isn't any actionable thing that I can respond to in the
>above other than to point out that I actually /was/ reading the
>discussion carefully, which is precisely *why* I made that suggestion.
>
>Perhaps we should both elucidate our statements?  It's so much easier
>than playing guessing games.

Eric already suggested what the "stable interface" would be and I
already pointed out that you could probably just use a similar technique
to what is being done now while still using Cygwin's signal handling
code without any fragile hooks into the SEH.  For some reason, you
snipped both of those observations from your response.

Let me add a new data point: I'll implement sigaltstack after 1.7.1 is
released.  From reading libsigsegv's configure, it doesn't look like it
will just automatically use it, however.

In the meantime, I'd suggest either 1) for now, not building packages
with libsigsegv on Cygwin or 2) trying what I suggested for dealing with
stack overflow.  It's entirely possible that I missed something in 2),
of course, but it would be nice to know if I am.  Turning off the
special windows handler would be an interesting thing to do, anyway,
because it would help show if just implementing sigaltstack would solve
every problem for Cygwin.

And, for the record, I was wrong in my assertion that libsigsegv wasn't
doing anything special with the stack.  Eric showed where it was.

cgf

--
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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019