GDB (xrefs)
|
#include "defs.h"
#include "arch-utils.h"
#include "prologue-value.h"
#include "target.h"
#include "regcache.h"
#include "opcode/rx.h"
#include "dis-asm.h"
#include "gdbtypes.h"
#include "frame.h"
#include "frame-unwind.h"
#include "frame-base.h"
#include "value.h"
#include "gdbcore.h"
#include "dwarf2-frame.h"
#include "elf/rx.h"
#include "elf-bfd.h"
Go to the source code of this file.
Classes | |
struct | gdbarch_tdep |
struct | rx_prologue |
struct | rx_get_opcode_byte_handle |
Enumerations | |
enum | { RX_SP_REGNUM = 0, RX_R1_REGNUM = 1, RX_R4_REGNUM = 4, RX_FP_REGNUM = 6, RX_R15_REGNUM = 15, RX_USP_REGNUM = 16, RX_PSW_REGNUM = 18, RX_PC_REGNUM = 19, RX_BPSW_REGNUM = 21, RX_BPC_REGNUM = 22, RX_FPSW_REGNUM = 24, RX_ACC_REGNUM = 25, RX_NUM_REGS = 26 } |
enum | rx_frame_type { RX_FRAME_TYPE_NORMAL, RX_FRAME_TYPE_EXCEPTION, RX_FRAME_TYPE_FAST_INTERRUPT } |
Functions | |
static const char * | rx_register_name (struct gdbarch *gdbarch, int regnr) |
static struct type * | rx_register_type (struct gdbarch *gdbarch, int reg_nr) |
static void | check_for_saved (void *result_untyped, pv_t addr, CORE_ADDR size, pv_t value) |
static int | rx_get_opcode_byte (void *handle) |
static void | rx_analyze_prologue (CORE_ADDR start_pc, CORE_ADDR limit_pc, enum rx_frame_type frame_type, struct rx_prologue *result) |
static CORE_ADDR | rx_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc) |
static struct rx_prologue * | rx_analyze_frame_prologue (struct frame_info *this_frame, enum rx_frame_type frame_type, void **this_prologue_cache) |
static enum rx_frame_type | rx_frame_type (struct frame_info *this_frame, void **this_cache) |
static CORE_ADDR | rx_frame_base (struct frame_info *this_frame, void **this_cache) |
static void | rx_frame_this_id (struct frame_info *this_frame, void **this_cache, struct frame_id *this_id) |
static struct value * | rx_frame_prev_register (struct frame_info *this_frame, void **this_cache, int regnum) |
static int | normal_frame_p (enum rx_frame_type frame_type) |
static int | exception_frame_p (enum rx_frame_type frame_type) |
static int | rx_frame_sniffer_common (const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache, int(*sniff_p)(enum rx_frame_type)) |
static int | rx_frame_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache) |
static int | rx_exception_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache) |
static CORE_ADDR | rx_unwind_pc (struct gdbarch *gdbarch, struct frame_info *this_frame) |
static CORE_ADDR | rx_unwind_sp (struct gdbarch *gdbarch, struct frame_info *this_frame) |
static struct frame_id | rx_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame) |
static CORE_ADDR | rx_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr) |
static enum return_value_convention | rx_return_value (struct gdbarch *gdbarch, struct value *function, struct type *valtype, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf) |
static const gdb_byte * | rx_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr, int *lenptr) |
static int | rx_dwarf_reg_to_regnum (struct gdbarch *gdbarch, int reg) |
static struct gdbarch * | rx_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) |
void | _initialize_rx_tdep (void) |
Variables | |
static const struct frame_unwind | rx_frame_unwind |
static const struct frame_unwind | rx_exception_unwind |
initialize_file_ftype | _initialize_rx_tdep |
anonymous enum |
enum rx_frame_type |
void _initialize_rx_tdep | ( | void | ) |
Definition at line 1158 of file rx-tdep.c.
References register_gdbarch_init(), and rx_gdbarch_init().
Definition at line 178 of file rx-tdep.c.
References prologue_value::k, prologue_value::kind, pv_is_register(), pvk_register, prologue_value::reg, rx_prologue::reg_offset, register_size(), RX_SP_REGNUM, and target_gdbarch().
Referenced by rx_analyze_prologue().
|
static |
Definition at line 613 of file rx-tdep.c.
References RX_FRAME_TYPE_EXCEPTION, and RX_FRAME_TYPE_FAST_INTERRUPT.
Referenced by rx_exception_sniffer().
|
static |
Definition at line 604 of file rx-tdep.c.
References RX_FRAME_TYPE_NORMAL.
Referenced by rx_frame_sniffer().
|
static |
Definition at line 429 of file rx-tdep.c.
References FRAME_OBSTACK_ZALLOC, get_frame_func(), get_frame_pc(), and rx_analyze_prologue().
Referenced by rx_frame_base(), rx_frame_prev_register(), and rx_frame_sniffer_common().
|
static |
Definition at line 221 of file rx-tdep.c.
References check_for_saved(), do_cleanups(), rx_prologue::frame_ptr_offset, rx_prologue::frame_size, rx_prologue::frame_type, gdbarch_addr_bit(), rx_prologue::has_frame_ptr, prologue_value::k, make_cleanup_free_pv_area(), make_pv_area(), rx_get_opcode_byte_handle::pc, rx_prologue::prologue_end, pv_add_constant(), pv_area_scan(), pv_area_store(), pv_is_register(), pv_register(), prologue_value::reg, rx_prologue::reg_offset, RX_BPC_REGNUM, RX_BPSW_REGNUM, RX_FP_REGNUM, RX_FRAME_TYPE_EXCEPTION, RX_FRAME_TYPE_FAST_INTERRUPT, rx_get_opcode_byte(), RX_NUM_REGS, RX_PC_REGNUM, RX_PSW_REGNUM, RX_R1_REGNUM, RX_R4_REGNUM, RX_SP_REGNUM, and target_gdbarch().
Referenced by rx_analyze_frame_prologue(), and rx_skip_prologue().
|
static |
Definition at line 994 of file rx-tdep.c.
Referenced by rx_gdbarch_init().
|
static |
Definition at line 721 of file rx-tdep.c.
References frame_id_build(), get_frame_pc(), get_frame_register_unsigned(), and RX_SP_REGNUM.
Referenced by rx_gdbarch_init().
Definition at line 1004 of file rx-tdep.c.
References _, internal_error(), RX_PC_REGNUM, and RX_PSW_REGNUM.
Referenced by rx_gdbarch_init().
|
static |
Definition at line 666 of file rx-tdep.c.
References exception_frame_p(), and rx_frame_sniffer_common().
|
static |
Definition at line 512 of file rx-tdep.c.
References rx_prologue::frame_ptr_offset, rx_prologue::frame_size, get_frame_register_unsigned(), rx_prologue::has_frame_ptr, rx_analyze_frame_prologue(), RX_FP_REGNUM, and RX_SP_REGNUM.
Referenced by rx_frame_prev_register(), and rx_frame_this_id().
|
static |
Definition at line 549 of file rx-tdep.c.
References extract_unsigned_integer(), frame_unwind_got_constant(), frame_unwind_got_memory(), frame_unwind_got_register(), gdbarch_byte_order(), get_frame_arch(), rx_prologue::reg_offset, rx_analyze_frame_prologue(), RX_BPC_REGNUM, RX_BPSW_REGNUM, rx_frame_base(), RX_FRAME_TYPE_EXCEPTION, RX_FRAME_TYPE_FAST_INTERRUPT, RX_PC_REGNUM, RX_PSW_REGNUM, RX_SP_REGNUM, RX_USP_REGNUM, and value_contents_all().
|
static |
Definition at line 655 of file rx-tdep.c.
References normal_frame_p(), and rx_frame_sniffer_common().
|
static |
Definition at line 622 of file rx-tdep.c.
References rx_prologue::frame_type, gdb_assert, and rx_analyze_frame_prologue().
Referenced by rx_exception_sniffer(), and rx_frame_sniffer().
|
static |
Definition at line 539 of file rx-tdep.c.
References frame_id_build(), get_frame_func(), and rx_frame_base().
|
static |
Definition at line 458 of file rx-tdep.c.
References find_pc_partial_function(), rx_prologue::frame_type, gdb_assert, get_frame_pc(), name, rx_get_opcode_byte_handle::pc, RX_FRAME_TYPE_EXCEPTION, RX_FRAME_TYPE_FAST_INTERRUPT, RX_FRAME_TYPE_NORMAL, and rx_get_opcode_byte().
|
static |
Definition at line 1020 of file rx-tdep.c.
References gdbarch_info::abfd, append_flags_type_flag(), arch_flags_type(), core_addr_lessthan(), dwarf2_append_unwinders(), gdbarch_tdep::elf_flags, floatformats_ieee_double, floatformats_ieee_single, frame_unwind_append_unwinder(), gdbarch_list::gdbarch, gdbarch_alloc(), gdbarch_list_lookup_by_info(), gdbarch_list::next, rx_breakpoint_from_pc(), rx_dummy_id(), rx_dwarf_reg_to_regnum(), gdbarch_tdep::rx_fpsw_type, RX_NUM_REGS, RX_PC_REGNUM, gdbarch_tdep::rx_psw_type, rx_push_dummy_call(), rx_register_name(), rx_register_type(), rx_return_value(), rx_skip_prologue(), RX_SP_REGNUM, rx_unwind_pc(), rx_unwind_sp(), set_gdbarch_breakpoint_from_pc(), set_gdbarch_char_signed(), set_gdbarch_decr_pc_after_break(), set_gdbarch_double_bit(), set_gdbarch_double_format(), set_gdbarch_dummy_id(), set_gdbarch_dwarf2_reg_to_regnum(), set_gdbarch_float_bit(), set_gdbarch_float_format(), set_gdbarch_inner_than(), set_gdbarch_int_bit(), set_gdbarch_long_bit(), set_gdbarch_long_double_bit(), set_gdbarch_long_double_format(), set_gdbarch_long_long_bit(), set_gdbarch_num_pseudo_regs(), set_gdbarch_num_regs(), set_gdbarch_pc_regnum(), set_gdbarch_print_insn(), 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_unwind_pc(), set_gdbarch_unwind_sp(), set_gdbarch_vbit_in_delta(), and xmalloc().
Referenced by _initialize_rx_tdep().
|
static |
Definition at line 201 of file rx-tdep.c.
References rx_get_opcode_byte_handle::pc, status, and target_read_memory().
Referenced by rx_analyze_prologue(), and rx_frame_type().
|
static |
Definition at line 730 of file rx-tdep.c.
References align_down(), align_up(), check_typedef(), extract_unsigned_integer(), gdb_assert, gdbarch_byte_order(), len, min, regcache_cooked_write_unsigned(), RX_R15_REGNUM, RX_R1_REGNUM, RX_R4_REGNUM, RX_SP_REGNUM, TYPE_CODE, TYPE_CODE_FUNC, TYPE_CODE_METHOD, TYPE_CODE_PTR, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_FIELD_TYPE, TYPE_LENGTH, TYPE_NFIELDS, TYPE_PROTOTYPED, TYPE_TARGET_TYPE, TYPE_VARARGS, value_contents_all(), value_type(), write_memory(), and write_memory_unsigned_integer().
Referenced by rx_gdbarch_init().
Definition at line 118 of file rx-tdep.c.
Referenced by rx_gdbarch_init().
Definition at line 154 of file rx-tdep.c.
References builtin_type::builtin_func_ptr, builtin_type(), builtin_type::builtin_unsigned_long, builtin_type::builtin_unsigned_long_long, gdbarch_tdep(), RX_ACC_REGNUM, RX_BPSW_REGNUM, RX_FPSW_REGNUM, gdbarch_tdep::rx_fpsw_type, RX_PC_REGNUM, RX_PSW_REGNUM, and gdbarch_tdep::rx_psw_type.
Referenced by rx_gdbarch_init().
|
static |
Definition at line 938 of file rx-tdep.c.
References extract_unsigned_integer(), gdbarch_byte_order(), len, min, offset, regcache_cooked_read_unsigned(), regcache_cooked_write_unsigned(), RETURN_VALUE_REGISTER_CONVENTION, RETURN_VALUE_STRUCT_CONVENTION, RX_R1_REGNUM, store_unsigned_integer(), TYPE_CODE, TYPE_CODE_STRUCT, TYPE_CODE_UNION, and TYPE_LENGTH.
Referenced by rx_gdbarch_init().
Definition at line 407 of file rx-tdep.c.
References find_pc_partial_function(), name, rx_prologue::prologue_end, rx_analyze_prologue(), and RX_FRAME_TYPE_NORMAL.
Referenced by rx_gdbarch_init().
|
static |
Definition at line 701 of file rx-tdep.c.
References frame_unwind_register_unsigned(), and RX_PC_REGNUM.
Referenced by rx_gdbarch_init().
|
static |
Definition at line 711 of file rx-tdep.c.
References frame_unwind_register_unsigned(), and RX_SP_REGNUM.
Referenced by rx_gdbarch_init().
initialize_file_ftype _initialize_rx_tdep |
|
static |
|
static |