Skip to content
  • Joel Brobecker's avatar
    Add support for DW_OP_push_object_address. · 08412b07
    Joel Brobecker authored
    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.
    08412b07