GDB (xrefs)
|
#include "defs.h"
#include "dwarf2.h"
#include "dwarf2expr.h"
#include "dwarf2loc.h"
#include "ui-file.h"
#include "utils.h"
#include "compile-internal.h"
#include "compile.h"
#include "block.h"
#include "dwarf2-frame.h"
#include "gdb_vecs.h"
#include "value.h"
Go to the source code of this file.
Classes | |
struct | insn_info |
Macros | |
#define | SET_CHECK_DEPTH(WHERE) |
#define | GCC_UINTPTR "__gdb_uintptr" |
#define | GCC_INTPTR "__gdb_intptr" |
#define | BINARY(OP) |
#define | COMPARE(OP) |
Functions | |
static void | compute_stack_depth_worker (int start, int *need_tempvar, struct insn_info *info, VEC(int)**to_do, enum bfd_endian byte_order, unsigned int addr_size, const gdb_byte *op_ptr, const gdb_byte *op_end) |
static int | compute_stack_depth (enum bfd_endian byte_order, unsigned int addr_size, int *need_tempvar, int *is_tls, const gdb_byte *op_ptr, const gdb_byte *op_end, int initial_depth, struct insn_info **info) |
static void | push (int indent, struct ui_file *stream, ULONGEST l) |
static void | pushf (int indent, struct ui_file *stream, const char *format,...) ATTRIBUTE_PRINTF(3 |
static void | unary (int indent, struct ui_file *stream, const char *format,...) ATTRIBUTE_PRINTF(3 |
static void | binary (int indent, struct ui_file *stream, const char *format,...) ATTRIBUTE_PRINTF(3 |
static void | print_label (struct ui_file *stream, unsigned int scope, int target) |
static void | pushf_register_address (int indent, struct ui_file *stream, unsigned char *registers_used, struct gdbarch *gdbarch, int regnum) |
static void | pushf_register (int indent, struct ui_file *stream, unsigned char *registers_used, struct gdbarch *gdbarch, int regnum, uint64_t offset) |
static void | do_compile_dwarf_expr_to_c (int indent, struct ui_file *stream, const char *type_name, const char *result_name, struct symbol *sym, CORE_ADDR pc, struct gdbarch *arch, unsigned char *registers_used, unsigned int addr_size, const gdb_byte *op_ptr, const gdb_byte *op_end, CORE_ADDR *initial, struct dwarf2_per_cu_data *per_cu) |
void | compile_dwarf_expr_to_c (struct ui_file *stream, const char *result_name, struct symbol *sym, CORE_ADDR pc, struct gdbarch *arch, unsigned char *registers_used, unsigned int addr_size, const gdb_byte *op_ptr, const gdb_byte *op_end, struct dwarf2_per_cu_data *per_cu) |
void | compile_dwarf_bounds_to_c (struct ui_file *stream, const char *result_name, const struct dynamic_prop *prop, struct symbol *sym, CORE_ADDR pc, struct gdbarch *arch, unsigned char *registers_used, unsigned int addr_size, const gdb_byte *op_ptr, const gdb_byte *op_end, struct dwarf2_per_cu_data *per_cu) |
#define BINARY | ( | OP | ) |
Referenced by do_compile_dwarf_expr_to_c().
#define COMPARE | ( | OP | ) |
Referenced by do_compile_dwarf_expr_to_c().
#define GCC_INTPTR "__gdb_intptr" |
Definition at line 432 of file compile-loc2c.c.
Referenced by do_compile_dwarf_expr_to_c().
#define GCC_UINTPTR "__gdb_uintptr" |
Definition at line 431 of file compile-loc2c.c.
Referenced by compile_dwarf_expr_to_c(), do_compile_dwarf_expr_to_c(), push(), pushf_register(), and pushf_register_address().
#define SET_CHECK_DEPTH | ( | WHERE | ) |
Referenced by compute_stack_depth_worker().
|
static |
Definition at line 488 of file compile-loc2c.c.
References fprintf_filtered(), fprintfi_filtered(), and vfprintf_filtered().
Referenced by do_compile_dwarf_expr_to_c().
void compile_dwarf_bounds_to_c | ( | struct ui_file * | stream, |
const char * | result_name, | ||
const struct dynamic_prop * | prop, | ||
struct symbol * | sym, | ||
CORE_ADDR | pc, | ||
struct gdbarch * | arch, | ||
unsigned char * | registers_used, | ||
unsigned int | addr_size, | ||
const gdb_byte * | op_ptr, | ||
const gdb_byte * | op_end, | ||
struct dwarf2_per_cu_data * | per_cu | ||
) |
Definition at line 1149 of file compile-loc2c.c.
References do_compile_dwarf_expr_to_c().
Referenced by dwarf2_compile_property_to_c().
void compile_dwarf_expr_to_c | ( | struct ui_file * | stream, |
const char * | result_name, | ||
struct symbol * | sym, | ||
CORE_ADDR | pc, | ||
struct gdbarch * | arch, | ||
unsigned char * | registers_used, | ||
unsigned int | addr_size, | ||
const gdb_byte * | op_ptr, | ||
const gdb_byte * | op_end, | ||
struct dwarf2_per_cu_data * | per_cu | ||
) |
Definition at line 1134 of file compile-loc2c.c.
References do_compile_dwarf_expr_to_c(), and GCC_UINTPTR.
Referenced by locexpr_generate_c_location(), and loclist_generate_c_location().
|
static |
Definition at line 385 of file compile-loc2c.c.
References compute_stack_depth_worker(), discard_cleanups(), do_cleanups(), make_cleanup(), VEC, VEC_cleanup, VEC_empty, VEC_pop, VEC_safe_push, and xfree().
Referenced by do_compile_dwarf_expr_to_c().
|
static |
Definition at line 73 of file compile-loc2c.c.
References _, insn_info::depth, error(), extract_signed_integer(), gdb_assert, insn_info::is_tls, insn_info::label, offset, safe_read_sleb128(), safe_read_uleb128(), SET_CHECK_DEPTH, and VEC_safe_push.
Referenced by compute_stack_depth().
|
static |
Definition at line 586 of file compile-loc2c.c.
References _, binary(), BINARY, block_for_pc(), block_linkage_function(), c_get_mode_for_size(), COMPARE, compute_stack_depth(), core_addr_to_string(), do_cleanups(), dwarf2_fetch_cfa_info(), dwarf2_per_cu_text_offset(), dwarf2_reg_to_regnum_or_error(), dwarf_expr_require_composition(), error(), extract_signed_integer(), extract_unsigned_integer(), fprintf_filtered(), fprintfi_filtered(), func_get_frame_base_dwarf_block(), GCC_INTPTR, GCC_UINTPTR, gdbarch_byte_order(), get_selected_frame(), hex_string(), lval_memory, make_cleanup(), offset, plongest(), print_label(), print_spaces(), push(), pushf(), pushf_register(), pushf_register_address(), read_var_value(), regnum, safe_read_sleb128(), safe_read_uleb128(), size, SYMBOL_PRINT_NAME, unary(), value_address(), VALUE_LVAL, warning(), xfree(), and xsnprintf().
Referenced by compile_dwarf_bounds_to_c(), and compile_dwarf_expr_to_c().
Definition at line 505 of file compile-loc2c.c.
References fprintf_filtered(), and pulongest().
Referenced by do_compile_dwarf_expr_to_c().
Definition at line 437 of file compile-loc2c.c.
References fprintfi_filtered(), GCC_UINTPTR, and hex_string().
Referenced by do_compile_dwarf_expr_to_c().
|
static |
Definition at line 451 of file compile-loc2c.c.
References fprintf_filtered(), fprintfi_filtered(), and vfprintf_filtered().
Referenced by do_compile_dwarf_expr_to_c(), pushf_register(), and pushf_register_address().
|
static |
Definition at line 537 of file compile-loc2c.c.
References COMPILE_I_SIMPLE_REGISTER_ARG_NAME, compile_register_name_mangled(), do_cleanups(), GCC_UINTPTR, hex_string(), make_cleanup(), pushf(), regnum, and xfree().
Referenced by do_compile_dwarf_expr_to_c().
|
static |
Definition at line 516 of file compile-loc2c.c.
References COMPILE_I_SIMPLE_REGISTER_ARG_NAME, compile_register_name_mangled(), do_cleanups(), GCC_UINTPTR, make_cleanup(), pushf(), regnum, and xfree().
Referenced by do_compile_dwarf_expr_to_c().
|
static |
Definition at line 471 of file compile-loc2c.c.
References fprintf_filtered(), fprintfi_filtered(), and vfprintf_filtered().
Referenced by do_compile_dwarf_expr_to_c().