From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21197 invoked by alias); 11 Jan 2016 12:22:40 -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 21186 invoked by uid 89); 11 Jan 2016 12:22:39 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=Temporary, HTo:U*jan.kratochvil, 2908, sk:continu X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Mon, 11 Jan 2016 12:22:38 +0000 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (Postfix) with ESMTPS id 656F58E001; Mon, 11 Jan 2016 12:22:37 +0000 (UTC) Received: from [127.0.0.1] (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u0BCMZ0Q019686; Mon, 11 Jan 2016 07:22:36 -0500 Message-ID: <56939E8B.8020501@redhat.com> Date: Mon, 11 Jan 2016 12:22:00 -0000 From: Pedro Alves User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Jan Kratochvil , Simon Marchi CC: gdb-patches@sourceware.org Subject: Re: [testsuite patch] Regression for foll-vfork.exp [Re: [PATCH] Remove HP-UX reference in foll-vfork.exp] References: <1450728591-7224-1-git-send-email-simon.marchi@ericsson.com> <56786B62.2070303@redhat.com> <567971F3.1070505@ericsson.com> <20160108205202.GB24397@host1.jankratochvil.net> In-Reply-To: <20160108205202.GB24397@host1.jankratochvil.net> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-SW-Source: 2016-01/txt/msg00169.txt.bz2 On 01/08/2016 08:52 PM, Jan Kratochvil wrote: > On Tue, 22 Dec 2015 16:53:23 +0100, Simon Marchi wrote: >> > Thanks, pushed. > fe33faff35a8ee19db823149e764e3373e603bb9 is the first bad commit > commit fe33faff35a8ee19db823149e764e3373e603bb9 > Author: Simon Marchi > Date: Tue Dec 22 10:52:31 2015 -0500 > Remove HP-UX reference in foll-vfork.exp > > FAIL: gdb.base/foll-vfork.exp: exec: vfork parent follow, finish after tcatch vfork: continue to vfork > FAIL: gdb.base/foll-vfork.exp: exec: vfork child follow, finish after tcatch vfork: continue to vfork > FAIL: gdb.base/foll-vfork.exp: exit: vfork parent follow, finish after tcatch vfork: continue to vfork > FAIL: gdb.base/foll-vfork.exp: exit: vfork child follow, finish after tcatch vfork: continue to vfork > > It happens for plain gdb.base/foll-vfork.exp runtest on Fedora 23 x86_64. > > -Temporary catchpoint 2 (vforked process 24562), vfork () at ../sysdeps/unix/sysv/linux/x86_64/vfork.S:52^M > +Temporary catchpoint 2 (vforked process 25345), vfork () at ../sysdeps/unix/sysv/linux/x86_64/vfork.S:52^M > 52 pushq %rdi^M > Current language: auto^M > The current source language is "auto; currently asm".^M > -(gdb) PASS: gdb.base/foll-vfork.exp: exec: vfork parent follow, finish after tcatch vfork: continue to vfork > +(gdb) FAIL: gdb.base/foll-vfork.exp: exec: vfork parent follow, finish after tcatch vfork: continue to vfork > > -Temporary catchpoint 2 (vforked process 24629), vfork () at ../sysdeps/unix/sysv/linux/x86_64/vfork.S:52^M > +Temporary catchpoint 2 (vforked process 25411), vfork () at ../sysdeps/unix/sysv/linux/x86_64/vfork.S:52^M > 52 pushq %rdi^M > Current language: auto^M > The current source language is "auto; currently asm".^M > -(gdb) PASS: gdb.base/foll-vfork.exp: exec: vfork child follow, finish after tcatch vfork: continue to vfork > +(gdb) FAIL: gdb.base/foll-vfork.exp: exec: vfork child follow, finish after tcatch vfork: continue to vfork > > > So I have reverted it and just simplified the comment, OK for check-in? > > The third case is not necessary during testing but I have changed back all the > 3 cases. > > > Jan > > > 1 > > > gdb/testsuite/ChangeLog > 2016-01-08 Jan Kratochvil > > * gdb.base/foll-vfork.exp (tcatch_vfork_then_parent_follow) > (tcatch_vfork_then_child_follow_exec) > (tcatch_vfork_then_child_follow_exit): Revert back DWARF vfork > identification. > > diff --git a/gdb/testsuite/gdb.base/foll-vfork.exp b/gdb/testsuite/gdb.base/foll-vfork.exp > index efa1b39..ebbe4ad 100644 > --- a/gdb/testsuite/gdb.base/foll-vfork.exp > +++ b/gdb/testsuite/gdb.base/foll-vfork.exp > @@ -222,8 +222,17 @@ proc tcatch_vfork_then_parent_follow {} { > gdb_test_no_output "set follow-fork parent" > > gdb_test "tcatch vfork" "Catchpoint .*(vfork).*" > - gdb_test "continue" "0x\[0-9a-fA-F\]*.*(vfork|__kernel_v?syscall).*" \ > - "continue to vfork" > + > + # It may stop in either "vfork" or "_vfork". > + set test "continue to vfork" > + gdb_test_multiple "continue" $test { > + -re "0x\[0-9a-fA-F\]*.*(vfork|__kernel_v?syscall).*$gdb_prompt " { > + pass $test > + } > + -re "vfork \\(\\) at.*$gdb_prompt " { > + pass $test > + } > + } I know it was that way before, but would you mind moving this to a helper proc, like: proc continue_to_vfork {} { # A vfork catchpoint may stop in either "vfork" or "_vfork". set test "continue to vfork" gdb_test_multiple "continue" $test { -re "vfork \\(\\) at .*$gdb_prompt $" { pass $test } -re "0x\[0-9a-fA-F\]*.*(vfork|__kernel_v?syscall).*$gdb_prompt " { pass $test } } } (note that expanded the "it") OK with that change. Thanks, Pedro Alves > > set linenum [gdb_get_line_number "pid = vfork ();"] > set test "finish" > @@ -254,8 +263,17 @@ proc tcatch_vfork_then_child_follow_exec {} { > gdb_test_no_output "set follow-fork child" > > gdb_test "tcatch vfork" "Catchpoint .*(vfork).*" > - gdb_test "continue" "0x\[0-9a-fA-F\]*.*(vfork|__kernel_v?syscall).*" \ > - "continue to vfork" > + > + # It may stop in either "vfork" or "_vfork". > + set test "continue to vfork" > + gdb_test_multiple "continue" $test { > + -re "vfork \\(\\) at .*$gdb_prompt $" { > + pass $test > + } > + -re "0x\[0-9a-fA-F\]*.*(vfork|__kernel_v?syscall).*$gdb_prompt " { > + pass $test > + } > + } > > set linenum1 [gdb_get_line_number "pid = vfork ();"] > set linenum2 [gdb_get_line_number "printf(\"Hello from vforked-prog" ${srcfile2}] > @@ -290,8 +308,17 @@ proc tcatch_vfork_then_child_follow_exit {} { > gdb_test_no_output "set follow-fork child" > > gdb_test "tcatch vfork" "Catchpoint .*(vfork).*" > - gdb_test "continue" "0x\[0-9a-fA-F\]*.*(vfork|__kernel_v?syscall).*" \ > - "continue to vfork" > + > + # It may stop in either "vfork" or "_vfork". > + set test "continue to vfork" > + gdb_test_multiple "continue" $test { > + -re "vfork \\(\\) at .*$gdb_prompt $" { > + pass $test > + } > + -re "0x\[0-9a-fA-F\]*.*(vfork|__kernel_v?syscall).*$gdb_prompt " { > + pass $test > + } > + } > > set test "finish" > gdb_test_multiple "finish" $test {