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 "target-float.h"
#include "osabi.h"
#include "reggroups.h"
#include "regset.h"
#include "objfiles.h"
#include "sh-tdep.h"
#include "elf-bfd.h"
#include "solib-svr4.h"
#include "elf/sh.h"
#include "dwarf2.h"
#include "sim/sim-sh.h"
#include <algorithm>
Go to the source code of this file.
Classes | |
struct | sh_frame_cache |
Macros | |
#define | SH_NUM_REGS 67 |
#define | GET_SOURCE_REG(x) (((x) >> 4) & 0xf) |
#define | GET_TARGET_REG(x) (((x) >> 8) & 0xf) |
#define | IS_JSR(x) (((x) & 0xf0ff) == 0x400b) |
#define | IS_STS(x) ((x) == 0x4f22) |
#define | IS_MACL_STS(x) ((x) == 0x4f12) |
#define | IS_PUSH(x) (((x) & 0xff0f) == 0x2f06) |
#define | IS_MOV_SP_FP(x) ((x) == 0x6ef3) |
#define | IS_ADD_IMM_SP(x) (((x) & 0xff00) == 0x7f00) |
#define | IS_MOV_R3(x) (((x) & 0xff00) == 0x1a00) |
#define | IS_SHLL_R3(x) ((x) == 0x4300) |
#define | IS_ADD_R3SP(x) ((x) == 0x3f3c) |
#define | IS_FPUSH(x) (((x) & 0xff0f) == 0xff0b) |
#define | IS_MOV_ARG_TO_REG(x) |
#define | IS_MOV_ARG_TO_IND_R14(x) |
#define | IS_MOV_ARG_TO_IND_R14_WITH_DISP(x) |
#define | IS_MOVW_PCREL_TO_REG(x) (((x) & 0xf000) == 0x9000) |
#define | IS_MOVL_PCREL_TO_REG(x) (((x) & 0xf000) == 0xd000) |
#define | IS_MOVI20(x) (((x) & 0xf00f) == 0x0000) |
#define | IS_SUB_REG_FROM_SP(x) (((x) & 0xff0f) == 0x3f08) |
#define | FPSCR_SZ (1 << 20) |
#define | IS_RESTORE_FP(x) ((x) == 0x6ef6) |
#define | IS_RTS(x) ((x) == 0x000b) |
#define | IS_LDS(x) ((x) == 0x4f26) |
#define | IS_MACL_LDS(x) ((x) == 0x4f16) |
#define | IS_MOV_FP_SP(x) ((x) == 0x6fe3) |
#define | IS_ADD_REG_TO_FP(x) (((x) & 0xff0f) == 0x3e0c) |
#define | IS_ADD_IMM_FP(x) (((x) & 0xff00) == 0x7e00) |
Functions | |
static int | sh_is_renesas_calling_convention (struct type *func_type) |
static const char * | sh_sh_register_name (struct gdbarch *gdbarch, int reg_nr) |
static const char * | sh_sh3_register_name (struct gdbarch *gdbarch, int reg_nr) |
static const char * | sh_sh3e_register_name (struct gdbarch *gdbarch, int reg_nr) |
static const char * | sh_sh2e_register_name (struct gdbarch *gdbarch, int reg_nr) |
static const char * | sh_sh2a_register_name (struct gdbarch *gdbarch, int reg_nr) |
static const char * | sh_sh2a_nofpu_register_name (struct gdbarch *gdbarch, int reg_nr) |
static const char * | sh_sh_dsp_register_name (struct gdbarch *gdbarch, int reg_nr) |
static const char * | sh_sh3_dsp_register_name (struct gdbarch *gdbarch, int reg_nr) |
static const char * | sh_sh4_register_name (struct gdbarch *gdbarch, int reg_nr) |
static const char * | sh_sh4_nofpu_register_name (struct gdbarch *gdbarch, int reg_nr) |
static const char * | sh_sh4al_dsp_register_name (struct gdbarch *gdbarch, int reg_nr) |
static int | sh_breakpoint_kind_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr) |
static const gdb_byte * | sh_sw_breakpoint_from_kind (struct gdbarch *gdbarch, int kind, int *size) |
static CORE_ADDR | sh_analyze_prologue (struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR limit_pc, struct sh_frame_cache *cache, ULONGEST fpscr) |
static CORE_ADDR | sh_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc) |
static int | sh_use_struct_convention (int renesas_abi, struct type *type) |
static int | sh_use_struct_convention_nofpu (int renesas_abi, struct type *type) |
static CORE_ADDR | sh_frame_align (struct gdbarch *ignore, CORE_ADDR sp) |
static const gdb_byte * | sh_justify_value_in_reg (struct gdbarch *gdbarch, struct value *val, int len) |
static CORE_ADDR | sh_stack_allocsize (int nargs, struct value **args) |
static void | sh_init_flt_argreg (void) |
static int | sh_next_flt_argreg (struct gdbarch *gdbarch, int len, struct type *func_type) |
static int | sh_treat_as_flt_p (struct type *type) |
static CORE_ADDR | sh_push_dummy_call_fpu (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 | sh_push_dummy_call_nofpu (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 | sh_extract_return_value_nofpu (struct type *type, struct regcache *regcache, gdb_byte *valbuf) |
static void | sh_extract_return_value_fpu (struct type *type, struct regcache *regcache, gdb_byte *valbuf) |
static void | sh_store_return_value_nofpu (struct type *type, struct regcache *regcache, const gdb_byte *valbuf) |
static void | sh_store_return_value_fpu (struct type *type, struct regcache *regcache, const gdb_byte *valbuf) |
static enum return_value_convention | sh_return_value_nofpu (struct gdbarch *gdbarch, struct value *function, struct type *type, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf) |
static enum return_value_convention | sh_return_value_fpu (struct gdbarch *gdbarch, struct value *function, struct type *type, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf) |
static struct type * | sh_sh2a_register_type (struct gdbarch *gdbarch, int reg_nr) |
static struct type * | sh_sh3e_register_type (struct gdbarch *gdbarch, int reg_nr) |
static struct type * | sh_sh4_build_float_register_type (struct gdbarch *gdbarch, int high) |
static struct type * | sh_sh4_register_type (struct gdbarch *gdbarch, int reg_nr) |
static struct type * | sh_default_register_type (struct gdbarch *gdbarch, int reg_nr) |
static int | sh_register_reggroup_p (struct gdbarch *gdbarch, int regnum, const struct reggroup *reggroup) |
static struct type * | sh_littlebyte_bigword_type (struct gdbarch *gdbarch) |
static void | sh_register_convert_to_virtual (struct gdbarch *gdbarch, int regnum, struct type *type, gdb_byte *from, gdb_byte *to) |
static void | sh_register_convert_to_raw (struct gdbarch *gdbarch, struct type *type, int regnum, const gdb_byte *from, gdb_byte *to) |
static int | fv_reg_base_num (struct gdbarch *gdbarch, int fv_regnum) |
static int | dr_reg_base_num (struct gdbarch *gdbarch, int dr_regnum) |
static enum register_status | pseudo_register_read_portions (struct gdbarch *gdbarch, readable_regcache *regcache, int portions, int base_regnum, gdb_byte *buffer) |
static enum register_status | sh_pseudo_register_read (struct gdbarch *gdbarch, readable_regcache *regcache, int reg_nr, gdb_byte *buffer) |
static void | sh_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache, int reg_nr, const gdb_byte *buffer) |
static int | sh_dsp_register_sim_regno (struct gdbarch *gdbarch, int nr) |
static int | sh_sh2a_register_sim_regno (struct gdbarch *gdbarch, int nr) |
static void | sh_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum, struct dwarf2_frame_state_reg *reg, frame_info_ptr this_frame) |
static struct sh_frame_cache * | sh_alloc_frame_cache (void) |
static struct sh_frame_cache * | sh_frame_cache (frame_info_ptr this_frame, void **this_cache) |
static struct value * | sh_frame_prev_register (frame_info_ptr this_frame, void **this_cache, int regnum) |
static void | sh_frame_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) |
static CORE_ADDR | sh_frame_base_address (frame_info_ptr this_frame, void **this_cache) |
static struct sh_frame_cache * | sh_make_stub_cache (frame_info_ptr this_frame) |
static void | sh_stub_this_id (frame_info_ptr this_frame, void **this_cache, struct frame_id *this_id) |
static int | sh_stub_unwind_sniffer (const struct frame_unwind *self, frame_info_ptr this_frame, void **this_prologue_cache) |
static int | sh_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc) |
void | sh_corefile_supply_regset (const struct regset *regset, struct regcache *regcache, int regnum, const void *regs, size_t len) |
void | sh_corefile_collect_regset (const struct regset *regset, const struct regcache *regcache, int regnum, void *regs, size_t len) |
static void | sh_iterate_over_regset_sections (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache) |
static int | sh_return_in_first_hidden_param_p (struct gdbarch *gdbarch, struct type *type) |
static struct gdbarch * | sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) |
void | _initialize_sh_tdep () |
Variables | |
static struct cmd_list_element * | setshcmdlist = NULL |
static struct cmd_list_element * | showshcmdlist = NULL |
static const char | sh_cc_gcc [] = "gcc" |
static const char | sh_cc_renesas [] = "renesas" |
static const char *const | sh_cc_enum [] |
static const char * | sh_active_calling_convention = sh_cc_gcc |
static int | flt_argreg_array [FLOAT_ARGLAST_REGNUM - FLOAT_ARG0_REGNUM+1] |
static const struct frame_unwind | sh_frame_unwind |
static const struct frame_base | sh_frame_base |
static const struct frame_unwind | sh_stub_unwind |
const struct regset | sh_corefile_gregset |
static const struct regset | sh_corefile_fpregset |
#define FPSCR_SZ (1 << 20) |
Definition at line 490 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define GET_SOURCE_REG | ( | x | ) | (((x) >> 4) & 0xf) |
Definition at line 424 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define GET_TARGET_REG | ( | x | ) | (((x) >> 8) & 0xf) |
Definition at line 425 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_ADD_IMM_FP | ( | x | ) | (((x) & 0xff00) == 0x7e00) |
Definition at line 499 of file sh-tdep.c.
Referenced by sh_stack_frame_destroyed_p().
#define IS_ADD_IMM_SP | ( | x | ) | (((x) & 0xff00) == 0x7f00) |
Definition at line 448 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_ADD_R3SP | ( | x | ) | ((x) == 0x3f3c) |
Definition at line 455 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_ADD_REG_TO_FP | ( | x | ) | (((x) & 0xff0f) == 0x3e0c) |
Definition at line 498 of file sh-tdep.c.
Referenced by sh_stack_frame_destroyed_p().
#define IS_FPUSH | ( | x | ) | (((x) & 0xff0f) == 0xff0b) |
Definition at line 463 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_JSR | ( | x | ) | (((x) & 0xf0ff) == 0x400b) |
Definition at line 428 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_LDS | ( | x | ) | ((x) == 0x4f26) |
Definition at line 495 of file sh-tdep.c.
Referenced by sh_stack_frame_destroyed_p().
#define IS_MACL_LDS | ( | x | ) | ((x) == 0x4f16) |
Definition at line 496 of file sh-tdep.c.
Referenced by sh_stack_frame_destroyed_p().
#define IS_MACL_STS | ( | x | ) | ((x) == 0x4f12) |
Definition at line 436 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_MOV_ARG_TO_IND_R14 | ( | x | ) |
Definition at line 471 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_MOV_ARG_TO_IND_R14_WITH_DISP | ( | x | ) |
Definition at line 476 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_MOV_ARG_TO_REG | ( | x | ) |
Definition at line 466 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_MOV_FP_SP | ( | x | ) | ((x) == 0x6fe3) |
Definition at line 497 of file sh-tdep.c.
Referenced by sh_stack_frame_destroyed_p().
#define IS_MOV_R3 | ( | x | ) | (((x) & 0xff00) == 0x1a00) |
Definition at line 450 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_MOV_SP_FP | ( | x | ) | ((x) == 0x6ef3) |
Definition at line 444 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_MOVI20 | ( | x | ) | (((x) & 0xf00f) == 0x0000) |
Definition at line 486 of file sh-tdep.c.
Referenced by sh_analyze_prologue(), and sh_stack_frame_destroyed_p().
#define IS_MOVL_PCREL_TO_REG | ( | x | ) | (((x) & 0xf000) == 0xd000) |
Definition at line 484 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_MOVW_PCREL_TO_REG | ( | x | ) | (((x) & 0xf000) == 0x9000) |
Definition at line 482 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_PUSH | ( | x | ) | (((x) & 0xff0f) == 0x2f06) |
Definition at line 440 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_RESTORE_FP | ( | x | ) | ((x) == 0x6ef6) |
Definition at line 493 of file sh-tdep.c.
Referenced by sh_stack_frame_destroyed_p().
#define IS_RTS | ( | x | ) | ((x) == 0x000b) |
Definition at line 494 of file sh-tdep.c.
Referenced by sh_stack_frame_destroyed_p().
#define IS_SHLL_R3 | ( | x | ) | ((x) == 0x4300) |
Definition at line 451 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_STS | ( | x | ) | ((x) == 0x4f22) |
Definition at line 432 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_SUB_REG_FROM_SP | ( | x | ) | (((x) & 0xff0f) == 0x3f08) |
Definition at line 488 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define SH_NUM_REGS 67 |
Definition at line 69 of file sh-tdep.c.
Referenced by sh_alloc_frame_cache(), sh_frame_cache(), and sh_gdbarch_init().
void _initialize_sh_tdep | ( | ) |
Definition at line 2374 of file sh-tdep.c.
References add_setshow_enum_cmd(), add_setshow_prefix_cmd(), class_vars, gdbarch_register(), no_class, setlist, setshcmdlist, sh_active_calling_convention, sh_cc_enum, sh_gdbarch_init(), showlist, and showshcmdlist.
|
static |
Definition at line 1579 of file sh-tdep.c.
References DR0_REGNUM, fp_regnum, and gdbarch_fp0_regnum().
Referenced by sh_pseudo_register_read(), and sh_pseudo_register_write().
|
static |
Definition at line 1568 of file sh-tdep.c.
References fp_regnum, FV0_REGNUM, and gdbarch_fp0_regnum().
Referenced by sh_pseudo_register_read(), and sh_pseudo_register_write().
|
static |
Definition at line 1592 of file sh-tdep.c.
References readable_regcache::raw_read(), register_size(), and status.
Referenced by sh_pseudo_register_read().
|
static |
Definition at line 1801 of file sh-tdep.c.
References sh_frame_cache::base, FRAME_OBSTACK_ZALLOC, sh_frame_cache::pc, sh_frame_cache::saved_regs, sh_frame_cache::saved_sp, SH_NUM_REGS, sh_frame_cache::sp_offset, and sh_frame_cache::uses_fp.
Referenced by sh_frame_cache(), and sh_make_stub_cache().
|
static |
Definition at line 502 of file sh-tdep.c.
References FPSCR_SZ, gdbarch_byte_order(), GET_SOURCE_REG, GET_TARGET_REG, IS_ADD_IMM_SP, IS_ADD_R3SP, IS_FPUSH, IS_JSR, IS_MACL_STS, IS_MOV_ARG_TO_IND_R14, IS_MOV_ARG_TO_IND_R14_WITH_DISP, IS_MOV_ARG_TO_REG, IS_MOV_R3, IS_MOV_SP_FP, IS_MOVI20, IS_MOVL_PCREL_TO_REG, IS_MOVW_PCREL_TO_REG, IS_PUSH, IS_SHLL_R3, IS_STS, IS_SUB_REG_FROM_SP, MACL_REGNUM, PR_REGNUM, read_memory_integer(), read_memory_unsigned_integer(), sh_frame_cache::saved_regs, sh_frame_cache::sp_offset, and sh_frame_cache::uses_fp.
Referenced by sh_frame_cache(), and sh_skip_prologue().
|
static |
Definition at line 382 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
void sh_corefile_collect_regset | ( | const struct regset * | regset, |
const struct regcache * | regcache, | ||
int | regnum, | ||
void * | regs, | ||
size_t | len ) |
Definition at line 2132 of file sh-tdep.c.
References reg_buffer::arch(), sh_gdbarch_tdep::core_fpregmap, sh_gdbarch_tdep::core_gregmap, reg_buffer::raw_collect(), regmap, regnum, and sh_corefile_gregset.
Referenced by sh_nbsd_nat_target::store_registers().
void sh_corefile_supply_regset | ( | const struct regset * | regset, |
struct regcache * | regcache, | ||
int | regnum, | ||
const void * | regs, | ||
size_t | len ) |
Definition at line 2106 of file sh-tdep.c.
References reg_buffer::arch(), sh_gdbarch_tdep::core_fpregmap, sh_gdbarch_tdep::core_gregmap, reg_buffer::raw_supply(), regmap, regnum, and sh_corefile_gregset.
Referenced by sh_nbsd_nat_target::fetch_registers().
Definition at line 1442 of file sh-tdep.c.
References builtin_type::builtin_int, and builtin_type().
Referenced by sh_gdbarch_init().
|
static |
Definition at line 1702 of file sh-tdep.c.
References DSP_R0_BANK_REGNUM, DSP_R7_BANK_REGNUM, DSR_REGNUM, legacy_register_sim_regno(), MOD_REGNUM, RE_REGNUM, RS_REGNUM, and Y1_REGNUM.
Referenced by sh_gdbarch_init().
|
static |
Definition at line 1756 of file sh-tdep.c.
References DR0_REGNUM, DWARF2_FRAME_REG_CFA, DWARF2_FRAME_REG_RA, DWARF2_FRAME_REG_SAME_VALUE, DWARF2_FRAME_REG_UNDEFINED, FPSCR_REGNUM, FPUL_REGNUM, FR0_REGNUM, FV0_REGNUM, GBR_REGNUM, gdbarch_pc_regnum(), gdbarch_sp_regnum(), dwarf2_frame_state_reg::how, MACH_REGNUM, MACL_REGNUM, R0_BANK0_REGNUM, R0_REGNUM, regnum, SPC_REGNUM, SR_REGNUM, SSR_REGNUM, and VBR_REGNUM.
Referenced by sh_gdbarch_init().
|
static |
Definition at line 1295 of file sh-tdep.c.
References reg_buffer::arch(), gdbarch_byte_order(), gdbarch_fp0_regnum(), type::length(), readable_regcache::raw_read(), regnum, sh_extract_return_value_nofpu(), and sh_treat_as_flt_p().
Referenced by sh_return_value_fpu().
|
static |
Definition at line 1270 of file sh-tdep.c.
References reg_buffer::arch(), gdbarch_byte_order(), type::length(), R0_REGNUM, readable_regcache::raw_read(), regcache_cooked_read_unsigned(), regnum, and store_unsigned_integer().
Referenced by sh_extract_return_value_fpu(), and sh_return_value_nofpu().
|
static |
Definition at line 818 of file sh-tdep.c.
Referenced by sh_gdbarch_init(), sh_push_dummy_call_fpu(), and sh_push_dummy_call_nofpu().
|
static |
Definition at line 1943 of file sh-tdep.c.
References sh_frame_cache::base, and sh_frame_cache().
|
static |
Definition at line 1828 of file sh-tdep.c.
References all_reggroup, sh_frame_cache::base, FP_REGNUM, FPSCR_REGNUM, gdbarch_register_reggroup_p(), gdbarch_sp_regnum(), get_frame_arch(), get_frame_func(), get_frame_pc(), get_frame_register_unsigned(), sh_frame_cache::pc, sh_frame_cache::saved_regs, sh_frame_cache::saved_sp, sh_alloc_frame_cache(), sh_analyze_prologue(), SH_NUM_REGS, sh_frame_cache::sp_offset, and sh_frame_cache::uses_fp.
Referenced by sh_frame_base_address(), sh_frame_prev_register(), and sh_frame_this_id().
|
static |
Definition at line 1895 of file sh-tdep.c.
References frame_unwind_got_constant(), frame_unwind_got_memory(), frame_unwind_got_register(), gdbarch_pc_regnum(), gdbarch_sp_regnum(), get_frame_arch(), PR_REGNUM, regnum, sh_frame_cache::saved_regs, sh_frame_cache::saved_sp, and sh_frame_cache().
|
static |
Definition at line 1920 of file sh-tdep.c.
References sh_frame_cache::base, frame_id_build(), sh_frame_cache::pc, sh_frame_cache::saved_sp, and sh_frame_cache().
|
static |
Definition at line 2199 of file sh-tdep.c.
References arches, core_addr_lessthan(), dwarf2_append_unwinders(), dwarf2_frame_set_init_reg(), floatformats_ieee_single, frame_base_set_default(), frame_unwind_append_unwinder(), gdbarch_alloc(), gdbarch_init_osabi(), gdbarch_list_lookup_by_info(), gdbarch::info(), legacy_register_sim_regno(), set_gdbarch_believe_pcc_promotion(), set_gdbarch_breakpoint_kind_from_pc(), set_gdbarch_double_bit(), set_gdbarch_double_format(), set_gdbarch_float_bit(), set_gdbarch_fp0_regnum(), set_gdbarch_frame_align(), set_gdbarch_inner_than(), set_gdbarch_int_bit(), set_gdbarch_iterate_over_regset_sections(), 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_pseudo_register_read(), set_gdbarch_pseudo_register_write(), set_gdbarch_ptr_bit(), set_gdbarch_push_dummy_call(), set_gdbarch_register_name(), set_gdbarch_register_reggroup_p(), set_gdbarch_register_sim_regno(), set_gdbarch_register_type(), set_gdbarch_return_in_first_hidden_param_p(), set_gdbarch_return_value(), set_gdbarch_short_bit(), set_gdbarch_skip_prologue(), set_gdbarch_sp_regnum(), set_gdbarch_stack_frame_destroyed_p(), set_gdbarch_sw_breakpoint_from_kind(), set_gdbarch_wchar_bit(), set_gdbarch_wchar_signed(), sh_breakpoint_kind_from_pc(), sh_default_register_type(), sh_dsp_register_sim_regno(), sh_dwarf2_frame_init_reg(), sh_frame_align(), sh_frame_base, sh_frame_unwind, sh_iterate_over_regset_sections(), SH_NUM_REGS, sh_pseudo_register_read(), sh_pseudo_register_write(), sh_push_dummy_call_fpu(), sh_push_dummy_call_nofpu(), sh_register_reggroup_p(), sh_return_in_first_hidden_param_p(), sh_return_value_fpu(), sh_return_value_nofpu(), sh_sh2a_nofpu_register_name(), sh_sh2a_register_name(), sh_sh2a_register_sim_regno(), sh_sh2a_register_type(), sh_sh2e_register_name(), sh_sh3_dsp_register_name(), sh_sh3_register_name(), sh_sh3e_register_name(), sh_sh3e_register_type(), sh_sh4_nofpu_register_name(), sh_sh4_register_name(), sh_sh4_register_type(), sh_sh4al_dsp_register_name(), sh_sh_dsp_register_name(), sh_sh_register_name(), sh_skip_prologue(), sh_stack_frame_destroyed_p(), sh_stub_unwind, and sh_sw_breakpoint_from_kind().
Referenced by _initialize_sh_tdep().
|
static |
Definition at line 913 of file sh-tdep.c.
References flt_argreg_array.
Referenced by sh_push_dummy_call_fpu().
|
static |
Definition at line 87 of file sh-tdep.c.
References check_typedef(), sh_active_calling_convention, sh_cc_renesas, and TYPE_CALLING_CONVENTION.
Referenced by sh_next_flt_argreg(), sh_push_dummy_call_fpu(), sh_push_dummy_call_nofpu(), sh_return_value_fpu(), and sh_return_value_nofpu().
|
static |
Definition at line 2170 of file sh-tdep.c.
References sh_gdbarch_tdep::core_fpregmap, sh_gdbarch_tdep::core_gregmap, sh_corefile_fpregset, sh_corefile_gregset, sh_gdbarch_tdep::sizeof_fpregset, and sh_gdbarch_tdep::sizeof_gregset.
Referenced by sh_gdbarch_init().
|
static |
Definition at line 877 of file sh-tdep.c.
References value::contents(), and gdbarch_byte_order().
Referenced by sh_push_dummy_call_fpu(), and sh_push_dummy_call_nofpu().
Definition at line 1514 of file sh-tdep.c.
References floatformats_ieee_double_littlebyte_bigword, init_float_type(), and sh_gdbarch_tdep::sh_littlebyte_bigword_type.
Referenced by sh_register_convert_to_raw(), and sh_register_convert_to_virtual().
|
static |
Definition at line 1958 of file sh-tdep.c.
References gdbarch_sp_regnum(), get_frame_arch(), get_frame_register_unsigned(), sh_frame_cache::saved_sp, and sh_alloc_frame_cache().
Referenced by sh_stub_this_id().
Definition at line 928 of file sh-tdep.c.
References FLOAT_ARG0_REGNUM, FLOAT_ARGLAST_REGNUM, flt_argreg_array, gdbarch_byte_order(), and sh_is_renesas_calling_convention().
Referenced by sh_push_dummy_call_fpu().
|
static |
Definition at line 1614 of file sh-tdep.c.
References BANK_REGNUM, DR0_REGNUM, DR_LAST_REGNUM, dr_reg_base_num(), FV0_REGNUM, FV_LAST_REGNUM, fv_reg_base_num(), PSEUDO_BANK_REGNUM, pseudo_register_read_portions(), readable_regcache::raw_read(), register_type(), sh_register_convert_to_virtual(), and status.
Referenced by sh_gdbarch_init().
|
static |
Definition at line 1654 of file sh-tdep.c.
References BANK_REGNUM, DR0_REGNUM, DR_LAST_REGNUM, dr_reg_base_num(), FV0_REGNUM, FV_LAST_REGNUM, fv_reg_base_num(), reg_buffer::invalidate(), MACLB_REGNUM, PSEUDO_BANK_REGNUM, R0_BANK0_REGNUM, regcache::raw_write(), register_size(), register_type(), and sh_register_convert_to_raw().
Referenced by sh_gdbarch_init().
|
static |
Definition at line 1020 of file sh-tdep.c.
References ARG0_REGNUM, ARGLAST_REGNUM, type::code(), extract_unsigned_integer(), FLOAT_ARGLAST_REGNUM, gdbarch_byte_order(), gdbarch_sp_regnum(), type::length(), pass_on_stack(), PR_REGNUM, regcache_cooked_write_unsigned(), register_size(), return_method_struct, sh_frame_align(), sh_init_flt_argreg(), sh_is_renesas_calling_convention(), sh_justify_value_in_reg(), sh_next_flt_argreg(), sh_stack_allocsize(), sh_treat_as_flt_p(), STRUCT_RETURN_REGNUM, type, value::type(), write_memory(), and write_memory_unsigned_integer().
Referenced by sh_gdbarch_init().
|
static |
Definition at line 1162 of file sh-tdep.c.
References ARG0_REGNUM, ARGLAST_REGNUM, type::code(), extract_unsigned_integer(), gdbarch_byte_order(), gdbarch_sp_regnum(), type::length(), pass_on_stack(), PR_REGNUM, regcache_cooked_write_unsigned(), register_size(), return_method_struct, sh_frame_align(), sh_is_renesas_calling_convention(), sh_justify_value_in_reg(), sh_stack_allocsize(), STRUCT_RETURN_REGNUM, type, value::type(), write_memory(), and write_memory_unsigned_integer().
Referenced by sh_gdbarch_init().
|
static |
Definition at line 1549 of file sh-tdep.c.
References DR0_REGNUM, DR_LAST_REGNUM, gdbarch_byte_order(), register_size(), regnum, sh_littlebyte_bigword_type(), and target_float_convert().
Referenced by sh_pseudo_register_write().
|
static |
Definition at line 1530 of file sh-tdep.c.
References DR0_REGNUM, DR_LAST_REGNUM, gdbarch_byte_order(), register_size(), regnum, sh_littlebyte_bigword_type(), and target_float_convert().
Referenced by sh_pseudo_register_read().
|
static |
Definition at line 1452 of file sh-tdep.c.
References default_register_reggroup_p(), float_reggroup, FPSCR_REGNUM, FPUL_REGNUM, FV0_REGNUM, FV_LAST_REGNUM, gdbarch_register_name(), general_reggroup, regnum, SPC_REGNUM, SR_REGNUM, SSR_REGNUM, system_reggroup, VBR_REGNUM, and vector_reggroup.
Referenced by sh_gdbarch_init().
|
static |
Definition at line 2190 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
|
static |
Definition at line 1380 of file sh-tdep.c.
References RETURN_VALUE_REGISTER_CONVENTION, RETURN_VALUE_STRUCT_CONVENTION, sh_extract_return_value_fpu(), sh_is_renesas_calling_convention(), sh_store_return_value_fpu(), sh_use_struct_convention(), and value::type().
Referenced by sh_gdbarch_init().
|
static |
Definition at line 1363 of file sh-tdep.c.
References RETURN_VALUE_REGISTER_CONVENTION, RETURN_VALUE_STRUCT_CONVENTION, sh_extract_return_value_nofpu(), sh_is_renesas_calling_convention(), sh_store_return_value_nofpu(), sh_use_struct_convention_nofpu(), and value::type().
Referenced by sh_gdbarch_init().
|
static |
Definition at line 217 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
|
static |
Definition at line 179 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
|
static |
Definition at line 1720 of file sh-tdep.c.
References BANK_REGNUM, GBRB_REGNUM, IBCR_REGNUM, IBNR_REGNUM, IVNB_REGNUM, legacy_register_sim_regno(), MACHB_REGNUM, MACLB_REGNUM, PRB_REGNUM, and TBR_REGNUM.
Referenced by sh_gdbarch_init().
Definition at line 1397 of file sh-tdep.c.
References builtin_type::builtin_double, builtin_type::builtin_float, builtin_type::builtin_int, builtin_type(), DR0_REGNUM, DR_LAST_REGNUM, FP_LAST_REGNUM, FPUL_REGNUM, and gdbarch_fp0_regnum().
Referenced by sh_gdbarch_init().
|
static |
Definition at line 163 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
|
static |
Definition at line 272 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
|
static |
Definition at line 124 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
|
static |
Definition at line 144 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
Definition at line 1411 of file sh-tdep.c.
References builtin_type::builtin_float, builtin_type::builtin_int, builtin_type(), FP_LAST_REGNUM, FPUL_REGNUM, and gdbarch_fp0_regnum().
Referenced by sh_gdbarch_init().
Definition at line 1421 of file sh-tdep.c.
References lookup_array_range_type().
Referenced by sh_sh4_register_type().
|
static |
Definition at line 327 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
|
static |
Definition at line 291 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
Definition at line 1428 of file sh-tdep.c.
References builtin_type::builtin_double, builtin_type::builtin_float, builtin_type::builtin_int, builtin_type(), DR0_REGNUM, DR_LAST_REGNUM, FP_LAST_REGNUM, FPUL_REGNUM, FV0_REGNUM, FV_LAST_REGNUM, gdbarch_fp0_regnum(), and sh_sh4_build_float_register_type().
Referenced by sh_gdbarch_init().
|
static |
Definition at line 361 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
|
static |
Definition at line 254 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
|
static |
Definition at line 110 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
|
static |
Definition at line 686 of file sh-tdep.c.
References find_pc_partial_function(), sh_frame_cache::pc, sh_analyze_prologue(), skip_prologue_using_sal(), sh_frame_cache::sp_offset, and sh_frame_cache::uses_fp.
Referenced by sh_gdbarch_init().
|
static |
Definition at line 896 of file sh-tdep.c.
Referenced by sh_push_dummy_call_fpu(), and sh_push_dummy_call_nofpu().
|
static |
Definition at line 2016 of file sh-tdep.c.
References find_pc_partial_function(), gdbarch_bfd_arch_info(), gdbarch_byte_order(), IS_ADD_IMM_FP, IS_ADD_REG_TO_FP, IS_LDS, IS_MACL_LDS, IS_MOV_FP_SP, IS_MOVI20, IS_RESTORE_FP, IS_RTS, and read_memory_unsigned_integer().
Referenced by sh_gdbarch_init().
|
static |
Definition at line 1343 of file sh-tdep.c.
References reg_buffer::arch(), gdbarch_byte_order(), gdbarch_fp0_regnum(), type::length(), regcache::raw_write(), regnum, sh_store_return_value_nofpu(), and sh_treat_as_flt_p().
Referenced by sh_return_value_fpu().
|
static |
Definition at line 1321 of file sh-tdep.c.
References reg_buffer::arch(), extract_unsigned_integer(), gdbarch_byte_order(), type::length(), R0_REGNUM, regcache::raw_write(), regcache_cooked_write_unsigned(), and regnum.
Referenced by sh_return_value_nofpu(), and sh_store_return_value_fpu().
|
static |
Definition at line 1972 of file sh-tdep.c.
References frame_id_build(), get_frame_pc(), sh_frame_cache::saved_sp, and sh_make_stub_cache().
|
static |
Definition at line 1985 of file sh-tdep.c.
References get_frame_address_in_block(), and in_plt_section().
|
static |
Definition at line 390 of file sh-tdep.c.
References gdbarch_byte_order(), size, and target_shortname().
Referenced by sh_gdbarch_init().
|
static |
Definition at line 1000 of file sh-tdep.c.
References type::code(), type::field(), type::num_fields(), and field::type().
Referenced by sh_extract_return_value_fpu(), sh_push_dummy_call_fpu(), and sh_store_return_value_fpu().
|
static |
Definition at line 773 of file sh-tdep.c.
References type::code(), type::field(), type::length(), type::num_fields(), and field::type().
Referenced by sh_return_value_fpu(), and sh_use_struct_convention_nofpu().
|
static |
Definition at line 809 of file sh-tdep.c.
References type::length(), type::num_fields(), and sh_use_struct_convention().
Referenced by sh_return_value_nofpu().
|
static |
Definition at line 909 of file sh-tdep.c.
Referenced by sh_init_flt_argreg(), and sh_next_flt_argreg().
|
static |
Definition at line 56 of file sh-tdep.c.
Referenced by _initialize_sh_tdep().
|
static |
Definition at line 67 of file sh-tdep.c.
Referenced by _initialize_sh_tdep(), and sh_is_renesas_calling_convention().
|
static |
Definition at line 61 of file sh-tdep.c.
Referenced by _initialize_sh_tdep().
|
static |
Definition at line 60 of file sh-tdep.c.
Referenced by sh_is_renesas_calling_convention().
|
static |
Definition at line 2162 of file sh-tdep.c.
Referenced by sh_iterate_over_regset_sections().
const struct regset sh_corefile_gregset |
Definition at line 2155 of file sh-tdep.c.
Referenced by sh_nbsd_nat_target::fetch_registers(), sh_corefile_collect_regset(), sh_corefile_supply_regset(), sh_iterate_over_regset_sections(), and sh_nbsd_nat_target::store_registers().
|
static |
Definition at line 1950 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
|
static |
Definition at line 1932 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
|
static |
Definition at line 1998 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
|
static |
Definition at line 57 of file sh-tdep.c.
Referenced by _initialize_sh_tdep().