GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Enumerations | Functions
expr.h File Reference
#include "leb128.h"
#include "gdbtypes.h"

Go to the source code of this file.

Classes

struct  dwarf_expr_piece
 
struct  dwarf_stack_value
 
struct  dwarf_expr_context
 

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
}
 

Functions

CORE_ADDR read_addr_from_reg (frame_info_ptr frame, int reg)
 
void dwarf_expr_require_composition (const gdb_byte *, const gdb_byte *, const char *)
 
int dwarf_block_to_dwarf_reg (const gdb_byte *buf, const gdb_byte *buf_end)
 
int dwarf_block_to_dwarf_reg_deref (const gdb_byte *buf, const gdb_byte *buf_end, CORE_ADDR *deref_size_return)
 
int dwarf_block_to_fb_offset (const gdb_byte *buf, const gdb_byte *buf_end, CORE_ADDR *fb_offset_return)
 
int dwarf_block_to_sp_offset (struct gdbarch *gdbarch, const gdb_byte *buf, const gdb_byte *buf_end, CORE_ADDR *sp_offset_return)
 
static const gdb_byte * gdb_read_uleb128 (const gdb_byte *buf, const gdb_byte *buf_end, uint64_t *r)
 
static const gdb_byte * gdb_read_sleb128 (const gdb_byte *buf, const gdb_byte *buf_end, int64_t *r)
 
static const gdb_byte * gdb_skip_leb128 (const gdb_byte *buf, const gdb_byte *buf_end)
 
const gdb_byte * safe_read_uleb128 (const gdb_byte *buf, const gdb_byte *buf_end, uint64_t *r)
 
const gdb_byte * safe_read_sleb128 (const gdb_byte *buf, const gdb_byte *buf_end, int64_t *r)
 
const gdb_byte * safe_skip_leb128 (const gdb_byte *buf, const gdb_byte *buf_end)
 

Enumeration Type Documentation

◆ 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 31 of file expr.h.

Function Documentation

◆ dwarf_block_to_dwarf_reg()

int dwarf_block_to_dwarf_reg ( const gdb_byte *  buf,
const gdb_byte *  buf_end 
)

◆ dwarf_block_to_dwarf_reg_deref()

int dwarf_block_to_dwarf_reg_deref ( const gdb_byte *  buf,
const gdb_byte *  buf_end,
CORE_ADDR *  deref_size_return 
)

Definition at line 1360 of file expr.c.

References gdb_read_sleb128(), and gdb_read_uleb128().

Referenced by dwarf_expr_context::execute_stack_op().

◆ dwarf_block_to_fb_offset()

int dwarf_block_to_fb_offset ( const gdb_byte *  buf,
const gdb_byte *  buf_end,
CORE_ADDR *  fb_offset_return 
)

Definition at line 1419 of file expr.c.

References gdb_read_sleb128().

Referenced by value_of_dwarf_block_entry().

◆ dwarf_block_to_sp_offset()

int dwarf_block_to_sp_offset ( struct gdbarch gdbarch,
const gdb_byte *  buf,
const gdb_byte *  buf_end,
CORE_ADDR *  sp_offset_return 
)

◆ dwarf_expr_require_composition()

void dwarf_expr_require_composition ( const gdb_byte *  op_ptr,
const gdb_byte *  op_end,
const char *  op_name 
)

◆ gdb_read_sleb128()

static const gdb_byte * gdb_read_sleb128 ( const gdb_byte *  buf,
const gdb_byte *  buf_end,
int64_t *  r 
)
inlinestatic

◆ gdb_read_uleb128()

static const gdb_byte * gdb_read_uleb128 ( const gdb_byte *  buf,
const gdb_byte *  buf_end,
uint64_t *  r 
)
inlinestatic

◆ gdb_skip_leb128()

static const gdb_byte * gdb_skip_leb128 ( const gdb_byte *  buf,
const gdb_byte *  buf_end 
)
inlinestatic

Definition at line 303 of file expr.h.

Referenced by dwarf_block_to_dwarf_reg(), safe_skip_leb128(), and skip_form_bytes().

◆ read_addr_from_reg()

CORE_ADDR read_addr_from_reg ( frame_info_ptr  frame,
int  reg 
)

◆ safe_read_sleb128()

const gdb_byte * safe_read_sleb128 ( const gdb_byte *  buf,
const gdb_byte *  buf_end,
int64_t *  r 
)

◆ safe_read_uleb128()

const gdb_byte * safe_read_uleb128 ( const gdb_byte *  buf,
const gdb_byte *  buf_end,
uint64_t *  r 
)

◆ safe_skip_leb128()

const gdb_byte * safe_skip_leb128 ( const gdb_byte *  buf,
const gdb_byte *  buf_end 
)

Definition at line 1274 of file expr.c.

References gdb_skip_leb128().

Referenced by dwarf2_get_symbol_read_needs(), and skip_one_die().