GDB (xrefs)
|
#include "defs.h"
#include "frame.h"
#include "frame-base.h"
#include "frame-unwind.h"
#include "dwarf2/frame.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "gdbcmd.h"
#include "gdbcore.h"
#include "value.h"
#include "dis-asm.h"
#include "inferior.h"
#include "arch-utils.h"
#include "regcache.h"
#include "osabi.h"
#include "objfiles.h"
#include "gdbsupport/byte-vector.h"
Go to the source code of this file.
Classes | |
struct | xstormy16_frame_cache |
Macros | |
#define | E_MAX_RETTYPE_SIZE(regnum) |
Enumerations | |
enum | gdb_regnum { E_R0_REGNUM , E_R1_REGNUM , E_R2_REGNUM , E_1ST_ARG_REGNUM = E_R2_REGNUM , E_PTR_RET_REGNUM = E_R2_REGNUM , E_R3_REGNUM , E_R4_REGNUM , E_R5_REGNUM , E_R6_REGNUM , E_R7_REGNUM , E_LST_ARG_REGNUM = E_R7_REGNUM , E_R8_REGNUM , E_R9_REGNUM , E_R10_REGNUM , E_R11_REGNUM , E_R12_REGNUM , E_R13_REGNUM , E_FP_REGNUM = E_R13_REGNUM , E_R14_REGNUM , E_PSW_REGNUM = E_R14_REGNUM , E_R15_REGNUM , E_SP_REGNUM = E_R15_REGNUM , E_PC_REGNUM , E_NUM_REGS } |
enum | { REG_UNAVAIL = (CORE_ADDR) -1 } |
enum | { xstormy16_inst_size = 2 , xstormy16_reg_size = 2 , xstormy16_pc_size = 4 } |
enum | { E_MAX_RETTYPE_SIZE_IN_REGS = E_MAX_RETTYPE_SIZE (E_R2_REGNUM) } |
Functions | |
static const char * | xstormy16_register_name (struct gdbarch *gdbarch, int regnum) |
static struct type * | xstormy16_register_type (struct gdbarch *gdbarch, int regnum) |
static int | xstormy16_type_is_scalar (struct type *t) |
static int | xstormy16_use_struct_convention (struct type *type) |
static void | xstormy16_extract_return_value (struct type *type, struct regcache *regcache, gdb_byte *valbuf) |
static void | xstormy16_store_return_value (struct type *type, struct regcache *regcache, const gdb_byte *valbuf) |
static enum return_value_convention | xstormy16_return_value (struct gdbarch *gdbarch, struct value *function, struct type *type, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf) |
static CORE_ADDR | xstormy16_frame_align (struct gdbarch *gdbarch, CORE_ADDR addr) |
static CORE_ADDR | xstormy16_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 CORE_ADDR | xstormy16_analyze_prologue (struct gdbarch *gdbarch, CORE_ADDR start_addr, CORE_ADDR end_addr, struct xstormy16_frame_cache *cache, frame_info_ptr this_frame) |
static CORE_ADDR | xstormy16_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc) |
static int | xstormy16_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc) |
typedef | BP_MANIPULATION (xstormy16_break_insn) |
static CORE_ADDR | xstormy16_find_jmp_table_entry (struct gdbarch *gdbarch, CORE_ADDR faddr) |
static CORE_ADDR | xstormy16_skip_trampoline_code (frame_info_ptr frame, CORE_ADDR pc) |
static CORE_ADDR | xstormy16_pointer_to_address (struct gdbarch *gdbarch, struct type *type, const gdb_byte *buf) |
static void | xstormy16_address_to_pointer (struct gdbarch *gdbarch, struct type *type, gdb_byte *buf, CORE_ADDR addr) |
static struct xstormy16_frame_cache * | xstormy16_alloc_frame_cache (void) |
static struct xstormy16_frame_cache * | xstormy16_frame_cache (frame_info_ptr this_frame, void **this_cache) |
static struct value * | xstormy16_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) |
static void | xstormy16_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) |
static CORE_ADDR | xstormy16_frame_base_address (frame_info_ptr this_frame, void **this_cache) |
static struct gdbarch * | xstormy16_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) |
void | _initialize_xstormy16_tdep () |
Variables | |
constexpr gdb_byte | xstormy16_break_insn [] = { 0x06, 0x0 } |
static const struct frame_unwind | xstormy16_frame_unwind |
static const struct frame_base | xstormy16_frame_base |
#define E_MAX_RETTYPE_SIZE | ( | regnum | ) |
Definition at line 90 of file xstormy16-tdep.c.
Referenced by xstormy16_push_dummy_call().
anonymous enum |
Enumerator | |
---|---|
REG_UNAVAIL |
Definition at line 68 of file xstormy16-tdep.c.
anonymous enum |
Enumerator | |
---|---|
xstormy16_inst_size | |
xstormy16_reg_size | |
xstormy16_pc_size |
Definition at line 82 of file xstormy16-tdep.c.
anonymous enum |
Enumerator | |
---|---|
E_MAX_RETTYPE_SIZE_IN_REGS |
Definition at line 94 of file xstormy16-tdep.c.
enum gdb_regnum |
Definition at line 38 of file xstormy16-tdep.c.
void _initialize_xstormy16_tdep | ( | ) |
Definition at line 831 of file xstormy16-tdep.c.
References gdbarch_register(), and xstormy16_gdbarch_init().
typedef BP_MANIPULATION | ( | xstormy16_break_insn | ) |
Definition at line 501 of file xstormy16-tdep.c.
References obj_section::addr(), extract_unsigned_integer(), find_pc_section(), gdbarch_byte_order(), target_read_memory(), obj_section::the_bfd_section, and xstormy16_inst_size.
|
static |
Definition at line 620 of file xstormy16-tdep.c.
References type::code(), gdbarch_byte_order(), type::length(), store_unsigned_integer(), type::target_type(), and xstormy16_find_jmp_table_entry().
Referenced by xstormy16_gdbarch_init().
|
static |
Definition at line 636 of file xstormy16-tdep.c.
References xstormy16_frame_cache::base, E_NUM_REGS, FRAME_OBSTACK_ZALLOC, xstormy16_frame_cache::framesize, xstormy16_frame_cache::pc, REG_UNAVAIL, xstormy16_frame_cache::saved_regs, xstormy16_frame_cache::saved_sp, and xstormy16_frame_cache::uses_fp.
Referenced by xstormy16_frame_cache().
|
static |
Definition at line 306 of file xstormy16-tdep.c.
References E_PC_REGNUM, xstormy16_frame_cache::framesize, gdbarch_byte_order(), read_memory_unsigned_integer(), regnum, xstormy16_frame_cache::saved_regs, xstormy16_frame_cache::uses_fp, xstormy16_inst_size, xstormy16_pc_size, and xstormy16_reg_size.
Referenced by xstormy16_frame_cache(), and xstormy16_skip_prologue().
|
static |
Definition at line 154 of file xstormy16-tdep.c.
References E_1ST_ARG_REGNUM, type::length(), readable_regcache::raw_read(), regnum, and xstormy16_reg_size.
Referenced by xstormy16_return_value().
|
static |
Definition at line 537 of file xstormy16-tdep.c.
References obj_section::addr(), obj_section::endaddr(), extract_unsigned_integer(), find_pc_section(), gdbarch_byte_order(), obj_section::objfile, objfile::sections(), target_read_memory(), obj_section::the_bfd_section, and xstormy16_inst_size.
Referenced by xstormy16_address_to_pointer().
|
static |
Definition at line 206 of file xstormy16-tdep.c.
Referenced by xstormy16_gdbarch_init(), and xstormy16_push_dummy_call().
|
static |
Definition at line 723 of file xstormy16-tdep.c.
References xstormy16_frame_cache::base, and xstormy16_frame_cache().
|
static |
Definition at line 655 of file xstormy16-tdep.c.
References xstormy16_frame_cache::base, E_FP_REGNUM, E_NUM_REGS, E_SP_REGNUM, xstormy16_frame_cache::framesize, get_frame_arch(), get_frame_func(), get_frame_pc(), get_frame_register_unsigned(), xstormy16_frame_cache::pc, REG_UNAVAIL, xstormy16_frame_cache::saved_regs, xstormy16_frame_cache::saved_sp, xstormy16_frame_cache::uses_fp, xstormy16_alloc_frame_cache(), and xstormy16_analyze_prologue().
Referenced by xstormy16_frame_base_address(), xstormy16_frame_prev_register(), and xstormy16_frame_this_id().
|
static |
Definition at line 691 of file xstormy16-tdep.c.
References E_SP_REGNUM, frame_unwind_got_constant(), frame_unwind_got_memory(), frame_unwind_got_register(), REG_UNAVAIL, regnum, xstormy16_frame_cache::saved_regs, xstormy16_frame_cache::saved_sp, and xstormy16_frame_cache().
|
static |
Definition at line 709 of file xstormy16-tdep.c.
References xstormy16_frame_cache::base, frame_id_build(), xstormy16_frame_cache::pc, xstormy16_frame_cache::saved_sp, and xstormy16_frame_cache().
|
static |
Definition at line 752 of file xstormy16-tdep.c.
References arches, core_addr_greaterthan(), dwarf2_append_unwinders(), E_NUM_REGS, E_PC_REGNUM, E_SP_REGNUM, 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_address_to_pointer(), set_gdbarch_breakpoint_kind_from_pc(), set_gdbarch_char_signed(), set_gdbarch_double_bit(), set_gdbarch_dwarf2_addr_size(), set_gdbarch_float_bit(), 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_pointer_to_address(), 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_skip_trampoline_code(), set_gdbarch_sp_regnum(), set_gdbarch_stack_frame_destroyed_p(), set_gdbarch_sw_breakpoint_from_kind(), set_gdbarch_wchar_bit(), set_gdbarch_wchar_signed(), xstormy16_address_to_pointer(), xstormy16_frame_align(), xstormy16_frame_base, xstormy16_frame_unwind, xstormy16_pointer_to_address(), xstormy16_push_dummy_call(), xstormy16_register_name(), xstormy16_register_type(), xstormy16_return_value(), xstormy16_skip_prologue(), xstormy16_skip_trampoline_code(), and xstormy16_stack_frame_destroyed_p().
Referenced by _initialize_xstormy16_tdep().
|
static |
Definition at line 601 of file xstormy16-tdep.c.
References type::code(), extract_unsigned_integer(), gdbarch_byte_order(), type::length(), and type::target_type().
Referenced by xstormy16_gdbarch_init().
|
static |
Definition at line 219 of file xstormy16-tdep.c.
References E_1ST_ARG_REGNUM, E_LST_ARG_REGNUM, E_MAX_RETTYPE_SIZE, E_PTR_RET_REGNUM, E_SP_REGNUM, extract_unsigned_integer(), gdbarch_byte_order(), regcache_cooked_write_unsigned(), return_method_struct, size, store_unsigned_integer(), write_memory(), xstormy16_frame_align(), xstormy16_pc_size, and xstormy16_reg_size.
Referenced by xstormy16_gdbarch_init().
|
static |
Definition at line 103 of file xstormy16-tdep.c.
References E_NUM_REGS, gdb_static_assert(), and regnum.
Referenced by xstormy16_gdbarch_init().
Definition at line 116 of file xstormy16-tdep.c.
References builtin_type(), builtin_type::builtin_uint16, builtin_type::builtin_uint32, E_PC_REGNUM, and regnum.
Referenced by xstormy16_gdbarch_init().
|
static |
Definition at line 192 of file xstormy16-tdep.c.
References RETURN_VALUE_REGISTER_CONVENTION, RETURN_VALUE_STRUCT_CONVENTION, xstormy16_extract_return_value(), xstormy16_store_return_value(), and xstormy16_use_struct_convention().
Referenced by xstormy16_gdbarch_init().
|
static |
Definition at line 405 of file xstormy16-tdep.c.
References symtab_and_line::end, find_pc_line(), find_pc_partial_function(), general_symbol_info::language(), language_asm, lookup_symbol(), xstormy16_frame_cache::pc, block_symbol::symbol, xstormy16_frame_cache::uses_fp, VAR_DOMAIN, and xstormy16_analyze_prologue().
Referenced by xstormy16_gdbarch_init().
|
static |
Definition at line 583 of file xstormy16-tdep.c.
References get_frame_arch().
Referenced by xstormy16_gdbarch_init().
|
static |
Definition at line 453 of file xstormy16-tdep.c.
References find_pc_partial_function(), gdbarch_byte_order(), xstormy16_frame_cache::pc, read_memory_unsigned_integer(), and xstormy16_inst_size.
Referenced by xstormy16_gdbarch_init().
|
static |
Definition at line 170 of file xstormy16-tdep.c.
References E_1ST_ARG_REGNUM, type::length(), regcache::raw_write(), regnum, and xstormy16_reg_size.
Referenced by xstormy16_return_value().
|
static |
Definition at line 129 of file xstormy16-tdep.c.
References type::code().
Referenced by xstormy16_use_struct_convention().
|
static |
Definition at line 143 of file xstormy16-tdep.c.
References E_MAX_RETTYPE_SIZE_IN_REGS, type::length(), and xstormy16_type_is_scalar().
Referenced by xstormy16_return_value().
|
constexpr |
Definition at line 499 of file xstormy16-tdep.c.
|
static |
Definition at line 740 of file xstormy16-tdep.c.
Referenced by xstormy16_gdbarch_init().
|
static |
Definition at line 730 of file xstormy16-tdep.c.
Referenced by xstormy16_gdbarch_init().