www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2014/10/23/21:07:22

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:message-id:date:from:mime-version:to:subject
:references:in-reply-to:content-type:content-transfer-encoding;
q=dns; s=default; b=s2vqI6i6MqEAGlnj+1bHIc08XIaWdy41jTXPUjZRnjJ
ICFho9g3NTC8PcqT5AAtyQGBBkbD9ZwAJBf/99kmhyGOboS2W04sk2tyNKjwtxUx
g+i8zZKiKeOI98ox8sRLX/FnzG58MFNw4/iTjCPoWAZ+OB+l6qvBFq+b6M153bow
=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:message-id:date:from:mime-version:to:subject
:references:in-reply-to:content-type:content-transfer-encoding;
s=default; bh=8skdg8YL43vJjcRunvmqAt1+ZRA=; b=RRgWcDToUmI9/mu3w
T2UntA9eSNN+Z75c1b8JiqbLPSfFQvEQGFvKHxhoQ39GTiuOUBKZbt2Oxv0eAGCR
F/jaozuyB8ofZTitIa8h/2cr9seotRV0mIHhb/9WkGKL5NrJdIagSQVIttD7kZDT
mQjL2mjUrwVZSUd0XfuADFyEIs=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.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
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2
X-HELO: limerock01.mail.cornell.edu
X-CornellRouted: This message has been Routed already.
Message-ID: <5449A638.3080003@cornell.edu>
Date: Thu, 23 Oct 2014 21:07:04 -0400
From: Ken Brown <kbrown AT cornell DOT edu>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: Threads
References: <54450835 DOT 3050602 AT cornell DOT edu> <5448E6F9 DOT 8040005 AT dronecode DOT org DOT uk> <5448EEBF DOT 3020706 AT cornell DOT edu> <20141023153730 DOT GC20607 AT calimero DOT vinschen DOT de> <544965F4 DOT 207 AT cornell DOT edu>
In-Reply-To: <544965F4.207@cornell.edu>
X-IsSubscribed: yes

On 10/23/2014 4:32 PM, Ken Brown wrote:
> On 10/23/2014 11:37 AM, Corinna Vinschen wrote:
>> On Oct 23 08:04, Ken Brown wrote:
>>> On 10/23/2014 7:31 AM, Jon TURNEY wrote:
>>>> On 20/10/2014 14:03, Ken Brown wrote:
>>>>> Or is there some other plausible explanation for "impossible" crashes?
>>>>> This can't just be a result of a gdb bug, because in at least one case
>>>>> the assertion can be shown to be valid by using printf instead of gdb.
>>>>>
>>>>> [*] By "impossible" I mean that examination of the relevant
>>>>> variables in
>>>>> gdb shows that the assertions are in fact true.  Two ongoing
>>>>> examples are
>>>>>
>>>>>     http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18438
>>>>>     http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18769
>>>>
>>>> As a suggestion, you might want to also take a careful look at how
>>>> signal
>>>> delivery is implemented in cygwin on x86_64
>>>>
>>>> I had a vague idea that there was, at some time in the past, a fix
>>>> made for
>>>> register corruption on x86_64 after a signal was handled, but I
>>>> can't find it
>>>> now, so maybe I imagined it.
>>>
>>> Is this what you're thinking of?
>>>
>>>    https://cygwin.com/ml/cygwin-cvs/2014-q1/msg00020.html
>>>
>>>> But if for e.g. the flags register was getting
>>>> corrupted when a signal interrupts the main thread, that could
>>>> perhaps also
>>>> explain what is being seen.
>>>
>>> Yes, flags register corruption is exactly what Eli suggested in the
>>> other
>>> bug report I cited.
>>
>> The aforementioned patch was supposed to fix this problem and it is
>> definitely in the current 1.7.32 release...
>
> The ChangeLog entry just mentions the FPU control word and the XMM
> registers, but not the ordinary FLAGS register (or rather EFLAGS for x86
> and RFLAGS for x86_64, if I'm understanding correctly what I find in
> Wikipedia).  Did the patch also take care of that?

Never mind, it looks like that was already OK before the patch.  I see 
that there are pushf and popf instructions in gendef.

Ken


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