From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4599 invoked by alias); 27 May 2014 18:31:12 -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 4588 invoked by uid 89); 27 May 2014 18:31:12 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.7 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.2 X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 27 May 2014 18:31:11 +0000 Received: from svr-orw-exc-10.mgc.mentorg.com ([147.34.98.58]) by relay1.mentorg.com with esmtp id 1WpM9T-0002mX-Jv from donb@codesourcery.com ; Tue, 27 May 2014 11:31:07 -0700 Received: from [127.0.0.1] ([172.30.2.61]) by SVR-ORW-EXC-10.mgc.mentorg.com with Microsoft SMTPSVC(6.0.3790.4675); Tue, 27 May 2014 11:31:07 -0700 Message-ID: <5384D9EA.60907@codesourcery.com> Date: Tue, 27 May 2014 18:31:00 -0000 From: "Breazeal, Don" User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Doug Evans CC: "gdb-patches@sourceware.org" Subject: Re: [PATCH 4/4] Non-stop exec tests References: <1398885482-8449-1-git-send-email-donb@codesourcery.com> <1400885374-18915-5-git-send-email-donb@codesourcery.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2014-05/txt/msg00678.txt.bz2 Thank you for looking at this. On 5/25/2014 8:29 PM, Doug Evans wrote: > On Fri, May 23, 2014 at 3:49 PM, Don Breazeal wrote: >> This patch extends the non-ldr-exc-*.exp tests so that they run all their cases in non-stop mode as well as all-stop mode. These tests cover handling of exec events when non-leader threads call exec. >> >> The tests now report 'untested when 'runto_main' fails. In non-stop mode with 'target extended-remote', runto_main always fails with something like: >> >> (gdb) run >> Starting program: /home/me/gdb/testsuite/gdb.threads/non-ldr-exc-4 >> Unexpected vCont reply in non-stop mode: T0506:10e0ffffff7f0000;07:c8deffffff7f0000;10:c1a6abaaaa2a0000;thread:p5ee.5ee;core:0; > > Did you try --target_board=native-extended-gdbserver ? Yes. To be clear, the exec events are only implemented for multiprocess / extended-remote. Before posting the initial patch I tested native GDB, --target_board=native-gdbserver, and --target_board=native-extended-gdbserver. > >> This happens in other tests as well (e.g. gdb.threads/thread_events.exp), so I copied the error handling from that test so that the non-stop tests report 'untested' for target extended-remote. I couldn't find anything related to this in the gdb bug database, but I assume it is a known problem since the other tests handle it. >> >> Regards, >> --Don >> >> testsuite/ >> 2014-05-22 Don Breazeal >> >> * gdb.threads/non-ldr-exc-1.exp: Add non-stop cases >> * gdb.threads/non-ldr-exc-2.exp: Ditto. >> * gdb.threads/non-ldr-exc-3.exp: Ditto. >> * gdb.threads/non-ldr-exc-4.exp: Ditto. > > Hi. > Still going through the patch series, but have an initial comment. > > The following test at the top of each .exp file could be changed to > something like !linux && is_remote, right? > > # No exec event support in the remote protocol. > if { [is_remote target] } then { > continue > } > > These tests now pass with native-gdbserver (and > native-extended-gdbserver) so we'll want to at least run these tests > with those, I presume. > I don't expect the tests to pass with native-gdbserver, since the implementation is only for multiprocess/extended-remote. I should have made that more apparent. [Note: the rationale for restricting exec events to multiprocess was that follow-exec-mode can allow multiple inferiors to exist, even if they aren't running simultaneously. Also, follow-exec-mode and follow-fork-mode are closely related, and follow-fork-mode definitely requires multiprocess.] The native-extended-gdbserver tests aren't affected by the test for remote at the top of each .exp file. The GDB manual says that these events (or at least fork events) are supported for native GDB on newer versions of Linux and HP-UX, and any change I make for native-extended-gdbserver will affect the native tests. Given that the feature is only available with extended-remote, do you still feel I need to change something? I'm not sure how to restrict a test to "Linux or HP-UX", or to newer versions of them. Thanks --Don