This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFA: fix start symbol matching again



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 <jimb@cygnus.com> 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  <jimb@redhat.com>
> 
> 	* 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"
>       }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]