This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: RFA: fix start symbol matching again
- From: Michael Snyder <msnyder at cygnus dot com>
- To: Jim Blandy <jimb at cygnus dot com>
- Cc: gdb-patches at sources dot redhat dot com
- Date: Wed, 19 Dec 2001 09:45:05 -0800
- Subject: Re: RFA: fix start symbol matching again
- Organization: Red Hat, Inc.
- References: <20011219071008.EE0625E9D8@zwingli.cygnus.com>
Jim Blandy wrote:
>
> If the comment isn't clear, let me know. It's a little late, and I'm
> not writing very well.
At this point, I'm kinda unclear on what problem you're fixing;
but if it's this difficult, we could just make the $START symbol
a configurable variable. Default it to "_start" but allow it to
be set to "start" by such target architectures as need to do so.
>
> 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"
> }