GDB (xrefs)
Classes | Enumerations | Functions
/tmp/gdb-8.1/gdb/dwarf2expr.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

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_bytegdb_read_uleb128 (const gdb_byte *buf, const gdb_byte *buf_end, uint64_t *r)
 
static const gdb_bytegdb_read_sleb128 (const gdb_byte *buf, const gdb_byte *buf_end, int64_t *r)
 
static const gdb_bytegdb_skip_leb128 (const gdb_byte *buf, const gdb_byte *buf_end)
 
const gdb_bytesafe_read_uleb128 (const gdb_byte *buf, const gdb_byte *buf_end, uint64_t *r)
 
const gdb_bytesafe_read_sleb128 (const gdb_byte *buf, const gdb_byte *buf_end, int64_t *r)
 
const gdb_bytesafe_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 29 of file dwarf2expr.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 419 of file dwarf2expr.c.

References gdb_read_sleb128(), gdb_read_uleb128(), and offset.

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 478 of file dwarf2expr.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 ,
const gdb_byte ,
const char *   
)

◆ 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 301 of file dwarf2expr.h.

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

◆ 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 333 of file dwarf2expr.c.

References _, error(), and gdb_skip_leb128().

Referenced by skip_one_die().