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 "opcode/ft32.h"
#include "ft32-tdep.h"
#include "sim/sim-ft32.h"
#include <algorithm>
Go to the source code of this file.
Classes | |
struct | ft32_frame_cache |
Macros | |
#define | RAM_BIAS 0x800000 /* Bias added to RAM addresses. */ |
Enumerations | |
enum | { REG_UNAVAIL = (CORE_ADDR) (-1) } |
Functions | |
static CORE_ADDR | ft32_frame_align (struct gdbarch *gdbarch, CORE_ADDR sp) |
typedef | BP_MANIPULATION (ft32_break_insn) |
static const char * | ft32_register_name (struct gdbarch *gdbarch, int reg_nr) |
static struct type * | ft32_register_type (struct gdbarch *gdbarch, int reg_nr) |
static void | ft32_store_return_value (struct type *type, struct regcache *regcache, const gdb_byte *valbuf) |
static ULONGEST | ft32_fetch_instruction (CORE_ADDR a, int *isize, enum bfd_endian byte_order) |
static CORE_ADDR | ft32_analyze_prologue (CORE_ADDR start_addr, CORE_ADDR end_addr, struct ft32_frame_cache *cache, struct gdbarch *gdbarch) |
static CORE_ADDR | ft32_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc) |
static CORE_ADDR | ft32_pointer_to_address (struct gdbarch *gdbarch, struct type *type, const gdb_byte *buf) |
static type_instance_flags | ft32_address_class_type_flags (int byte_size, int dwarf2_addr_class) |
static const char * | ft32_address_class_type_flags_to_name (struct gdbarch *gdbarch, type_instance_flags type_flags) |
static bool | ft32_address_class_name_to_type_flags (struct gdbarch *gdbarch, const char *name, type_instance_flags *type_flags_ptr) |
static void | ft32_extract_return_value (struct type *type, struct regcache *regcache, gdb_byte *dst) |
static enum return_value_convention | ft32_return_value (struct gdbarch *gdbarch, struct value *function, struct type *valtype, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf) |
static struct ft32_frame_cache * | ft32_alloc_frame_cache (void) |
static struct ft32_frame_cache * | ft32_frame_cache (frame_info_ptr this_frame, void **this_cache) |
static void | ft32_frame_this_id (frame_info_ptr this_frame, void **this_prologue_cache, struct frame_id *this_id) |
static struct value * | ft32_frame_prev_register (frame_info_ptr this_frame, void **this_prologue_cache, int regnum) |
static CORE_ADDR | ft32_frame_base_address (frame_info_ptr this_frame, void **this_cache) |
static struct gdbarch * | ft32_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) |
void | _initialize_ft32_tdep () |
Variables | |
constexpr gdb_byte | ft32_break_insn [] = { 0x02, 0x00, 0x34, 0x00 } |
static const struct frame_unwind | ft32_frame_unwind |
static const struct frame_base | ft32_frame_base |
#define RAM_BIAS 0x800000 /* Bias added to RAM addresses. */ |
Definition at line 46 of file ft32-tdep.c.
Referenced by ft32_frame_prev_register(), and ft32_pointer_to_address().
anonymous enum |
Enumerator | |
---|---|
REG_UNAVAIL |
Definition at line 49 of file ft32-tdep.c.
void _initialize_ft32_tdep | ( | ) |
Definition at line 624 of file ft32-tdep.c.
References ft32_gdbarch_init(), and gdbarch_register().
typedef BP_MANIPULATION | ( | ft32_break_insn | ) |
Definition at line 80 of file ft32-tdep.c.
|
static |
Definition at line 374 of file ft32-tdep.c.
References name, and TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1.
Referenced by ft32_gdbarch_init().
|
static |
Definition at line 345 of file ft32-tdep.c.
References TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1.
Referenced by ft32_gdbarch_init().
|
static |
Definition at line 360 of file ft32-tdep.c.
References TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1.
Referenced by ft32_gdbarch_init().
|
static |
Definition at line 436 of file ft32-tdep.c.
References FRAME_OBSTACK_ZALLOC, REG_UNAVAIL, and ft32_frame_cache::saved_regs.
Referenced by ft32_frame_cache().
|
static |
Definition at line 168 of file ft32-tdep.c.
References ft32_frame_cache::established, ft32_frame_cache::framesize, ft32_fetch_instruction(), gdbarch_byte_order(), lookup_minimal_symbol(), bound_minimal_symbol::minsym, REG_UNAVAIL, regnum, ft32_frame_cache::saved_regs, and bound_minimal_symbol::value_address().
Referenced by ft32_frame_cache(), and ft32_skip_prologue().
|
static |
Definition at line 391 of file ft32-tdep.c.
References reg_buffer::arch(), gdbarch_byte_order(), type::length(), regcache_cooked_read_unsigned(), and store_unsigned_integer().
Referenced by ft32_return_value().
|
static |
Definition at line 146 of file ft32-tdep.c.
References read_code_unsigned_integer().
Referenced by ft32_analyze_prologue().
|
static |
Definition at line 70 of file ft32-tdep.c.
Referenced by ft32_gdbarch_init().
|
static |
Definition at line 540 of file ft32-tdep.c.
References ft32_frame_cache::base, and ft32_frame_cache().
|
static |
Definition at line 452 of file ft32-tdep.c.
References ft32_frame_cache::base, ft32_frame_cache::established, ft32_alloc_frame_cache(), ft32_analyze_prologue(), get_frame_arch(), get_frame_func(), get_frame_pc(), get_frame_register_unsigned(), ft32_frame_cache::pc, REG_UNAVAIL, ft32_frame_cache::saved_regs, and ft32_frame_cache::saved_sp.
Referenced by ft32_frame_base_address(), ft32_frame_prev_register(), and ft32_frame_this_id().
|
static |
Definition at line 508 of file ft32-tdep.c.
References frame_unwind_got_constant(), frame_unwind_got_memory(), frame_unwind_got_register(), ft32_frame_cache(), RAM_BIAS, REG_UNAVAIL, regnum, ft32_frame_cache::saved_regs, and ft32_frame_cache::saved_sp.
|
static |
Definition at line 492 of file ft32-tdep.c.
References ft32_frame_cache::base, frame_id_build(), ft32_frame_cache(), ft32_frame_cache::pc, and ft32_frame_cache::saved_sp.
|
static |
Definition at line 559 of file ft32-tdep.c.
References arches, core_addr_lessthan(), frame_base_set_default(), frame_unwind_append_unwinder(), ft32_address_class_name_to_type_flags(), ft32_address_class_type_flags(), ft32_address_class_type_flags_to_name(), ft32_frame_align(), ft32_frame_base, ft32_frame_unwind, ft32_pointer_to_address(), ft32_register_name(), ft32_register_type(), ft32_return_value(), ft32_skip_prologue(), gdbarch_alloc(), gdbarch_init_osabi(), gdbarch_list_lookup_by_info(), init_pointer_type(), type::instance_flags(), make_function_type(), type_allocator::new_type(), ft32_gdbarch_tdep::pc_type, set_gdbarch_address_class_name_to_type_flags(), set_gdbarch_address_class_type_flags(), set_gdbarch_address_class_type_flags_to_name(), 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_pointer_to_address(), set_gdbarch_register_name(), set_gdbarch_register_type(), set_gdbarch_return_value(), set_gdbarch_skip_prologue(), set_gdbarch_sp_regnum(), set_gdbarch_sw_breakpoint_from_kind(), type::set_instance_flags(), simple_overlay_update(), and TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1.
Referenced by _initialize_ft32_tdep().
|
static |
Definition at line 326 of file ft32-tdep.c.
References extract_unsigned_integer(), gdbarch_byte_order(), type::length(), RAM_BIAS, and TYPE_ADDRESS_CLASS_1.
Referenced by ft32_gdbarch_init().
|
static |
Definition at line 97 of file ft32-tdep.c.
References gdb_static_assert().
Referenced by ft32_gdbarch_init().
Definition at line 106 of file ft32-tdep.c.
References builtin_type::builtin_data_ptr, builtin_type::builtin_int32, builtin_type(), and ft32_gdbarch_tdep::pc_type.
Referenced by ft32_gdbarch_init().
|
static |
Definition at line 417 of file ft32-tdep.c.
References ft32_extract_return_value(), ft32_store_return_value(), type::length(), RETURN_VALUE_REGISTER_CONVENTION, and RETURN_VALUE_STRUCT_CONVENTION.
Referenced by ft32_gdbarch_init().
|
static |
Definition at line 272 of file ft32-tdep.c.
References symtab_and_line::end, find_pc_line(), find_pc_partial_function(), ft32_analyze_prologue(), general_symbol_info::language(), language_asm, lookup_symbol(), ft32_frame_cache::pc, skip_prologue_using_sal(), block_symbol::symbol, and VAR_DOMAIN.
Referenced by ft32_gdbarch_init().
|
static |
Definition at line 123 of file ft32-tdep.c.
References reg_buffer::arch(), extract_unsigned_integer(), gdbarch_byte_order(), type::length(), and regcache_cooked_write_unsigned().
Referenced by ft32_return_value().
|
constexpr |
Definition at line 78 of file ft32-tdep.c.
|
static |
Definition at line 548 of file ft32-tdep.c.
Referenced by ft32_gdbarch_init().
|
static |
Definition at line 526 of file ft32-tdep.c.
Referenced by ft32_gdbarch_init().