GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Enumerations | Functions
expr.h File Reference
#include "leb128.h"
#include "dwarf2/call-site.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 1367 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 1426 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 )
extern

◆ safe_read_uleb128()

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

◆ safe_skip_leb128()

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

Definition at line 1281 of file expr.c.

References gdb_skip_leb128().

Referenced by dwarf2_get_symbol_read_needs(), and skip_one_die().