From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30242 invoked by alias); 5 Apr 2014 09:06:49 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 30226 invoked by uid 89); 5 Apr 2014 09:06:48 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.4 required=5.0 tests=AWL,BAYES_00,RCVD_IN_JMF_BL,SPF_SOFTFAIL autolearn=no version=3.3.2 X-HELO: mtaout28.012.net.il Received: from mtaout28.012.net.il (HELO mtaout28.012.net.il) (80.179.55.184) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 05 Apr 2014 09:06:45 +0000 Received: from conversion-daemon.mtaout28.012.net.il by mtaout28.012.net.il (HyperSendmail v2007.08) id <0N3J00500US6FS00@mtaout28.012.net.il> for gdb-patches@sourceware.org; Sat, 05 Apr 2014 12:06:13 +0300 (IDT) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by mtaout28.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0N3J006S3VYDQJ30@mtaout28.012.net.il>; Sat, 05 Apr 2014 12:06:13 +0300 (IDT) Date: Sat, 05 Apr 2014 09:06:00 -0000 From: Eli Zaretskii Subject: Re: [PATCH] Fix "PC register is not available" issue In-reply-to: <83ioqucrkw.fsf@gnu.org> To: palves@redhat.com, brobecker@adacore.com Cc: gdb-patches@sourceware.org Reply-to: Eli Zaretskii Message-id: <83ha6887re.fsf@gnu.org> References: <83txawa9wk.fsf@gnu.org> <20140318161608.GD4282@adacore.com> <83pplja2h9.fsf@gnu.org> <20140318165413.GE4282@adacore.com> <834n2kztfw.fsf@gnu.org> <53358C37.9050907@redhat.com> <83a9cafcpz.fsf@gnu.org> <5335B619.6040605@redhat.com> <8361myfa6l.fsf@gnu.org> <83ioqucrkw.fsf@gnu.org> X-IsSubscribed: yes X-SW-Source: 2014-04/txt/msg00076.txt.bz2 Ping! If there are no further suggestions, I'd like to commit the changes posted in this thread. > Date: Mon, 31 Mar 2014 18:31:43 +0300 > From: Eli Zaretskii > Cc: brobecker@adacore.com, gdb-patches@sourceware.org > > > Date: Fri, 28 Mar 2014 21:30:10 +0300 > > From: Eli Zaretskii > > Cc: brobecker@adacore.com, gdb-patches@sourceware.org > > > > > Date: Fri, 28 Mar 2014 17:49:13 +0000 > > > From: Pedro Alves > > > CC: brobecker@adacore.com, gdb-patches@sourceware.org > > > > > > >> Why bother calling SetThreadContext at all if we just killed > > > >> the process? > > > > > > > > See my other mail and Joel's response. > > > > > > Not sure what you mean. TerminateProcess is asynchronous, and > > > we need to resume the inferior and collect the debug events > > > until we see the process terminate. But, my question is > > > why would we write the thread's registers at all if we > > > just told it to die? Seems to be we could just skip > > > calling SetThreadContext instead of calling it but > > > ignoring the result. > > > > If you say so, I don't know enough about this stuff. > > Actually, upon second thought: we continue the inferior after > TerminateProcess call to let it be killed, right? If so, shouldn't we > continue it with the right context? > > > > >> Sounds like GDBserver might have this problem too. > > > > > > > > If there's an easy way to verify that, without having 2 systems > > > > talking via some communications line, please tell how, and I will try > > > > that. > > > > > > Sure, you can run gdbserver and gdb on the same machine, and connect > > > with tcp. Just: > > > > > > $ gdbserver :9999 myprogram.exe > > > > > > in one terminal, and: > > > > > > $ gdb myprogram.exe -ex "tar rem :9999" -ex "b main" -ex "c" > > > > > > in another. > > > > OK, will try that. > > Funnily enough, I cannot get GDBserver to emit similar warnings in the > same situation. I don't understand the reasons for that, since the > code is very similar, and with a single exception, we do check the > return values of calls to GetThreadContext, SetThreadContext, and > SuspendThread in GDBserver. But the fact remains that no warnings > about these threads are ever seen when debugging remotely. I do see > the extra threads under GDBserver as well. > > Does anyone have any further ideas?