GDB (xrefs)
|
#include "defs.h"
#include "frame.h"
#include "frame-base.h"
#include "trad-frame.h"
#include "frame-unwind.h"
#include "dwarf2/frame.h"
#include "gdbtypes.h"
#include "inferior.h"
#include "gdbcore.h"
#include "arch-utils.h"
#include "regcache.h"
#include "dis-asm.h"
#include "osabi.h"
#include "elf-bfd.h"
#include "elf/v850.h"
#include "gdbarch.h"
Go to the source code of this file.
Classes | |
struct | v850_gdbarch_tdep |
struct | v850_frame_cache |
struct | pifsr |
struct | reg_list |
Functions | |
static const char * | v850_register_name (struct gdbarch *gdbarch, int regnum) |
static const char * | v850e_register_name (struct gdbarch *gdbarch, int regnum) |
static const char * | v850e2_register_name (struct gdbarch *gdbarch, int regnum) |
static const char * | v850e3v5_register_name (struct gdbarch *gdbarch, int regnum) |
static struct type * | v850_register_type (struct gdbarch *gdbarch, int regnum) |
static int | v850_type_is_scalar (struct type *t) |
static int | v850_use_struct_convention (struct gdbarch *gdbarch, struct type *type) |
static void | v850_handle_prepare (int insn, int insn2, CORE_ADDR *current_pc_ptr, struct v850_frame_cache *pi, struct pifsr **pifsr_ptr) |
static void | v850_handle_pushm (int insn, int insn2, struct v850_frame_cache *pi, struct pifsr **pifsr_ptr) |
static int | v850_is_save_register (int reg) |
static CORE_ADDR | v850_analyze_prologue (struct gdbarch *gdbarch, CORE_ADDR func_addr, CORE_ADDR pc, struct v850_frame_cache *pi, ULONGEST ctbp) |
static CORE_ADDR | v850_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc) |
static int | v850_eight_byte_align_p (struct type *type) |
static CORE_ADDR | v850_frame_align (struct gdbarch *ignore, CORE_ADDR sp) |
static CORE_ADDR | v850_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, function_call_return_method return_method, CORE_ADDR struct_addr) |
static void | v850_extract_return_value (struct type *type, struct regcache *regcache, gdb_byte *valbuf) |
static void | v850_store_return_value (struct type *type, struct regcache *regcache, const gdb_byte *valbuf) |
static enum return_value_convention | v850_return_value (struct gdbarch *gdbarch, struct value *function, struct type *type, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf) |
static int | v850_breakpoint_kind_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr) |
static const gdb_byte * | v850_sw_breakpoint_from_kind (struct gdbarch *gdbarch, int kind, int *size) |
static struct v850_frame_cache * | v850_alloc_frame_cache (frame_info_ptr this_frame) |
static struct v850_frame_cache * | v850_frame_cache (frame_info_ptr this_frame, void **this_cache) |
static struct value * | v850_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) |
static void | v850_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) |
static CORE_ADDR | v850_frame_base_address (frame_info_ptr this_frame, void **this_cache) |
static struct gdbarch * | v850_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) |
void | _initialize_v850_tdep () |
Variables | |
static const struct frame_unwind | v850_frame_unwind |
static const struct frame_base | v850_frame_base |
anonymous enum |
Definition at line 37 of file v850-tdep.c.
anonymous enum |
Enumerator | |
---|---|
v850_reg_size |
Definition at line 236 of file v850-tdep.c.
anonymous enum |
Enumerator | |
---|---|
E_MAX_RETTYPE_SIZE_IN_REGS |
Definition at line 242 of file v850-tdep.c.
enum v850_abi |
Enumerator | |
---|---|
V850_ABI_GCC | |
V850_ABI_RH850 |
Definition at line 260 of file v850-tdep.c.
void _initialize_v850_tdep | ( | ) |
Definition at line 1465 of file v850-tdep.c.
References gdbarch_register(), and v850_gdbarch_init().
|
static |
Definition at line 1215 of file v850-tdep.c.
References v850_frame_cache::base, FRAME_OBSTACK_ZALLOC, v850_frame_cache::pc, v850_frame_cache::saved_regs, v850_frame_cache::sp_offset, trad_frame_alloc_saved_regs(), and v850_frame_cache::uses_fp.
Referenced by v850_frame_cache().
|
static |
Definition at line 775 of file v850-tdep.c.
References pifsr::cur_frameoffset, E_EP_REGNUM, E_FP_REGNUM, E_NUM_REGS, E_R0_REGNUM, E_R12_REGNUM, E_R1_REGNUM, E_SP_REGNUM, gdbarch_byte_order(), pifsr::offset, read_memory_integer(), read_memory_unsigned_integer(), pifsr::reg, v850_frame_cache::saved_regs, trad_frame_saved_reg::set_addr(), v850_frame_cache::sp_offset, v850_frame_cache::uses_fp, v850_handle_prepare(), v850_handle_pushm(), and v850_is_save_register().
Referenced by v850_frame_cache().
|
static |
Definition at line 1177 of file v850-tdep.c.
Referenced by v850_gdbarch_init().
|
static |
Definition at line 974 of file v850-tdep.c.
References check_typedef(), type::field(), type::length(), type::num_fields(), field::type(), v850_eight_byte_align_p(), and v850_type_is_scalar().
Referenced by v850_eight_byte_align_p(), and v850_push_dummy_call().
|
static |
Definition at line 1114 of file v850-tdep.c.
References reg_buffer::arch(), E_V0_REGNUM, gdbarch_byte_order(), type::length(), readable_regcache::raw_read(), regcache_cooked_read_unsigned(), regnum, store_unsigned_integer(), and v850_reg_size.
Referenced by v850_return_value().
|
static |
Definition at line 994 of file v850-tdep.c.
Referenced by v850_gdbarch_init().
|
static |
Definition at line 1334 of file v850-tdep.c.
References v850_frame_cache::base, and v850_frame_cache().
|
static |
Definition at line 1234 of file v850-tdep.c.
References trad_frame_saved_reg::addr, v850_frame_cache::base, E_CTBP_REGNUM, E_FP_REGNUM, E_LP_REGNUM, E_PC_REGNUM, E_SP_REGNUM, gdbarch_num_regs(), get_frame_arch(), get_frame_func(), get_frame_pc(), get_frame_register_unsigned(), trad_frame_saved_reg::is_addr(), v850_frame_cache::pc, v850_frame_cache::saved_regs, trad_frame_saved_reg::set_addr(), trad_frame_saved_reg::set_value(), v850_frame_cache::sp_offset, v850_frame_cache::uses_fp, v850_alloc_frame_cache(), and v850_analyze_prologue().
Referenced by v850_frame_base_address(), v850_frame_prev_register(), and v850_frame_this_id().
|
static |
Definition at line 1300 of file v850-tdep.c.
References regnum, v850_frame_cache::saved_regs, trad_frame_get_prev_register(), and v850_frame_cache().
|
static |
Definition at line 1311 of file v850-tdep.c.
References trad_frame_saved_reg::addr, v850_frame_cache::base, E_SP_REGNUM, frame_id_build(), v850_frame_cache::pc, v850_frame_cache::saved_regs, and v850_frame_cache().
|
static |
Definition at line 1349 of file v850-tdep.c.
References arches, core_addr_lessthan(), dwarf2_append_unwinders(), v850_gdbarch_tdep::e_flags, v850_gdbarch_tdep::e_machine, E_NUM_OF_V850_REGS, E_NUM_OF_V850E3V5_REGS, E_NUM_OF_V850E_REGS, E_NUM_REGS, E_PC_REGNUM, E_SP_REGNUM, v850_gdbarch_tdep::eight_byte_align, frame_base_set_default(), frame_unwind_append_unwinder(), gdbarch_alloc(), gdbarch_init_osabi(), gdbarch_list_lookup_by_info(), gdbarch::info(), set_gdbarch_addr_bit(), set_gdbarch_breakpoint_kind_from_pc(), set_gdbarch_char_signed(), set_gdbarch_double_bit(), set_gdbarch_float_bit(), set_gdbarch_fp0_regnum(), set_gdbarch_frame_align(), set_gdbarch_inner_than(), set_gdbarch_int_bit(), set_gdbarch_long_bit(), set_gdbarch_long_double_bit(), set_gdbarch_long_long_bit(), set_gdbarch_num_pseudo_regs(), set_gdbarch_num_regs(), set_gdbarch_pc_regnum(), set_gdbarch_ptr_bit(), set_gdbarch_push_dummy_call(), set_gdbarch_register_name(), set_gdbarch_register_type(), set_gdbarch_return_value(), set_gdbarch_short_bit(), set_gdbarch_skip_prologue(), set_gdbarch_sp_regnum(), set_gdbarch_sw_breakpoint_from_kind(), V850_ABI_GCC, V850_ABI_RH850, v850_breakpoint_kind_from_pc(), v850_frame_align(), v850_frame_base, v850_frame_unwind, v850_push_dummy_call(), v850_register_name(), v850_register_type(), v850_return_value(), v850_skip_prologue(), v850_sw_breakpoint_from_kind(), v850e2_register_name(), v850e3v5_register_name(), and v850e_register_name().
Referenced by _initialize_v850_tdep().
|
static |
Definition at line 597 of file v850-tdep.c.
References pifsr::cur_frameoffset, reg_list::mask, pifsr::offset, pifsr::reg, reg_list::regno, v850_frame_cache::sp_offset, and v850_reg_size.
Referenced by v850_analyze_prologue().
|
static |
Definition at line 667 of file v850-tdep.c.
References pifsr::cur_frameoffset, E_PS_REGNUM, reg_list::mask, pifsr::offset, pifsr::reg, reg_list::regno, v850_frame_cache::sp_offset, and v850_reg_size.
Referenced by v850_analyze_prologue().
|
static |
Definition at line 756 of file v850-tdep.c.
References E_R20_REGNUM, E_R29_REGNUM, E_R2_REGNUM, and E_R31_REGNUM.
Referenced by v850_analyze_prologue().
|
static |
Definition at line 1009 of file v850-tdep.c.
References E_ARG0_REGNUM, E_ARGLAST_REGNUM, E_LP_REGNUM, E_MAX_RETTYPE_SIZE_IN_REGS, E_SP_REGNUM, v850_gdbarch_tdep::eight_byte_align, extract_unsigned_integer(), gdbarch_byte_order(), regcache_cooked_write_unsigned(), return_method_struct, store_unsigned_integer(), V850_ABI_GCC, V850_ABI_RH850, v850_eight_byte_align_p(), v850_reg_size, v850_type_is_scalar(), and write_memory().
Referenced by v850_gdbarch_init().
|
static |
Definition at line 302 of file v850-tdep.c.
References E_NUM_OF_V850_REGS, gdb_static_assert(), and regnum.
Referenced by v850_gdbarch_init().
Definition at line 488 of file v850-tdep.c.
References builtin_type::builtin_func_ptr, builtin_type::builtin_int32, builtin_type(), builtin_type::builtin_uint64, E_PC_REGNUM, E_VR0_REGNUM, E_VR31_REGNUM, and regnum.
Referenced by v850_gdbarch_init().
|
static |
Definition at line 1161 of file v850-tdep.c.
References RETURN_VALUE_REGISTER_CONVENTION, RETURN_VALUE_STRUCT_CONVENTION, v850_extract_return_value(), v850_store_return_value(), and v850_use_struct_convention().
Referenced by v850_gdbarch_init().
|
static |
Definition at line 945 of file v850-tdep.c.
References symtab_and_line::end, find_pc_line(), find_pc_partial_function(), symtab_and_line::line, and symtab_and_line::pc.
Referenced by v850_gdbarch_init().
|
static |
Definition at line 1141 of file v850-tdep.c.
References reg_buffer::arch(), E_V0_REGNUM, extract_unsigned_integer(), gdbarch_byte_order(), type::length(), regcache::raw_write(), regcache_cooked_write_unsigned(), regnum, and v850_reg_size.
Referenced by v850_return_value().
|
static |
Definition at line 1185 of file v850-tdep.c.
References gdbarch_bfd_arch_info(), and size.
Referenced by v850_gdbarch_init().
|
static |
Definition at line 498 of file v850-tdep.c.
References type::code().
Referenced by v850_eight_byte_align_p(), v850_push_dummy_call(), and v850_use_struct_convention().
Definition at line 508 of file v850-tdep.c.
References type::code(), type::field(), type::length(), type::num_fields(), type::target_type(), field::type(), V850_ABI_RH850, v850_type_is_scalar(), and v850_use_struct_convention().
Referenced by v850_return_value(), and v850_use_struct_convention().
|
static |
Definition at line 339 of file v850-tdep.c.
References E_NUM_OF_V850E2_REGS, and regnum.
Referenced by v850_gdbarch_init().
|
static |
Definition at line 385 of file v850-tdep.c.
References E_NUM_OF_V850E3V5_REGS, gdb_static_assert(), and regnum.
Referenced by v850_gdbarch_init().
|
static |
Definition at line 320 of file v850-tdep.c.
References E_NUM_OF_V850E_REGS, gdb_static_assert(), and regnum.
Referenced by v850_gdbarch_init().
|
static |
Definition at line 1341 of file v850-tdep.c.
Referenced by v850_gdbarch_init().
|
static |
Definition at line 1323 of file v850-tdep.c.
Referenced by v850_gdbarch_init().