GDB (xrefs)
|
Go to the source code of this file.
Classes | |
struct | dwarf_expr_context_funcs |
struct | dwarf_stack_value |
struct | dwarf_expr_context |
struct | dwarf_expr_piece |
Enumerations | |
enum | dwarf_value_location { DWARF_VALUE_MEMORY, DWARF_VALUE_REGISTER, DWARF_VALUE_STACK, DWARF_VALUE_LITERAL, DWARF_VALUE_OPTIMIZED_OUT, DWARF_VALUE_IMPLICIT_POINTER } |
enum dwarf_value_location |
Enumerator | |
---|---|
DWARF_VALUE_MEMORY | |
DWARF_VALUE_REGISTER | |
DWARF_VALUE_STACK | |
DWARF_VALUE_LITERAL | |
DWARF_VALUE_OPTIMIZED_OUT | |
DWARF_VALUE_IMPLICIT_POINTER |
Definition at line 92 of file dwarf2expr.h.
void ctx_no_dwarf_call | ( | struct dwarf_expr_context * | ctx, |
cu_offset | die_offset | ||
) |
Definition at line 1543 of file dwarf2expr.c.
Definition at line 1572 of file dwarf2expr.c.
struct type* ctx_no_get_base_type | ( | struct dwarf_expr_context * | ctx, |
cu_offset | die | ||
) |
Definition at line 1551 of file dwarf2expr.c.
Definition at line 1511 of file dwarf2expr.c.
CORE_ADDR ctx_no_get_frame_cfa | ( | void * | baton | ) |
Definition at line 1519 of file dwarf2expr.c.
CORE_ADDR ctx_no_get_frame_pc | ( | void * | baton | ) |
Definition at line 1527 of file dwarf2expr.c.
Definition at line 1535 of file dwarf2expr.c.
void ctx_no_push_dwarf_reg_entry_value | ( | struct dwarf_expr_context * | ctx, |
enum call_site_parameter_kind | kind, | ||
union call_site_parameter_u | kind_u, | ||
int | deref_size | ||
) |
Definition at line 1560 of file dwarf2expr.c.
References _, and internal_error().
Definition at line 464 of file dwarf2expr.c.
References gdb_read_uleb128(), and gdb_skip_leb128().
Referenced by execute_stack_op(), read_call_site_scope(), and value_of_dwarf_block_entry().
int dwarf_block_to_dwarf_reg_deref | ( | const gdb_byte * | buf, |
const gdb_byte * | buf_end, | ||
CORE_ADDR * | deref_size_return | ||
) |
Definition at line 507 of file dwarf2expr.c.
References gdb_read_sleb128(), gdb_read_uleb128(), and offset.
Referenced by execute_stack_op().
int dwarf_block_to_fb_offset | ( | const gdb_byte * | buf, |
const gdb_byte * | buf_end, | ||
CORE_ADDR * | fb_offset_return | ||
) |
Definition at line 566 of file dwarf2expr.c.
References gdb_read_sleb128().
Referenced by value_of_dwarf_block_entry().
int dwarf_block_to_sp_offset | ( | struct gdbarch * | gdbarch, |
const gdb_byte * | buf, | ||
const gdb_byte * | buf_end, | ||
CORE_ADDR * | sp_offset_return | ||
) |
Definition at line 593 of file dwarf2expr.c.
References gdb_read_sleb128(), gdb_read_uleb128(), gdbarch_dwarf2_reg_to_regnum(), and gdbarch_sp_regnum().
Referenced by read_call_site_scope().
void dwarf_expr_eval | ( | struct dwarf_expr_context * | ctx, |
const gdb_byte * | addr, | ||
size_t | len | ||
) |
Definition at line 358 of file dwarf2expr.c.
References execute_stack_op(), gdb_assert, and dwarf_expr_context::recursion_depth.
Referenced by dwarf2_evaluate_loc_desc_full(), dwarf2_loc_desc_needs_frame(), dwarf2_locexpr_baton_eval(), dwarf_expr_push_dwarf_reg_entry_value(), execute_stack_op(), and per_cu_dwarf_call().
struct value* dwarf_expr_fetch | ( | struct dwarf_expr_context * | ctx, |
int | n | ||
) |
Definition at line 188 of file dwarf2expr.c.
References _, error(), dwarf_expr_context::stack, and dwarf_expr_context::stack_len.
Referenced by add_piece(), dwarf2_evaluate_loc_desc_full(), dwarf_expr_fetch_address(), and execute_stack_op().
CORE_ADDR dwarf_expr_fetch_address | ( | struct dwarf_expr_context * | ctx, |
int | n | ||
) |
Definition at line 255 of file dwarf2expr.c.
References dwarf_expr_context::addr_size, dwarf_expr_fetch(), dwarf_require_integral(), extract_unsigned_integer(), dwarf_expr_context::gdbarch, gdbarch_byte_order(), gdbarch_integer_to_address(), gdbarch_integer_to_address_p(), get_unsigned_type(), store_unsigned_integer(), TYPE_LENGTH, value_contents(), and value_type().
Referenced by add_piece(), dwarf2_evaluate_loc_desc_full(), dwarf2_locexpr_baton_eval(), and execute_stack_op().
int dwarf_expr_fetch_in_stack_memory | ( | struct dwarf_expr_context * | ctx, |
int | n | ||
) |
Definition at line 288 of file dwarf2expr.c.
References _, error(), dwarf_expr_context::stack, and dwarf_expr_context::stack_len.
Referenced by add_piece(), dwarf2_evaluate_loc_desc_full(), and execute_stack_op().
void dwarf_expr_push_address | ( | struct dwarf_expr_context * | ctx, |
CORE_ADDR | value, | ||
int | in_stack_memory | ||
) |
Definition at line 167 of file dwarf2expr.c.
References dwarf_expr_address_type(), dwarf_expr_push(), and value_from_ulongest().
Referenced by execute_stack_op(), and needs_dwarf_reg_entry_value().
Definition at line 408 of file dwarf2expr.c.
Referenced by do_compile_dwarf_expr_to_c(), dwarf2_compile_expr_to_ax(), and execute_stack_op().
void free_dwarf_expr_context | ( | struct dwarf_expr_context * | ctx | ) |
Definition at line 111 of file dwarf2expr.c.
References dwarf_expr_context::pieces, dwarf_expr_context::stack, and xfree().
Referenced by free_dwarf_expr_context_cleanup().
|
inlinestatic |
Definition at line 314 of file dwarf2expr.h.
Referenced by decode_frame_entry_1(), dwarf_block_to_dwarf_reg_deref(), dwarf_block_to_fb_offset(), dwarf_block_to_sp_offset(), and safe_read_sleb128().
|
inlinestatic |
Definition at line 303 of file dwarf2expr.h.
Referenced by decode_debug_loc_dwo_addresses(), decode_frame_entry_1(), dwarf_block_to_dwarf_reg(), dwarf_block_to_dwarf_reg_deref(), dwarf_block_to_sp_offset(), and safe_read_uleb128().
|
inlinestatic |
Definition at line 325 of file dwarf2expr.h.
Referenced by dwarf_block_to_dwarf_reg(), safe_skip_leb128(), and skip_form_bytes().
struct cleanup* make_cleanup_free_dwarf_expr_context | ( | struct dwarf_expr_context * | ctx | ) |
Definition at line 129 of file dwarf2expr.c.
References free_dwarf_expr_context_cleanup(), and make_cleanup().
Referenced by dwarf2_evaluate_loc_desc_full(), dwarf2_loc_desc_needs_frame(), dwarf2_locexpr_baton_eval(), and execute_stack_op().
struct dwarf_expr_context* new_dwarf_expr_context | ( | void | ) |
Definition at line 93 of file dwarf2expr.c.
References dwarf_expr_context::max_recursion_depth, dwarf_expr_context::num_pieces, dwarf_expr_context::pieces, dwarf_expr_context::stack, dwarf_expr_context::stack_allocated, dwarf_expr_context::stack_len, xcalloc(), and xmalloc().
Referenced by dwarf2_evaluate_loc_desc_full(), dwarf2_loc_desc_needs_frame(), dwarf2_locexpr_baton_eval(), and execute_stack_op().
Definition at line 385 of file dwarf2expr.c.
References _, error(), and gdb_read_sleb128().
Referenced by compute_stack_depth_worker(), disassemble_dwarf_expression(), do_compile_dwarf_expr_to_c(), dwarf2_compile_expr_to_ax(), execute_cfa_program(), execute_stack_op(), locexpr_describe_location_piece(), and read_encoded_value().
Definition at line 373 of file dwarf2expr.c.
References _, error(), and gdb_read_uleb128().
Referenced by compute_stack_depth_worker(), disassemble_dwarf_expression(), do_compile_dwarf_expr_to_c(), dwarf2_compile_expr_to_ax(), execute_cfa_program(), execute_stack_op(), locexpr_describe_location_1(), locexpr_describe_location_piece(), and read_encoded_value().
Definition at line 395 of file dwarf2expr.c.
References _, error(), and gdb_skip_leb128().
Referenced by skip_one_die().