GDB (xrefs)
|
#include "defs.h"
#include "frame.h"
#include "frame-unwind.h"
#include "frame-base.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "gdbcmd.h"
#include "gdbcore.h"
#include "value.h"
#include "inferior.h"
#include "symfile.h"
#include "objfiles.h"
#include "osabi.h"
#include "language.h"
#include "arch-utils.h"
#include "regcache.h"
#include "trad-frame.h"
#include "dis-asm.h"
#include "record.h"
#include "record-full.h"
#include "moxie-tdep.h"
#include <algorithm>
Go to the source code of this file.
Classes | |
struct | moxie_frame_cache |
struct | moxie_unwind_cache |
Macros | |
#define | INST2OFFSET(o) ((((signed short)((o & ((1<<10)-1))<<6))>>6)<<1) |
Enumerations | |
enum | { REG_UNAVAIL = (CORE_ADDR) -1 } |
Functions | |
static CORE_ADDR | moxie_frame_align (struct gdbarch *gdbarch, CORE_ADDR sp) |
typedef | BP_MANIPULATION (moxie_break_insn) |
static const char * | moxie_register_name (struct gdbarch *gdbarch, int reg_nr) |
static struct type * | moxie_register_type (struct gdbarch *gdbarch, int reg_nr) |
static void | moxie_store_return_value (struct type *type, struct regcache *regcache, const gdb_byte *valbuf) |
static CORE_ADDR | moxie_analyze_prologue (CORE_ADDR start_addr, CORE_ADDR end_addr, struct moxie_frame_cache *cache, struct gdbarch *gdbarch) |
static CORE_ADDR | moxie_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc) |
static ULONGEST | moxie_process_readu (CORE_ADDR addr, gdb_byte *buf, int length, enum bfd_endian byte_order) |
static std::vector< CORE_ADDR > | moxie_software_single_step (struct regcache *regcache) |
static void | moxie_extract_return_value (struct type *type, struct regcache *regcache, gdb_byte *dst) |
static enum return_value_convention | moxie_return_value (struct gdbarch *gdbarch, struct value *function, struct type *valtype, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf) |
static struct moxie_frame_cache * | moxie_alloc_frame_cache (void) |
static struct moxie_frame_cache * | moxie_frame_cache (frame_info_ptr this_frame, void **this_cache) |
static void | moxie_frame_this_id (frame_info_ptr this_frame, void **this_prologue_cache, struct frame_id *this_id) |
static struct value * | moxie_frame_prev_register (frame_info_ptr this_frame, void **this_prologue_cache, int regnum) |
static CORE_ADDR | moxie_frame_base_address (frame_info_ptr this_frame, void **this_cache) |
static int | moxie_process_record (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr) |
static struct gdbarch * | moxie_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) |
void | _initialize_moxie_tdep () |
Variables | |
constexpr gdb_byte | moxie_break_insn [] = { 0x35, 0x00 } |
static const struct frame_unwind | moxie_frame_unwind |
static const struct frame_base | moxie_frame_base |
#define INST2OFFSET | ( | o | ) | ((((signed short)((o & ((1<<10)-1))<<6))>>6)<<1) |
Definition at line 292 of file moxie-tdep.c.
Referenced by moxie_software_single_step().
anonymous enum |
Enumerator | |
---|---|
REG_UNAVAIL |
Definition at line 45 of file moxie-tdep.c.
void _initialize_moxie_tdep | ( | ) |
Definition at line 1104 of file moxie-tdep.c.
References gdbarch_register(), and moxie_gdbarch_init().
typedef BP_MANIPULATION | ( | moxie_break_insn | ) |
Definition at line 69 of file moxie-tdep.c.
|
static |
Definition at line 496 of file moxie-tdep.c.
References moxie_frame_cache::base, FRAME_OBSTACK_ZALLOC, moxie_frame_cache::framesize, MOXIE_NUM_REGS, moxie_frame_cache::pc, REG_UNAVAIL, moxie_frame_cache::saved_regs, and moxie_frame_cache::saved_sp.
Referenced by moxie_frame_cache().
|
static |
Definition at line 130 of file moxie-tdep.c.
References moxie_frame_cache::framesize, gdbarch_byte_order(), MOXIE_FP_REGNUM, MOXIE_PC_REGNUM, read_memory_integer(), read_memory_unsigned_integer(), regnum, and moxie_frame_cache::saved_regs.
Referenced by moxie_frame_cache(), and moxie_skip_prologue().
|
static |
Definition at line 452 of file moxie-tdep.c.
References reg_buffer::arch(), gdbarch_byte_order(), type::length(), regcache_cooked_read_unsigned(), RET1_REGNUM, and store_unsigned_integer().
Referenced by moxie_return_value().
|
static |
Definition at line 60 of file moxie-tdep.c.
Referenced by moxie_gdbarch_init().
|
static |
Definition at line 600 of file moxie-tdep.c.
References moxie_frame_cache::base, and moxie_frame_cache().
|
static |
Definition at line 516 of file moxie-tdep.c.
References moxie_frame_cache::base, moxie_frame_cache::framesize, get_frame_arch(), get_frame_func(), get_frame_pc(), get_frame_register_unsigned(), moxie_alloc_frame_cache(), moxie_analyze_prologue(), MOXIE_FP_REGNUM, MOXIE_NUM_REGS, moxie_frame_cache::pc, REG_UNAVAIL, moxie_frame_cache::saved_regs, and moxie_frame_cache::saved_sp.
Referenced by moxie_frame_base_address(), moxie_frame_prev_register(), and moxie_frame_this_id().
|
static |
Definition at line 569 of file moxie-tdep.c.
References frame_unwind_got_constant(), frame_unwind_got_memory(), frame_unwind_got_register(), moxie_frame_cache(), MOXIE_SP_REGNUM, REG_UNAVAIL, regnum, moxie_frame_cache::saved_regs, and moxie_frame_cache::saved_sp.
|
static |
Definition at line 553 of file moxie-tdep.c.
References moxie_frame_cache::base, frame_id_build(), moxie_frame_cache(), moxie_frame_cache::pc, and moxie_frame_cache::saved_sp.
|
static |
Definition at line 1050 of file moxie-tdep.c.
References arches, core_addr_lessthan(), frame_base_set_default(), frame_unwind_append_unwinder(), gdbarch_alloc(), gdbarch_init_osabi(), gdbarch_list_lookup_by_info(), gdbarch::info(), moxie_frame_align(), moxie_frame_base, moxie_frame_unwind, MOXIE_NUM_REGS, MOXIE_PC_REGNUM, moxie_process_record(), moxie_register_name(), moxie_register_type(), moxie_return_value(), moxie_skip_prologue(), moxie_software_single_step(), MOXIE_SP_REGNUM, set_gdbarch_breakpoint_kind_from_pc(), set_gdbarch_frame_align(), set_gdbarch_inner_than(), set_gdbarch_num_regs(), set_gdbarch_overlay_update(), set_gdbarch_pc_regnum(), set_gdbarch_process_record(), set_gdbarch_register_name(), set_gdbarch_register_type(), set_gdbarch_return_value(), set_gdbarch_skip_prologue(), set_gdbarch_software_single_step(), set_gdbarch_sp_regnum(), set_gdbarch_sw_breakpoint_from_kind(), set_gdbarch_wchar_bit(), set_gdbarch_wchar_signed(), and simple_overlay_update().
Referenced by _initialize_moxie_tdep().
|
static |
Definition at line 273 of file moxie-tdep.c.
References extract_unsigned_integer(), gdb_printf(), gdb_stderr, paddress(), record_debug, target_gdbarch(), and target_read_memory().
Referenced by moxie_process_record(), and moxie_software_single_step().
|
static |
Definition at line 620 of file moxie-tdep.c.
References extract_unsigned_integer(), gdb_printf(), gdb_stdlog, gdbarch_byte_order(), MOXIE_CC_REGNUM, MOXIE_FP_REGNUM, MOXIE_PC_REGNUM, moxie_process_readu(), MOXIE_SP_REGNUM, paddress(), readable_regcache::raw_read(), record_debug, record_full_arch_list_add_end(), record_full_arch_list_add_mem(), record_full_arch_list_add_reg(), RET1_REGNUM, and target_gdbarch().
Referenced by moxie_gdbarch_init().
|
static |
Definition at line 82 of file moxie-tdep.c.
References gdb_static_assert(), and MOXIE_NUM_REGS.
Referenced by moxie_gdbarch_init().
Definition at line 91 of file moxie-tdep.c.
References builtin_type::builtin_data_ptr, builtin_type::builtin_func_ptr, builtin_type::builtin_int32, builtin_type(), MOXIE_FP_REGNUM, MOXIE_PC_REGNUM, and MOXIE_SP_REGNUM.
Referenced by moxie_gdbarch_init().
|
static |
Definition at line 477 of file moxie-tdep.c.
References type::length(), moxie_extract_return_value(), moxie_store_return_value(), RETURN_VALUE_REGISTER_CONVENTION, and RETURN_VALUE_STRUCT_CONVENTION.
Referenced by moxie_gdbarch_init().
|
static |
Definition at line 201 of file moxie-tdep.c.
References symtab_and_line::end, find_pc_line(), find_pc_partial_function(), general_symbol_info::language(), language_asm, lookup_symbol(), moxie_analyze_prologue(), moxie_frame_cache::pc, skip_prologue_using_sal(), block_symbol::symbol, and VAR_DOMAIN.
Referenced by moxie_gdbarch_init().
|
static |
Definition at line 297 of file moxie-tdep.c.
References reg_buffer::arch(), gdbarch_byte_order(), INST2OFFSET, MOXIE_FP_REGNUM, moxie_process_readu(), readable_regcache::raw_read(), regcache_cooked_read_unsigned(), and regcache_read_pc().
Referenced by moxie_gdbarch_init().
|
static |
Definition at line 105 of file moxie-tdep.c.
References reg_buffer::arch(), extract_unsigned_integer(), gdbarch_byte_order(), type::length(), regcache_cooked_write_unsigned(), and RET1_REGNUM.
Referenced by moxie_return_value().
|
constexpr |
Definition at line 67 of file moxie-tdep.c.
|
static |
Definition at line 608 of file moxie-tdep.c.
Referenced by moxie_gdbarch_init().
|
static |
Definition at line 587 of file moxie-tdep.c.
Referenced by moxie_gdbarch_init().