diff options
author | Joel Brobecker <brobecker@adacore.com> | 2014-08-11 16:36:04 -0700 |
---|---|---|
committer | Joel Brobecker <brobecker@adacore.com> | 2014-08-18 18:11:28 +0200 |
commit | 08412b0722301c4ffbd9fd51d4056bc436b69658 (patch) | |
tree | 8f9ed8e0ae8647e2d5656927381578f115ac393f /gdb/dwarf2loc.h | |
parent | 84754697d2ac74094af81cd484d4471c2e58117b (diff) | |
download | gdb-08412b0722301c4ffbd9fd51d4056bc436b69658.zip gdb-08412b0722301c4ffbd9fd51d4056bc436b69658.tar.gz gdb-08412b0722301c4ffbd9fd51d4056bc436b69658.tar.bz2 |
Add support for DW_OP_push_object_address.
gdb/ChangeLog:
* dwarf2expr.h (struct dwarf_expr_context_funcs): Uncomment
field "get_object_address".
* dwarf2expr.c (execute_stack_op): Add handling for
DW_OP_push_object_address.
* dwarf2loc.h (dwarf2_evaluate_property): Add "address" field.
* dwarf2loc.c (struct dwarf_expr_baton): Add field "obj_address".
(dwarf_expr_push_dwarf_reg_entry_value): Set baton_local.obj_address.
(dwarf_expr_get_obj_addr): New function.
(dwarf_expr_ctx_funcs): Add get_object_address field.
(dwarf2_evaluate_loc_desc_full): Set baton.obj_address.
(dwarf2_locexpr_baton_eval): Add parameter "addr". Use it.
(dwarf2_evaluate_property): Add parameter "address". Use it.
(needs_get_obj_addr): New function.
(needs_frame_ctx_funcs): Add get_object_address field.
(dwarf2_compile_expr_to_ax): Add DW_OP_push_object_address handling.
* gdbtypes.c (resolve_dynamic_range): Add "addr" field. Use it.
(resolve_dynamic_array): Likewise.
Diffstat (limited to 'gdb/dwarf2loc.h')
-rw-r--r-- | gdb/dwarf2loc.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gdb/dwarf2loc.h b/gdb/dwarf2loc.h index 8ad5fa9..04e2792 100644 --- a/gdb/dwarf2loc.h +++ b/gdb/dwarf2loc.h @@ -96,6 +96,7 @@ struct value *dwarf2_evaluate_loc_desc (struct type *type, into VALUE, otherwise returns 0. */ int dwarf2_evaluate_property (const struct dynamic_prop *prop, + CORE_ADDR address, CORE_ADDR *value); CORE_ADDR dwarf2_read_addr_index (struct dwarf2_per_cu_data *per_cu, |