GDB (xrefs)
Classes | Functions | Variables
/tmp/gdb-8.1/gdb/dwarf2expr.c File Reference
#include "defs.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "value.h"
#include "gdbcore.h"
#include "dwarf2.h"
#include "dwarf2expr.h"
#include "dwarf2loc.h"
#include "common/underlying.h"

Go to the source code of this file.

Classes

struct  dwarf_gdbarch_types
 

Functions

static void * dwarf_gdbarch_types_init (struct gdbarch *gdbarch)
 
static void dwarf_require_integral (struct type *type)
 
static struct typeget_unsigned_type (struct gdbarch *gdbarch, struct type *type)
 
static struct typeget_signed_type (struct gdbarch *gdbarch, struct type *type)
 
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)
 
void dwarf_expr_require_composition (const gdb_byte *op_ptr, const gdb_byte *op_end, const char *op_name)
 
static int base_types_equal_p (struct type *t1, struct type *t2)
 
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)
 
void _initialize_dwarf2expr (void)
 

Variables

static struct gdbarch_datadwarf_arch_cookie
 

Function Documentation

◆ _initialize_dwarf2expr()

void _initialize_dwarf2expr ( void  )

Definition at line 1410 of file dwarf2expr.c.

References dwarf_gdbarch_types_init(), and gdbarch_data_register_post_init().

◆ base_types_equal_p()

static int base_types_equal_p ( struct type t1,
struct type t2 
)
static

Definition at line 363 of file dwarf2expr.c.

References TYPE_CODE, TYPE_LENGTH, and TYPE_UNSIGNED.

Referenced by dwarf_expr_context::execute_stack_op().

◆ 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 op_ptr,
const gdb_byte op_end,
const char *  op_name 
)

◆ dwarf_gdbarch_types_init()

static void* dwarf_gdbarch_types_init ( struct gdbarch gdbarch)
static

Definition at line 47 of file dwarf2expr.c.

References GDBARCH_OBSTACK_ZALLOC.

Referenced by _initialize_dwarf2expr().

◆ dwarf_require_integral()

static void dwarf_require_integral ( struct type type)
static

◆ get_signed_type()

static struct type* get_signed_type ( struct gdbarch gdbarch,
struct type type 
)
static

◆ get_unsigned_type()

static struct type* get_unsigned_type ( struct gdbarch gdbarch,
struct type type 
)
static

◆ 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().

Variable Documentation

◆ dwarf_arch_cookie

struct gdbarch_data* dwarf_arch_cookie
static

Definition at line 34 of file dwarf2expr.c.

Referenced by dwarf_expr_context::address_type().