From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27333 invoked by alias); 20 Nov 2008 15:02:57 -0000 Received: (qmail 27208 invoked by uid 22791); 20 Nov 2008 15:02:55 -0000 X-Spam-Check-By: sourceware.org Received: from ns1.suse.de (HELO mx1.suse.de) (195.135.220.2) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 20 Nov 2008 15:02:16 +0000 Received: from Relay1.suse.de (mail2.suse.de [195.135.221.8]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.suse.de (Postfix) with ESMTP id 62CFF429A7 for ; Thu, 20 Nov 2008 16:02:13 +0100 (CET) From: Andreas Schwab To: gdb-patches@sourceware.org Subject: Re: Fix spurious failures in foll-{v,}fork.exp References: X-Yow: This is my WILLIAM BENDIX memorial CORNER where I worship William Bendix like a GOD!! Date: Fri, 21 Nov 2008 01:34:00 -0000 In-Reply-To: (Andreas Schwab's message of "Thu, 20 Nov 2008 15:27:57 +0100") Message-ID: User-Agent: Gnus/5.110009 (No Gnus v0.9) Emacs/22.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-IsSubscribed: yes 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 X-SW-Source: 2008-11/txt/msg00559.txt.bz2 Here is an updated patch. Andreas. 2008-11-20 Andreas Schwab * gdb.base/foll-fork.exp (catch_fork_child_follow): Fix patterns matching syscall entry point. * gdb.base/foll-vfork.exp (tcatch_vfork_then_parent_follow) (tcatch_vfork_then_child_follow): Likewise. Finish through vfork even if we stopped at the syscall trampoline. Index: gdb/testsuite/gdb.base/foll-fork.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.base/foll-fork.exp,v retrieving revision 1.11 diff -u -a -p -u -p -a -r1.11 foll-fork.exp --- gdb/testsuite/gdb.base/foll-fork.exp 16 Oct 2008 16:25:36 -0000 1.11 +++ gdb/testsuite/gdb.base/foll-fork.exp 20 Nov 2008 14:24:45 -0000 @@ -167,7 +167,7 @@ proc catch_fork_child_follow {} { send_gdb "continue\n" gdb_expect { - -re "Catchpoint.*(forked process.*),.*in .*(fork|__kernel_vsyscall).*$gdb_prompt $"\ + -re "Catchpoint.*(forked process.*),.*in .*(fork|__kernel_v?syscall).*$gdb_prompt $"\ {pass "explicit child follow, catch fork"} -re "$gdb_prompt $" {fail "explicit child follow, catch fork"} timeout {fail "(timeout) explicit child follow, catch fork"} @@ -239,7 +239,7 @@ proc tcatch_fork_parent_follow {} { send_gdb "continue\n" gdb_expect { - -re ".*in .*(fork|__kernel_vsyscall).*$gdb_prompt $"\ + -re ".*in .*(fork|__kernel_v?syscall).*$gdb_prompt $"\ {pass "explicit parent follow, tcatch fork"} -re "$gdb_prompt $" {fail "explicit parent follow, tcatch fork"} timeout {fail "(timeout) explicit parent follow, tcatch fork"} Index: gdb/testsuite/gdb.base/foll-vfork.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.base/foll-vfork.exp,v retrieving revision 1.8 diff -u -a -p -u -p -a -r1.8 foll-vfork.exp --- gdb/testsuite/gdb.base/foll-vfork.exp 29 Jan 2008 22:47:20 -0000 1.8 +++ gdb/testsuite/gdb.base/foll-vfork.exp 20 Nov 2008 14:24:45 -0000 @@ -264,7 +264,7 @@ proc tcatch_vfork_then_parent_follow {} # HP-UX 10.20 seems to stop you in "vfork", while more recent HP-UXs # stop you in "_vfork". gdb_expect { - -re "0x\[0-9a-fA-F\]*.*vfork.*$gdb_prompt "\ + -re "0x\[0-9a-fA-F\]*.*(vfork|__kernel_v?syscall).*$gdb_prompt "\ {pass "vfork parent follow, tcatch vfork"} -re "vfork \\(\\) at.*$gdb_prompt "\ {pass "vfork parent follow, tcatch vfork"} @@ -275,6 +275,10 @@ proc tcatch_vfork_then_parent_follow {} gdb_expect { -re "Run till exit from.*vfork.*0x\[0-9a-fA-F\]* in main .* at .*${srcfile}:12.*$gdb_prompt "\ {pass "vfork parent follow, finish after tcatch vfork"} + -re "Run till exit from.*__kernel_v?syscall.*0x\[0-9a-fA-F\]* in vfork .*$gdb_prompt " { + send_gdb "finish\n" + exp_continue + } -re "$gdb_prompt $" {fail "vfork parent follow, finish after tcatch vfork"} timeout {fail "(timeout) vfork parent follow, finish after tcatch vfork" } } @@ -308,9 +312,7 @@ proc tcatch_vfork_then_child_follow {} { gdb_expect { -re "vfork \\(\\) at .*$gdb_prompt $"\ {pass "vfork child follow, tcatch vfork"} - -re "0x\[0-9a-fA-F\]*.*vfork.*$gdb_prompt "\ - {pass "vfork child follow, tcatch vfork"} - -re "0x\[0-9a-fA-F\]*.*_vfork.*$gdb_prompt "\ + -re "0x\[0-9a-fA-F\]*.*(vfork|__kernel_v?syscall).*$gdb_prompt "\ {pass "vfork child follow, tcatch vfork"} -re "$gdb_prompt $" {fail "vfork child follow, tcatch vfork"} timeout {fail "(timeout) vfork child follow, tcatch vfork"} @@ -319,6 +321,10 @@ proc tcatch_vfork_then_child_follow {} { gdb_expect { -re "Run till exit from.*vfork.*${srcfile}:12.*$gdb_prompt "\ {pass "vfork child follow, finish after tcatch vfork"} + -re "Run till exit from.*__kernel_v?syscall.*0x\[0-9a-fA-F\]* in vfork .*$gdb_prompt " { + send_gdb "finish\n" + exp_continue + } -re "Run till exit from.*vfork.*${srcfile2}:9.*$gdb_prompt "\ {pass "vfork child follow, finish after tcatch vfork (followed exec)"} -re "$gdb_prompt $" {fail "vfork child follow, finish after tcatch vfork"} -- Andreas Schwab, SuSE Labs, schwab@suse.de SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."