diff options
author | Jason Molenda <jsm@bugshack.cygnus.com> | 1999-08-02 23:48:37 +0000 |
---|---|---|
committer | Jason Molenda <jsm@bugshack.cygnus.com> | 1999-08-02 23:48:37 +0000 |
commit | 6da787a878c938e680f13808dee254beacefbd43 (patch) | |
tree | 7c7b4d4f6655b210e33ca51f656f4552c9326ed3 /gdb/symtab.c | |
parent | 1392c9fbbf6fe8811e5374356b7fdf3b389068ab (diff) | |
download | gdb-6da787a878c938e680f13808dee254beacefbd43.tar.gz |
import gdb-1999-08-02 snapshot
Diffstat (limited to 'gdb/symtab.c')
-rw-r--r-- | gdb/symtab.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/gdb/symtab.c b/gdb/symtab.c index b09ccae4ba5..2ade65fcb20 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -1319,7 +1319,21 @@ lookup_block_symbol (block, name, namespace) PC, then use the main symbol. ?!? Is checking the current pc correct? Is this routine - ever called to look up a symbol from another context? */ + ever called to look up a symbol from another context? + + FIXME: No, it's not correct. If someone sets a + conditional breakpoint at an address, then the + breakpoint's `struct expression' should refer to the + `struct symbol' appropriate for the breakpoint's + address, which may not be the PC. + + Even if it were never called from another context, + it's totally bizarre for lookup_symbol's behavior to + depend on the value of the inferior's current PC. We + should pass in the appropriate PC as well as the + block. The interface to lookup_symbol should change + to require the caller to provide a PC. */ + if (SYMBOL_ALIASES (sym)) sym = find_active_alias (sym, read_pc ()); |