GDB (xrefs)

Public Member Functions | Public Attributes | List of all members
dwarf_evaluate_loc_desc Class Reference
Inheritance diagram for dwarf_evaluate_loc_desc:

## Public Member Functions
CORE_ADDR | get_frame_cfa ()
CORE_ADDR | get_frame_pc ()
CORE_ADDR | get_tls_address (CORE_ADDR offset) OVERRIDE
void | dwarf_call (cu_offset die_offset) OVERRIDE
struct type * | get_base_type (cu_offset die_offset, int size) OVERRIDE
CORE_ADDR | get_addr_index (unsigned int index) OVERRIDE
CORE_ADDR | get_object_address ()
void | push_dwarf_reg_entry_value (enum call_site_parameter_kind kind, union call_site_parameter_u kind_u, int deref_size) OVERRIDE
void | get_frame_base (const gdb_byte **start, size_t *length) OVERRIDE
void | read_mem (gdb_byte *buf, CORE_ADDR addr, size_t len) OVERRIDE
CORE_ADDR | read_addr_from_reg (int dwarf_regnum) OVERRIDE
struct value * | get_reg_value (struct type *type, int dwarf_regnum) OVERRIDE
Public Member Functions inherited from dwarf_expr_context
| dwarf_expr_context ()
virtual | ~dwarf_expr_context ()=default
void | push_address (CORE_ADDR value, bool in_stack_memory)
void | eval (const gdb_byte *addr, size_t len)
struct value * | fetch (int n)
CORE_ADDR | fetch_address (int n)
bool | fetch_in_stack_memory (int n)

## Public Attributes
struct frame_info * | frame
struct dwarf2_per_cu_data * | per_cu
CORE_ADDR | obj_address
Public Attributes inherited from dwarf_expr_context
std::vector< dwarf_stack_value > | stack
struct gdbarch * | gdbarch
int | addr_size
int | ref_addr_size
CORE_ADDR | offset
int | recursion_depth
int | max_recursion_depth
enum dwarf_value_location | location
ULONGEST | len
const gdb_byte * | data
int | initialized
std::vector< dwarf_expr_piece > | pieces

## Detailed Description

Definition at line 549 of file dwarf2loc.c.

## Member Function Documentation

## ◆ dwarf_call()

void dwarf_evaluate_loc_desc::dwarf_call | ( | cu_offset | die_offset | ) |
| inline virtual

Implements dwarf_expr_context.

Definition at line 585 of file dwarf2loc.c.

References per_cu, and per_cu_dwarf_call().

## ◆ get_addr_index()

CORE_ADDR dwarf_evaluate_loc_desc::get_addr_index | ( | unsigned int | index | ) |
| inline virtual

Implements dwarf_expr_context.

Definition at line 603 of file dwarf2loc.c.

References dwarf2_read_addr_index(), and per_cu.

## ◆ get_base_type()

struct type* dwarf_evaluate_loc_desc::get_base_type | ( | cu_offset | die_offset,
|  | int | size
| ) |  |
| inline virtual

Reimplemented from dwarf_expr_context.

Definition at line 590 of file dwarf2loc.c.

References _, dwarf2_get_die_type(), error(), per_cu, size, and TYPE_LENGTH.

## ◆ get_frame_base()

void dwarf_evaluate_loc_desc::get_frame_base | ( | const gdb_byte ** | start,
|  | size_t * | length
| ) |  |
| inline virtual

Implements dwarf_expr_context.

Definition at line 669 of file dwarf2loc.c.

References _, block_linkage_function(), error(), frame, func_get_frame_base_dwarf_block(), gdb_assert, get_frame_address_in_block(), and get_frame_block().

## ◆ get_frame_cfa()

CORE_ADDR dwarf_evaluate_loc_desc::get_frame_cfa | ( |  | ) |
| inline virtual

Implements dwarf_expr_context.

Definition at line 560 of file dwarf2loc.c.

References dwarf2_frame_cfa(), and frame.

## ◆ get_frame_pc()

CORE_ADDR dwarf_evaluate_loc_desc::get_frame_pc | ( |  | ) |
| inline virtual

Reimplemented from dwarf_expr_context.

Definition at line 568 of file dwarf2loc.c.

References frame, and get_frame_address_in_block().

## ◆ get_object_address()

CORE_ADDR dwarf_evaluate_loc_desc::get_object_address | ( |  | ) |
| inline virtual

Implements dwarf_expr_context.

Definition at line 611 of file dwarf2loc.c.

References _, error(), and obj_address.

## ◆ get_reg_value()

struct value* dwarf_evaluate_loc_desc::get_reg_value | ( | struct type * | type,
|  | int | dwarf_regnum
| ) |  |
| inline virtual

Implements dwarf_expr_context.

Definition at line 714 of file dwarf2loc.c.

References dwarf_reg_to_regnum_or_error(), frame, get_frame_arch(), regnum, and value_from_register().

## ◆ get_tls_address()

CORE_ADDR dwarf_evaluate_loc_desc::get_tls_address | ( | CORE_ADDR | offset | ) |
| inline virtual

Implements dwarf_expr_context.

Definition at line 575 of file dwarf2loc.c.

References dwarf2_per_cu_objfile(), dwarf_expr_context::offset, per_cu, and target_translate_tls_address().

## ◆ push_dwarf_reg_entry_value()

void dwarf_evaluate_loc_desc::push_dwarf_reg_entry_value | ( | enum call_site_parameter_kind | kind,
|  | union call_site_parameter_u | kind_u,
|  | int | deref_size
| ) |  |
| inline virtual

Implements dwarf_expr_context.

Definition at line 626 of file dwarf2loc.c.

References _, dwarf_expr_context::addr_size, call_site_parameter::data_value, call_site_parameter::data_value_size, dwarf2_per_cu_addr_size(), dwarf2_per_cu_objfile(), dwarf2_per_cu_text_offset(), dwarf_expr_reg_to_entry_parameter(), dwarf_expr_context::eval(), frame, get_objfile_arch(), get_prev_frame(), call_site_parameter::kind, make_scoped_restore(), NO_ENTRY_VALUE_ERROR, dwarf_expr_context::offset, per_cu, size, throw_error(), call_site_parameter::value, and call_site_parameter::value_size.

## ◆ read_addr_from_reg()

CORE_ADDR dwarf_evaluate_loc_desc::read_addr_from_reg | ( | int | dwarf_regnum | ) |
| inline virtual

Implements dwarf_expr_context.

Definition at line 704 of file dwarf2loc.c.

References address_from_register(), dwarf_reg_to_regnum_or_error(), frame, get_frame_arch(), and regnum.

Referenced by dwarf2_locexpr_baton_eval().

## ◆ read_mem()

void dwarf_evaluate_loc_desc::read_mem | ( | gdb_byte * | buf,
|  | CORE_ADDR | addr,
|  | size_t | len
| ) |  |
| inline virtual

Implements dwarf_expr_context.

Definition at line 697 of file dwarf2loc.c.

References dwarf_expr_context::len, and read_memory().

## Member Data Documentation

## ◆ frame

struct frame_info* dwarf_evaluate_loc_desc::frame

Definition at line 553 of file dwarf2loc.c.

Referenced by dwarf2_evaluate_loc_desc_full(), dwarf2_locexpr_baton_eval(), get_frame_base(), get_frame_cfa(), get_frame_pc(), get_reg_value(), push_dwarf_reg_entry_value(), and read_addr_from_reg().

## ◆ obj_address

CORE_ADDR dwarf_evaluate_loc_desc::obj_address

Definition at line 555 of file dwarf2loc.c.

Referenced by dwarf2_evaluate_loc_desc_full(), dwarf2_locexpr_baton_eval(), and get_object_address().

## ◆ per_cu

struct dwarf2_per_cu_data* dwarf_evaluate_loc_desc::per_cu

Definition at line 554 of file dwarf2loc.c.

Referenced by dwarf2_evaluate_loc_desc_full(), dwarf2_locexpr_baton_eval(), dwarf_call(), get_addr_index(), get_base_type(), get_tls_address(), and push_dwarf_reg_entry_value().

The documentation for this class was generated from the following file:

- /tmp/gdb-8.1/gdb/dwarf2loc.c