public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: "Breazeal, Don" <donb@codesourcery.com>
To: Doug Evans <xdje42@gmail.com>
Cc: "gdb-patches@sourceware.org" <gdb-patches@sourceware.org>
Subject: Re: [PATCH 4/4] Non-stop exec tests
Date: Tue, 27 May 2014 18:31:00 -0000	[thread overview]
Message-ID: <5384D9EA.60907@codesourcery.com> (raw)
In-Reply-To: <CAP9bCMTXSTB_k7=qN4mu-CuhUug4oUpiqrFVkoTTRQ8YqR=X=A@mail.gmail.com>

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 <donb@codesourcery.com> 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  <donb@codesourcery.com>
>>
>>         * 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


  reply	other threads:[~2014-05-27 18:31 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-30 19:18 [PATCH 0/0][REPOST] Exec events in gdbserver on Linux Don Breazeal
2014-04-30 19:18 ` [PATCH 1/4][REPOST] Remote Linux ptrace exit events Don Breazeal
2014-05-07 19:40   ` Luis Machado
2014-05-08  5:23   ` Yao Qi
2014-05-09 21:03     ` Breazeal, Don
2014-05-21 15:15   ` Tom Tromey
2014-05-22 17:42     ` Breazeal, Don
2014-04-30 19:18 ` [PATCH 3/4][REPOST] Document RSP support for Linux exec events Don Breazeal
2014-05-08  5:34   ` Yao Qi
2014-04-30 19:18 ` [PATCH 2/4][REPOST] Remote Linux ptrace " Don Breazeal
2014-05-07 20:01   ` Luis Machado
2014-05-09 21:17     ` Breazeal, Don
2014-05-08  5:44   ` Yao Qi
2014-05-21 15:28   ` Tom Tromey
2014-04-30 19:18 ` [PATCH 4/4 v2][REPOST] Non-stop exec tests Don Breazeal
2014-05-21 15:25 ` [PATCH 0/0][REPOST] Exec events in gdbserver on Linux Tom Tromey
2014-05-23 22:49 ` [PATCH 0/4 v3] " Don Breazeal
2014-05-26  4:55   ` Doug Evans
2014-05-27 18:49     ` Breazeal, Don
2014-05-27 21:41       ` Breazeal, Don
2014-05-28 18:02         ` Breazeal, Don
2014-06-05 22:06   ` Breazeal, Don
2014-06-06 12:29     ` Luis Machado
2014-06-19 15:56     ` Breazeal, Don
2014-05-23 22:49 ` [PATCH 4/4] Non-stop exec tests Don Breazeal
2014-05-26  3:29   ` Doug Evans
2014-05-27 18:31     ` Breazeal, Don [this message]
2014-05-23 22:49 ` [PATCH 1/4 v3] Remote Linux ptrace exit events Don Breazeal
2014-05-23 22:49 ` [PATCH 3/4] Document RSP support for Linux exec events Don Breazeal
2014-05-24  7:20   ` Eli Zaretskii
2014-05-27 21:28     ` Breazeal, Don
2014-05-28 14:22       ` Eli Zaretskii
2014-05-23 22:49 ` [PATCH 2/4 v3] Remote Linux ptrace " Don Breazeal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5384D9EA.60907@codesourcery.com \
    --to=donb@codesourcery.com \
    --cc=gdb-patches@sourceware.org \
    --cc=xdje42@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).