From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10768 invoked by alias); 18 Jan 2002 00:18:10 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 10729 invoked from network); 18 Jan 2002 00:18:09 -0000 Received: from unknown (HELO zwingli.cygnus.com) (208.245.165.35) by sources.redhat.com with SMTP; 18 Jan 2002 00:18:09 -0000 Received: by zwingli.cygnus.com (Postfix, from userid 442) id E3CD85E9DE; Thu, 17 Jan 2002 19:19:38 -0500 (EST) To: gdb-patches@sources.redhat.com Subject: Re: RFA: fix start symbol matching again References: <20011219071008.EE0625E9D8@zwingli.cygnus.com> From: Jim Blandy Date: Thu, 17 Jan 2002 16:18:00 -0000 In-Reply-To: <20011219071008.EE0625E9D8@zwingli.cygnus.com> Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2002-01/txt/msg00499.txt.bz2 I've committed this change, with a comment that explains what the issue is. Expect can be made to behave predictably; the old code just doesn't do that. Jim Blandy writes: > If the comment isn't clear, let me know. It's a little late, and I'm > not writing very well. > > 2001-12-19 Jim Blandy > > * gdb.asm/asm-source.exp (info symbol): Take another shot at > anchoring the pattern matching the entry point symbol's name. > > Index: gdb/testsuite/gdb.asm/asm-source.exp > =================================================================== > RCS file: /cvs/cvsfiles/devo/gdb/testsuite/gdb.asm/asm-source.exp,v > retrieving revision 1.24 > diff -c -r1.24 asm-source.exp > *** gdb/testsuite/gdb.asm/asm-source.exp 2001/12/17 14:57:49 1.24 > --- gdb/testsuite/gdb.asm/asm-source.exp 2001/12/19 07:06:11 > *************** > *** 159,171 **** > set entry_symbol "" > send_gdb "info symbol 0x$entry_point\n" > gdb_expect { > ! -re "info symbol 0x$entry_point\[\r\n\]*" { > ! exp_continue > ! } > ! -re "^(.*) in section .*$gdb_prompt $" { > ! # It's important to anchor the pattern above at the beginning > ! # of the line. Without that carat, the (.*) may end up > ! # matching the empty string. > set entry_symbol $expect_out(1,string) > pass "info symbol" > } > --- 159,172 ---- > set entry_symbol "" > send_gdb "info symbol 0x$entry_point\n" > gdb_expect { > ! -re "info symbol 0x$entry_point\[\r\n\]+(\[^\r\n\]*) in section .*$gdb_prompt $" { > ! # We match the echoed `info symbol' command here, to help us > ! # reliably identify the beginning of the start symbol in its > ! # output. We have to start matching exactly at the beginning > ! # of the line, no earlier or later. You might think we could > ! # just use '^', but unfortunately, in expect, '^' matches the > ! # beginning of the unmatched input, not necessarily the > ! # beginning of a line. > set entry_symbol $expect_out(1,string) > pass "info symbol" > }