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 "gdb_string.h"
#include "gdb_assert.h"
#include "arch-utils.h"
#include "floatformat.h"
#include "regcache.h"
#include "doublest.h"
#include "osabi.h"
#include "reggroups.h"
#include "regset.h"
#include "objfiles.h"
#include "sh-tdep.h"
#include "sh64-tdep.h"
#include "elf-bfd.h"
#include "solib-svr4.h"
#include "elf/sh.h"
#include "dwarf2.h"
#include "gdb/sim-sh.h"
Go to the source code of this file.
#define FPSCR_SZ (1 << 20) |
Definition at line 525 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define GET_SOURCE_REG | ( | x | ) | (((x) >> 4) & 0xf) |
Definition at line 459 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define GET_TARGET_REG | ( | x | ) | (((x) >> 8) & 0xf) |
Definition at line 460 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_ADD_IMM_FP | ( | x | ) | (((x) & 0xff00) == 0x7e00) |
Definition at line 534 of file sh-tdep.c.
Referenced by sh_in_function_epilogue_p().
#define IS_ADD_IMM_SP | ( | x | ) | (((x) & 0xff00) == 0x7f00) |
Definition at line 483 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_ADD_R3SP | ( | x | ) | ((x) == 0x3f3c) |
Definition at line 490 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_ADD_REG_TO_FP | ( | x | ) | (((x) & 0xff0f) == 0x3e0c) |
Definition at line 533 of file sh-tdep.c.
Referenced by sh_in_function_epilogue_p().
#define IS_FPUSH | ( | x | ) | (((x) & 0xff0f) == 0xff0b) |
Definition at line 498 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_JSR | ( | x | ) | (((x) & 0xf0ff) == 0x400b) |
Definition at line 463 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_LDS | ( | x | ) | ((x) == 0x4f26) |
Definition at line 530 of file sh-tdep.c.
Referenced by sh_in_function_epilogue_p().
#define IS_MACL_LDS | ( | x | ) | ((x) == 0x4f16) |
Definition at line 531 of file sh-tdep.c.
Referenced by sh_in_function_epilogue_p().
#define IS_MACL_STS | ( | x | ) | ((x) == 0x4f12) |
Definition at line 471 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_MOV_ARG_TO_IND_R14 | ( | x | ) |
(((x) & 0xff0f) == 0x2e02 && \ ((x) & 0x00f0) >= 0x0040 && \ ((x) & 0x00f0) <= 0x0070)
Definition at line 506 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_MOV_ARG_TO_IND_R14_WITH_DISP | ( | x | ) |
(((x) & 0xff00) == 0x1e00 && \ ((x) & 0x00f0) >= 0x0040 && \ ((x) & 0x00f0) <= 0x0070)
Definition at line 511 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_MOV_ARG_TO_REG | ( | x | ) |
(((x) & 0xf00f) == 0x6003 && \ ((x) & 0x00f0) >= 0x0040 && \ ((x) & 0x00f0) <= 0x0070)
Definition at line 501 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_MOV_FP_SP | ( | x | ) | ((x) == 0x6fe3) |
Definition at line 532 of file sh-tdep.c.
Referenced by sh_in_function_epilogue_p().
#define IS_MOV_R3 | ( | x | ) | (((x) & 0xff00) == 0x1a00) |
Definition at line 485 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_MOV_SP_FP | ( | x | ) | ((x) == 0x6ef3) |
Definition at line 479 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_MOVI20 | ( | x | ) | (((x) & 0xf00f) == 0x0000) |
Definition at line 521 of file sh-tdep.c.
Referenced by sh_analyze_prologue(), and sh_in_function_epilogue_p().
#define IS_MOVL_PCREL_TO_REG | ( | x | ) | (((x) & 0xf000) == 0xd000) |
Definition at line 519 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_MOVW_PCREL_TO_REG | ( | x | ) | (((x) & 0xf000) == 0x9000) |
Definition at line 517 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_PUSH | ( | x | ) | (((x) & 0xff0f) == 0x2f06) |
Definition at line 475 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_RESTORE_FP | ( | x | ) | ((x) == 0x6ef6) |
Definition at line 528 of file sh-tdep.c.
Referenced by sh_in_function_epilogue_p().
#define IS_RTS | ( | x | ) | ((x) == 0x000b) |
Definition at line 529 of file sh-tdep.c.
Referenced by sh_in_function_epilogue_p().
#define IS_SHLL_R3 | ( | x | ) | ((x) == 0x4300) |
Definition at line 486 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_STS | ( | x | ) | ((x) == 0x4f22) |
Definition at line 467 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define IS_SUB_REG_FROM_SP | ( | x | ) | (((x) & 0xff0f) == 0x3f08) |
Definition at line 523 of file sh-tdep.c.
Referenced by sh_analyze_prologue().
#define SH_NUM_REGS 67 |
Definition at line 72 of file sh-tdep.c.
Referenced by sh_alloc_frame_cache(), sh_frame_cache(), and sh_gdbarch_init().
void _initialize_sh_tdep | ( | void | ) |
Definition at line 2435 of file sh-tdep.c.
References _, _initialize_sh_tdep, add_prefix_cmd(), add_setshow_enum_cmd(), class_vars, gdbarch_register(), no_class, set_sh_command(), setlist, sh_active_calling_convention, sh_cc_enum, sh_gdbarch_init(), show_sh_command(), and showlist.
static int dr_reg_base_num | ( | struct gdbarch * | gdbarch, |
int | dr_regnum | ||
) | [static] |
Definition at line 1607 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 int fv_reg_base_num | ( | struct gdbarch * | gdbarch, |
int | fv_regnum | ||
) | [static] |
Definition at line 1596 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 enum register_status pseudo_register_read_portions | ( | struct gdbarch * | gdbarch, |
struct regcache * | regcache, | ||
int | portions, | ||
int | base_regnum, | ||
gdb_byte * | buffer | ||
) | [static] |
Definition at line 1620 of file sh-tdep.c.
References REG_VALID, regcache_raw_read(), register_size(), and exsummary::status.
Referenced by sh_pseudo_register_read().
static void set_sh_command | ( | char * | args, |
int | from_tty | ||
) | [static] |
Definition at line 2425 of file sh-tdep.c.
References all_commands, gdb_stdout, help_list(), and printf_unfiltered().
Referenced by _initialize_sh_tdep().
static struct sh_frame_cache* sh_alloc_frame_cache | ( | void | ) | [static, read] |
Definition at line 1827 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 CORE_ADDR sh_analyze_prologue | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | pc, | ||
CORE_ADDR | limit_pc, | ||
struct sh_frame_cache * | cache, | ||
ULONGEST | fpscr | ||
) | [static] |
Definition at line 537 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, min, offset, PR_REGNUM, read_memory_integer(), read_memory_unsigned_integer(), sh_frame_cache::saved_regs, sh_frame_cache::sp_offset, ULONGEST, and sh_frame_cache::uses_fp.
Referenced by sh_frame_cache(), and sh_skip_prologue().
static const unsigned char* sh_breakpoint_from_pc | ( | struct gdbarch * | gdbarch, |
CORE_ADDR * | pcptr, | ||
int * | lenptr | ||
) | [static] |
Definition at line 423 of file sh-tdep.c.
References gdbarch_byte_order(), and target_shortname.
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 2175 of file sh-tdep.c.
References gdbarch_tdep::core_fpregmap, gdbarch_tdep::core_gregmap, gdbarch_tdep(), get_regcache_arch(), len, sh_corefile_regmap::offset, regcache_raw_collect(), regmap, sh_corefile_regmap::regnum, and sh_corefile_gregset.
Referenced by shnbsd_store_inferior_registers().
void sh_corefile_supply_regset | ( | const struct regset * | regset, |
struct regcache * | regcache, | ||
int | regnum, | ||
const void * | regs, | ||
size_t | len | ||
) |
Definition at line 2149 of file sh-tdep.c.
References gdbarch_tdep::core_fpregmap, gdbarch_tdep::core_gregmap, gdbarch_tdep(), get_regcache_arch(), len, sh_corefile_regmap::offset, regcache_raw_supply(), regmap, sh_corefile_regmap::regnum, and sh_corefile_gregset.
Referenced by shnbsd_fetch_inferior_registers().
static struct type* sh_default_register_type | ( | struct gdbarch * | gdbarch, |
int | reg_nr | ||
) | [static, read] |
Definition at line 1478 of file sh-tdep.c.
References builtin_type::builtin_int, and builtin_type().
Referenced by sh_gdbarch_init().
static int sh_dsp_register_sim_regno | ( | struct gdbarch * | gdbarch, |
int | nr | ||
) | [static] |
Definition at line 1728 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 struct frame_id sh_dummy_id | ( | struct gdbarch * | gdbarch, |
struct frame_info * | this_frame | ||
) | [static, read] |
Definition at line 1982 of file sh-tdep.c.
References frame_id_build(), gdbarch_sp_regnum(), get_frame_pc(), get_frame_register_unsigned(), and sp.
Referenced by sh_gdbarch_init().
static void sh_dwarf2_frame_init_reg | ( | struct gdbarch * | gdbarch, |
int | regnum, | ||
struct dwarf2_frame_state_reg * | reg, | ||
struct frame_info * | this_frame | ||
) | [static] |
Definition at line 1782 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, SPC_REGNUM, SR_REGNUM, SSR_REGNUM, and VBR_REGNUM.
Referenced by sh_gdbarch_init().
static void sh_extract_return_value_fpu | ( | struct type * | type, |
struct regcache * | regcache, | ||
gdb_byte * | valbuf | ||
) | [static] |
Definition at line 1331 of file sh-tdep.c.
References gdbarch_byte_order(), gdbarch_fp0_regnum(), get_regcache_arch(), len, regcache_raw_read(), regnum, sh_extract_return_value_nofpu(), sh_treat_as_flt_p(), and TYPE_LENGTH.
Referenced by sh_return_value_fpu().
static void sh_extract_return_value_nofpu | ( | struct type * | type, |
struct regcache * | regcache, | ||
gdb_byte * | valbuf | ||
) | [static] |
Definition at line 1304 of file sh-tdep.c.
References _, gdbarch::byte_order, error(), gdbarch_byte_order(), get_regcache_arch(), len, offset, R0_REGNUM, regcache_cooked_read_unsigned(), regcache_raw_read(), regnum, store_unsigned_integer(), TYPE_LENGTH, and ULONGEST.
Referenced by sh_extract_return_value_fpu(), and sh_return_value_nofpu().
static CORE_ADDR sh_frame_align | ( | struct gdbarch * | ignore, |
CORE_ADDR | sp | ||
) | [static] |
Definition at line 853 of file sh-tdep.c.
Referenced by sh_gdbarch_init(), sh_push_dummy_call_fpu(), and sh_push_dummy_call_nofpu().
static CORE_ADDR sh_frame_base_address | ( | struct frame_info * | this_frame, |
void ** | this_cache | ||
) | [static] |
Definition at line 1990 of file sh-tdep.c.
References sh_frame_cache::base, and sh_frame_cache().
static struct sh_frame_cache* sh_frame_cache | ( | struct frame_info * | this_frame, |
void ** | this_cache | ||
) | [static, read] |
Definition at line 1854 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, ULONGEST, and sh_frame_cache::uses_fp.
Referenced by sh_frame_base_address(), sh_frame_prev_register(), and sh_frame_this_id().
static struct value* sh_frame_prev_register | ( | struct frame_info * | this_frame, |
void ** | this_cache, | ||
int | regnum | ||
) | [static, read] |
Definition at line 1921 of file sh-tdep.c.
References frame_unwind_got_constant(), frame_unwind_got_memory(), frame_unwind_got_register(), gdb_assert, gdbarch_pc_regnum(), gdbarch_sp_regnum(), get_frame_arch(), PR_REGNUM, sh_frame_cache::saved_regs, sh_frame_cache::saved_sp, and sh_frame_cache().
static void sh_frame_this_id | ( | struct frame_info * | this_frame, |
void ** | this_cache, | ||
struct frame_id * | this_id | ||
) | [static] |
Definition at line 1946 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 struct gdbarch* sh_gdbarch_init | ( | struct gdbarch_info | info, |
struct gdbarch_list * | arches | ||
) | [static, read] |
Definition at line 2240 of file sh-tdep.c.
References gdbarch_info::bfd_arch_info, core_addr_lessthan(), dwarf2_append_unwinders(), dwarf2_frame_set_init_reg(), floatformats_ieee_single, frame_base_set_default(), frame_unwind_append_unwinder(), gdbarch_list::gdbarch, gdbarch_alloc(), gdbarch_init_osabi(), gdbarch_list_lookup_by_info(), legacy_register_sim_regno(), set_gdbarch_believe_pcc_promotion(), set_gdbarch_breakpoint_from_pc(), set_gdbarch_double_bit(), set_gdbarch_double_format(), set_gdbarch_dummy_id(), set_gdbarch_float_bit(), set_gdbarch_fp0_regnum(), set_gdbarch_frame_align(), set_gdbarch_in_function_epilogue_p(), 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_print_insn(), 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_regset_from_core_section(), 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_unwind_pc(), set_gdbarch_unwind_sp(), sh64_gdbarch_init, sh_breakpoint_from_pc(), sh_default_register_type(), sh_dsp_register_sim_regno(), sh_dummy_id(), sh_dwarf2_frame_init_reg(), sh_frame_align(), sh_in_function_epilogue_p(), 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_regset_from_core_section(), 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_unwind_pc(), sh_unwind_sp(), and XZALLOC.
Referenced by _initialize_sh_tdep().
static int sh_in_function_epilogue_p | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | pc | ||
) | [static] |
Definition at line 2059 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, read_memory_unsigned_integer(), and ULONGEST.
Referenced by sh_gdbarch_init().
static void sh_init_flt_argreg | ( | void | ) | [static] |
Definition at line 948 of file sh-tdep.c.
References flt_argreg_array, and memset().
Referenced by sh_push_dummy_call_fpu().
static int sh_is_renesas_calling_convention | ( | struct type * | func_type | ) | [static] |
Definition at line 90 of file sh-tdep.c.
References check_typedef(), sh_active_calling_convention, sh_cc_renesas, TYPE_CALLING_CONVENTION, TYPE_CODE, TYPE_CODE_FUNC, TYPE_CODE_PTR, and TYPE_TARGET_TYPE.
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 const gdb_byte* sh_justify_value_in_reg | ( | struct gdbarch * | gdbarch, |
struct value * | val, | ||
int | len | ||
) | [static] |
Definition at line 912 of file sh-tdep.c.
References gdbarch_byte_order(), memcpy(), memset(), and value_contents().
Referenced by sh_push_dummy_call_fpu(), and sh_push_dummy_call_nofpu().
static struct sh_frame_cache* sh_make_stub_cache | ( | struct frame_info * | this_frame | ) | [static, read] |
Definition at line 2005 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().
static int sh_next_flt_argreg | ( | struct gdbarch * | gdbarch, |
int | len, | ||
struct type * | func_type | ||
) | [static] |
Definition at line 963 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 enum register_status sh_pseudo_register_read | ( | struct gdbarch * | gdbarch, |
struct regcache * | regcache, | ||
int | reg_nr, | ||
gdb_byte * | buffer | ||
) | [static] |
Definition at line 1642 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(), gdb_assert_not_reached, MAX_REGISTER_SIZE, PSEUDO_BANK_REGNUM, pseudo_register_read_portions(), REG_VALID, regcache_raw_read(), register_type(), sh_register_convert_to_virtual(), and exsummary::status.
Referenced by sh_gdbarch_init().
static void sh_pseudo_register_write | ( | struct gdbarch * | gdbarch, |
struct regcache * | regcache, | ||
int | reg_nr, | ||
const gdb_byte * | buffer | ||
) | [static] |
Definition at line 1681 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(), MACLB_REGNUM, MAX_REGISTER_SIZE, PSEUDO_BANK_REGNUM, R0_BANK0_REGNUM, regcache_invalidate(), regcache_raw_write(), register_size(), register_type(), and sh_register_convert_to_raw().
Referenced by sh_gdbarch_init().
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, | ||
int | struct_return, | ||
CORE_ADDR | struct_addr | ||
) | [static] |
Definition at line 1055 of file sh-tdep.c.
References ARG0_REGNUM, ARGLAST_REGNUM, extract_unsigned_integer(), FLOAT_ARGLAST_REGNUM, gdbarch_byte_order(), gdbarch_sp_regnum(), len, pass_on_stack(), PR_REGNUM, regcache_cooked_write_unsigned(), register_size(), 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, TYPE_CODE, TYPE_CODE_INT, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_LENGTH, TYPE_NFIELDS, TYPE_VARARGS, value_type(), write_memory(), and write_memory_unsigned_integer().
Referenced by sh_gdbarch_init().
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, | ||
int | struct_return, | ||
CORE_ADDR | struct_addr | ||
) | [static] |
Definition at line 1197 of file sh-tdep.c.
References ARG0_REGNUM, ARGLAST_REGNUM, extract_unsigned_integer(), gdbarch_byte_order(), gdbarch_sp_regnum(), len, pass_on_stack(), PR_REGNUM, regcache_cooked_write_unsigned(), register_size(), sh_frame_align(), sh_is_renesas_calling_convention(), sh_justify_value_in_reg(), sh_stack_allocsize(), STRUCT_RETURN_REGNUM, type, TYPE_CODE, TYPE_CODE_FLT, TYPE_CODE_INT, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_LENGTH, TYPE_NFIELDS, TYPE_VARARGS, value_type(), write_memory(), and write_memory_unsigned_integer().
Referenced by sh_gdbarch_init().
static void sh_register_convert_to_raw | ( | struct gdbarch * | gdbarch, |
struct type * | type, | ||
int | regnum, | ||
const gdb_byte * | from, | ||
gdb_byte * | to | ||
) | [static] |
Definition at line 1574 of file sh-tdep.c.
References _, DR0_REGNUM, DR_LAST_REGNUM, error(), extract_typed_floating(), floatformat_from_doublest(), gdbarch_byte_order(), memcpy(), and register_size().
Referenced by sh_pseudo_register_write().
static void sh_register_convert_to_virtual | ( | struct gdbarch * | gdbarch, |
int | regnum, | ||
struct type * | type, | ||
gdb_byte * | from, | ||
gdb_byte * | to | ||
) | [static] |
Definition at line 1551 of file sh-tdep.c.
References DR0_REGNUM, DR_LAST_REGNUM, error(), floatformat_to_doublest(), gdbarch_byte_order(), memcpy(), register_size(), and store_typed_floating().
Referenced by sh_pseudo_register_read().
static int sh_register_reggroup_p | ( | struct gdbarch * | gdbarch, |
int | regnum, | ||
struct reggroup * | reggroup | ||
) | [static] |
Definition at line 1488 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, SPC_REGNUM, SR_REGNUM, SSR_REGNUM, system_reggroup, VBR_REGNUM, and vector_reggroup.
Referenced by sh_gdbarch_init().
static struct regset* sh_regset_from_core_section | ( | struct gdbarch * | gdbarch, |
const char * | sect_name, | ||
size_t | sect_size | ||
) | [static, read] |
Definition at line 2213 of file sh-tdep.c.
References gdbarch_tdep::core_fpregmap, gdbarch_tdep::core_gregmap, gdbarch_tdep(), sh_corefile_fpregset, and sh_corefile_gregset.
Referenced by sh_gdbarch_init().
static int sh_return_in_first_hidden_param_p | ( | struct gdbarch * | gdbarch, |
struct type * | type | ||
) | [static] |
Definition at line 2231 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
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] |
Definition at line 1416 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 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] |
Definition at line 1399 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 const char* sh_sh2a_nofpu_register_name | ( | struct gdbarch * | gdbarch, |
int | reg_nr | ||
) | [static] |
Definition at line 241 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
static const char* sh_sh2a_register_name | ( | struct gdbarch * | gdbarch, |
int | reg_nr | ||
) | [static] |
Definition at line 201 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
static int sh_sh2a_register_sim_regno | ( | struct gdbarch * | gdbarch, |
int | nr | ||
) | [static] |
Definition at line 1746 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().
static struct type* sh_sh2a_register_type | ( | struct gdbarch * | gdbarch, |
int | reg_nr | ||
) | [static, read] |
Definition at line 1433 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 const char* sh_sh2e_register_name | ( | struct gdbarch * | gdbarch, |
int | reg_nr | ||
) | [static] |
Definition at line 179 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
static const char* sh_sh3_dsp_register_name | ( | struct gdbarch * | gdbarch, |
int | reg_nr | ||
) | [static] |
Definition at line 303 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
static const char* sh_sh3_register_name | ( | struct gdbarch * | gdbarch, |
int | reg_nr | ||
) | [static] |
Definition at line 135 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
static const char* sh_sh3e_register_name | ( | struct gdbarch * | gdbarch, |
int | reg_nr | ||
) | [static] |
Definition at line 157 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
static struct type* sh_sh3e_register_type | ( | struct gdbarch * | gdbarch, |
int | reg_nr | ||
) | [static, read] |
Definition at line 1447 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().
static struct type* sh_sh4_build_float_register_type | ( | struct gdbarch * | gdbarch, |
int | high | ||
) | [static, read] |
Definition at line 1457 of file sh-tdep.c.
References lookup_array_range_type().
Referenced by sh_sh4_register_type().
static const char* sh_sh4_nofpu_register_name | ( | struct gdbarch * | gdbarch, |
int | reg_nr | ||
) | [static] |
Definition at line 364 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
static const char* sh_sh4_register_name | ( | struct gdbarch * | gdbarch, |
int | reg_nr | ||
) | [static] |
Definition at line 326 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
static struct type* sh_sh4_register_type | ( | struct gdbarch * | gdbarch, |
int | reg_nr | ||
) | [static, read] |
Definition at line 1464 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 const char* sh_sh4al_dsp_register_name | ( | struct gdbarch * | gdbarch, |
int | reg_nr | ||
) | [static] |
Definition at line 400 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
static const char* sh_sh_dsp_register_name | ( | struct gdbarch * | gdbarch, |
int | reg_nr | ||
) | [static] |
Definition at line 281 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
static const char* sh_sh_register_name | ( | struct gdbarch * | gdbarch, |
int | reg_nr | ||
) | [static] |
Definition at line 113 of file sh-tdep.c.
Referenced by sh_gdbarch_init().
static CORE_ADDR sh_skip_prologue | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | pc | ||
) | [static] |
Definition at line 721 of file sh-tdep.c.
References find_pc_partial_function(), max, min, 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 CORE_ADDR sh_stack_allocsize | ( | int | nargs, |
struct value ** | args | ||
) | [static] |
Definition at line 931 of file sh-tdep.c.
References TYPE_LENGTH, and value_type().
Referenced by sh_push_dummy_call_fpu(), and sh_push_dummy_call_nofpu().
static void sh_store_return_value_fpu | ( | struct type * | type, |
struct regcache * | regcache, | ||
const gdb_byte * | valbuf | ||
) | [static] |
Definition at line 1379 of file sh-tdep.c.
References gdbarch_byte_order(), gdbarch_fp0_regnum(), get_regcache_arch(), len, regcache_raw_write(), regnum, sh_store_return_value_nofpu(), sh_treat_as_flt_p(), and TYPE_LENGTH.
Referenced by sh_return_value_fpu().
static void sh_store_return_value_nofpu | ( | struct type * | type, |
struct regcache * | regcache, | ||
const gdb_byte * | valbuf | ||
) | [static] |
Definition at line 1357 of file sh-tdep.c.
References gdbarch::byte_order, extract_unsigned_integer(), gdbarch_byte_order(), get_regcache_arch(), len, R0_REGNUM, regcache_cooked_write_unsigned(), regcache_raw_write(), regnum, TYPE_LENGTH, and ULONGEST.
Referenced by sh_return_value_nofpu(), and sh_store_return_value_fpu().
static void sh_stub_this_id | ( | struct frame_info * | this_frame, |
void ** | this_cache, | ||
struct frame_id * | this_id | ||
) | [static] |
Definition at line 2019 of file sh-tdep.c.
References frame_id_build(), get_frame_pc(), sh_frame_cache::saved_sp, and sh_make_stub_cache().
static int sh_stub_unwind_sniffer | ( | const struct frame_unwind * | self, |
struct frame_info * | this_frame, | ||
void ** | this_prologue_cache | ||
) | [static] |
Definition at line 2032 of file sh-tdep.c.
References get_frame_address_in_block(), and in_plt_section().
static int sh_treat_as_flt_p | ( | struct type * | type | ) | [static] |
Definition at line 1035 of file sh-tdep.c.
References TYPE_CODE, TYPE_CODE_FLT, TYPE_CODE_STRUCT, TYPE_FIELD_TYPE, and TYPE_NFIELDS.
Referenced by sh_extract_return_value_fpu(), sh_push_dummy_call_fpu(), and sh_store_return_value_fpu().
static CORE_ADDR sh_unwind_pc | ( | struct gdbarch * | gdbarch, |
struct frame_info * | next_frame | ||
) | [static] |
Definition at line 1975 of file sh-tdep.c.
References frame_unwind_register_unsigned(), and gdbarch_pc_regnum().
Referenced by sh_gdbarch_init().
static CORE_ADDR sh_unwind_sp | ( | struct gdbarch * | gdbarch, |
struct frame_info * | next_frame | ||
) | [static] |
Definition at line 1968 of file sh-tdep.c.
References frame_unwind_register_unsigned(), and gdbarch_sp_regnum().
Referenced by sh_gdbarch_init().
static int sh_use_struct_convention | ( | int | renesas_abi, |
struct type * | type | ||
) | [static] |
Definition at line 808 of file sh-tdep.c.
References len, TYPE_CODE, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_FIELD_TYPE, TYPE_LENGTH, and TYPE_NFIELDS.
Referenced by sh_return_value_fpu(), and sh_use_struct_convention_nofpu().
static int sh_use_struct_convention_nofpu | ( | int | renesas_abi, |
struct type * | type | ||
) | [static] |
Definition at line 844 of file sh-tdep.c.
References sh_use_struct_convention(), TYPE_LENGTH, and TYPE_NFIELDS.
Referenced by sh_return_value_nofpu().
static void show_sh_command | ( | char * | args, |
int | from_tty | ||
) | [static] |
Definition at line 2419 of file sh-tdep.c.
References all_commands, gdb_stdout, and help_list().
Referenced by _initialize_sh_tdep().
Referenced by _initialize_sh_tdep(), and initialize_all_files().
int flt_argreg_array[FLOAT_ARGLAST_REGNUM-FLOAT_ARG0_REGNUM+1] [static] |
Definition at line 944 of file sh-tdep.c.
Referenced by sh_init_flt_argreg(), and sh_next_flt_argreg().
struct cmd_list_element* setshcmdlist = NULL [static] |
const char* sh_active_calling_convention = sh_cc_gcc [static] |
Definition at line 70 of file sh-tdep.c.
Referenced by _initialize_sh_tdep(), and sh_is_renesas_calling_convention().
const char* const sh_cc_enum[] [static] |
{ sh_cc_gcc, sh_cc_renesas, NULL }
Definition at line 64 of file sh-tdep.c.
Referenced by _initialize_sh_tdep().
const char sh_cc_renesas[] = "renesas" [static] |
Definition at line 63 of file sh-tdep.c.
Referenced by sh_is_renesas_calling_convention().
struct regset sh_corefile_fpregset [static] |
Definition at line 2205 of file sh-tdep.c.
Referenced by sh_regset_from_core_section().
struct regset sh_corefile_gregset |
Definition at line 2198 of file sh-tdep.c.
Referenced by sh_corefile_collect_regset(), sh_corefile_supply_regset(), sh_regset_from_core_section(), shnbsd_fetch_inferior_registers(), and shnbsd_store_inferior_registers().
struct frame_base sh_frame_base [static] |
{ &sh_frame_unwind, sh_frame_base_address, sh_frame_base_address, sh_frame_base_address }
struct frame_unwind sh_frame_unwind [static] |
struct frame_unwind sh_stub_unwind [static] |
struct cmd_list_element* showshcmdlist = NULL [static] |