diff options
author | Andrew Cagney <cagney@redhat.com> | 2004-01-26 20:36:32 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2004-01-26 20:36:32 +0000 |
commit | a67af2b9de8208a715df12a4fa4da0d05c08570e (patch) | |
tree | 710ebf24425830c1c89fb0c82768cb72ee11d35e /gdb/ax-gdb.c | |
parent | 838e70c548d07aa651332912e3d537ea0772c98e (diff) | |
download | gdb-a67af2b9de8208a715df12a4fa4da0d05c08570e.zip gdb-a67af2b9de8208a715df12a4fa4da0d05c08570e.tar.gz gdb-a67af2b9de8208a715df12a4fa4da0d05c08570e.tar.bz2 |
2004-01-26 Andrew Cagney <cagney@redhat.com>
* dwarf2loc.c (dwarf_expr_frame_base): Use SYMBOL_OPS instead of
SYMBOL_LOCATION_FUNCS
(dwarf2_loclist_funcs, dwarf2_locexpr_funcs): Change type to
"struct symbol_ops".
* dwarf2loc.h (dwarf2_locexpr_funcs, dwarf2_loclist_funcs): Change
type to "struct symbol_ops".
* symtab.h (struct symbol_ops): Rename "struct location_funcs".
(struct symbol): Replace ".aux_value.loc.funcs" and
".aux_value.loc.baton" with ".ops" and ".aux_value.ptr".
(SYMBOL_OBJFILE): Delete macro.
(SYMBOL_LOCATION_FUNCS): Delete macro.
(SYMBOL_LOCATION_BATON): Update.
* dwarf2read.c (dwarf2_symbol_mark_computed): Set SYMBOL_OPS
intead of SYMBOL_LOCATION_FUNCS.
* ax-gdb.c (gen_var_ref): Ditto.
* printcmd.c (address_info): Ditto.
* findvar.c (read_var_value): Ditto.
(symbol_read_needs_frame): Ditto.
Diffstat (limited to 'gdb/ax-gdb.c')
-rw-r--r-- | gdb/ax-gdb.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gdb/ax-gdb.c b/gdb/ax-gdb.c index cacf308..d828895 100644 --- a/gdb/ax-gdb.c +++ b/gdb/ax-gdb.c @@ -620,7 +620,12 @@ gen_var_ref (struct agent_expr *ax, struct axs_value *value, struct symbol *var) case LOC_COMPUTED: case LOC_COMPUTED_ARG: - (*SYMBOL_LOCATION_FUNCS (var)->tracepoint_var_ref) (var, ax, value); + /* FIXME: cagney/2004-01-26: It should be possible to + unconditionally call the SYMBOL_OPS method when available. + Unfortunatly DWARF 2 stores the frame-base (instead of the + function) location in a function's symbol. Oops! For the + moment enable this when/where applicable. */ + SYMBOL_OPS (var)->tracepoint_var_ref (var, ax, value); break; case LOC_OPTIMIZED_OUT: |