aboutsummaryrefslogtreecommitdiff
path: root/gdb/symtab.c
diff options
context:
space:
mode:
authorJason Molenda <jmolenda@apple.com>1999-08-02 23:48:37 +0000
committerJason Molenda <jmolenda@apple.com>1999-08-02 23:48:37 +0000
commita0b3c4fd32cf8336bf7b69f373ef86d5c54035f6 (patch)
treecf8f31bccdd267252e6b3c9636a1d323397673e2 /gdb/symtab.c
parent30727aa6d12fb866494020c0b62ab265a2bdcdfe (diff)
downloadgdb-a0b3c4fd32cf8336bf7b69f373ef86d5c54035f6.zip
gdb-a0b3c4fd32cf8336bf7b69f373ef86d5c54035f6.tar.gz
gdb-a0b3c4fd32cf8336bf7b69f373ef86d5c54035f6.tar.bz2
import gdb-1999-08-02 snapshot
Diffstat (limited to 'gdb/symtab.c')
-rw-r--r--gdb/symtab.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/gdb/symtab.c b/gdb/symtab.c
index b09ccae..2ade65fc 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 ());