diff options
author | Stan Shebs <shebs@codesourcery.com> | 2010-03-17 22:04:43 +0000 |
---|---|---|
committer | Stan Shebs <shebs@codesourcery.com> | 2010-03-17 22:04:43 +0000 |
commit | 400c6af0377b41453355299e9393a52263f4a834 (patch) | |
tree | 82355d6b37f45abf19392712a0c747cf989c4f6e /gdb/ax-gdb.h | |
parent | a3b2a86bb7263eafa4f11a3b7cc0fb3adcfe1d39 (diff) | |
download | binutils-400c6af0377b41453355299e9393a52263f4a834.zip binutils-400c6af0377b41453355299e9393a52263f4a834.tar.gz binutils-400c6af0377b41453355299e9393a52263f4a834.tar.bz2 |
2010-03-17 Stan Shebs <stan@codesourcery.com>
* ax-gdb.h (struct axs_value): New field optimized_out.
(gen_trace_for_var): Add gdbarch argument.
* ax-gdb.c (gen_trace_static_fields): New function.
(gen_traced_pop): Call it, add gdbarch argument.
(gen_trace_for_expr): Update call to it.
(gen_trace_for_var): Ditto, and report optimized-out variables.
(gen_struct_ref_recursive): Check for optimized-out value.
(gen_struct_elt_for_reference): Ditto.
(gen_static_field): Pass gdbarch instead of expression, assume
optimization if field not found.
(gen_var_ref): Set the optimized_out flag.
(gen_expr): Error on optimized-out variable.
* tracepoint.c (collect_symbol): Handle struct-valued vars as
expressions, skip optimized-out variables with computed locations.
* dwarf2loc.c (dwarf2_tracepoint_var_ref): Flag instead of
erroring out if location expression missing.
(loclist_tracepoint_var_ref): Don't error out here.
Diffstat (limited to 'gdb/ax-gdb.h')
-rw-r--r-- | gdb/ax-gdb.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gdb/ax-gdb.h b/gdb/ax-gdb.h index a5f3768..4ec21e1 100644 --- a/gdb/ax-gdb.h +++ b/gdb/ax-gdb.h @@ -81,6 +81,10 @@ struct axs_value "pointer to" an object of this type. */ struct type *type; + /* If nonzero, this is a variable which does not actually exist in + the program. */ + char optimized_out; + union { /* if kind == axs_lvalue_register, this is the register number */ @@ -99,7 +103,8 @@ struct axs_value function to discover which registers the expression uses. */ extern struct agent_expr *gen_trace_for_expr (CORE_ADDR, struct expression *); -extern struct agent_expr *gen_trace_for_var (CORE_ADDR, struct symbol *); +extern struct agent_expr *gen_trace_for_var (CORE_ADDR, struct gdbarch *, + struct symbol *); extern struct agent_expr *gen_eval_for_expr (CORE_ADDR, struct expression *); |