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 "osabi.h"
#include "valprint.h"
#include "elf-bfd.h"
#include "elf/sh.h"
#include "gdb/sim-sh.h"
#include "language.h"
#include "sh64-tdep.h"
Go to the source code of this file.
Classes | |
struct | gdbarch_tdep |
struct | sh64_frame_cache |
Macros | |
#define | NUM_PSEUDO_REGS_SH_MEDIA 80 |
#define | NUM_PSEUDO_REGS_SH_COMPACT 51 |
#define | MSYMBOL_IS_SPECIAL(msym) MSYMBOL_TARGET_FLAG_1 (msym) |
#define | IS_ISA32_ADDR(addr) ((addr) & 1) |
#define | MAKE_ISA32_ADDR(addr) ((addr) | 1) |
#define | UNMAKE_ISA32_ADDR(addr) ((addr) & ~1) |
#define | IS_PTABSL_R18(x) (((x) & 0xffffff8f) == 0x6bf14a00) |
#define | IS_STS_R0(x) ((x) == 0x4022) |
#define | IS_STS_PR(x) (((x) & 0xf0ff) == 0x2a) |
#define | IS_MOV_TO_R15(x) (((x) & 0xff00) == 0x1f00) |
#define | IS_MOV_R14(x) (((x) & 0xfff0) == 0x1fe0) |
#define | IS_STQ_R18_R14(x) (((x) & 0xfff003ff) == 0xace00120) |
#define | IS_STQ_R18_R15(x) (((x) & 0xfff003ff) == 0xacf00120) |
#define | IS_STL_R18_R15(x) (((x) & 0xfff003ff) == 0xa8f00120) |
#define | IS_STQ_R14_R15(x) (((x) & 0xfff003ff) == 0xacf000e0) |
#define | IS_STL_R14_R15(x) (((x) & 0xfff003ff) == 0xa8f000e0) |
#define | IS_ADDIL_SP_MEDIA(x) (((x) & 0xfff003ff) == 0xd4f000f0) |
#define | IS_ADDI_SP_MEDIA(x) (((x) & 0xfff003ff) == 0xd0f000f0) |
#define | IS_ADDL_SP_FP_MEDIA(x) ((x) == 0x00f8fce0) |
#define | IS_ADD_SP_FP_MEDIA(x) ((x) == 0x00f9fce0) |
#define | IS_MOV_SP_FP_MEDIA(x) (IS_ADDL_SP_FP_MEDIA(x) || IS_ADD_SP_FP_MEDIA(x)) |
#define | IS_MOV_R0(x) (((x) & 0xff00) == 0xe000) |
#define | IS_MOVL_R0(x) (((x) & 0xff00) == 0xd000) |
#define | IS_ADD_SP_R0(x) ((x) == 0x30fc) |
#define | IS_MOV_R14_R0(x) ((x) == 0x20e6) |
#define | IS_MEDIA_IND_ARG_MOV(x) |
#define | IS_MEDIA_ARG_MOV(x) |
#define | IS_MEDIA_MOV_TO_R14(x) |
#define | IS_COMPACT_IND_ARG_MOV(x) |
#define | IS_COMPACT_ARG_MOV(x) |
#define | IS_COMPACT_MOV_TO_R14(x) ((((x) & 0xff0f) == 0x2e00) || (((x) & 0xff0f) == 0x2e01)) |
#define | IS_JSR_R0(x) ((x) == 0x400b) |
#define | IS_NOP(x) ((x) == 0x0009) |
#define | IS_MOV_SP_FP(x) ((x) == 0x6ef3) |
#define | IS_ADD_SP(x) (((x) & 0xff00) == 0x7f00) |
Enumerations | |
enum | sh_abi { SH_ABI_UNKNOWN, SH_ABI_32, SH_ABI_64 } |
enum | { R0_REGNUM = 0, DEFAULT_RETURN_REGNUM = 2, STRUCT_RETURN_REGNUM = 2, ARG0_REGNUM = 2, ARGLAST_REGNUM = 9, FLOAT_ARGLAST_REGNUM = 11, MEDIA_FP_REGNUM = 14, PR_REGNUM = 18, SR_REGNUM = 65, DR0_REGNUM = 141, DR_LAST_REGNUM = 172, FPP0_REGNUM = 173, FPP_LAST_REGNUM = 204, FV0_REGNUM = 205, FV_LAST_REGNUM = 220, R0_C_REGNUM = 221, R_LAST_C_REGNUM = 236, PC_C_REGNUM = 237, GBR_C_REGNUM = 238, MACH_C_REGNUM = 239, MACL_C_REGNUM = 240, PR_C_REGNUM = 241, T_C_REGNUM = 242, FPSCR_C_REGNUM = 243, FPUL_C_REGNUM = 244, FP0_C_REGNUM = 245, FP_LAST_C_REGNUM = 260, DR0_C_REGNUM = 261, DR_LAST_C_REGNUM = 268, FV0_C_REGNUM = 269, FV_LAST_C_REGNUM = 272, FPSCR_REGNUM = SIM_SH64_FPCSR_REGNUM, SSR_REGNUM = SIM_SH64_SSR_REGNUM, SPC_REGNUM = SIM_SH64_SPC_REGNUM, TR7_REGNUM = SIM_SH64_TR0_REGNUM + 7, FP_LAST_REGNUM = SIM_SH64_FR0_REGNUM + SIM_SH64_NR_FP_REGS - 1 } |
Variables | |
static const struct frame_unwind | sh64_frame_unwind |
static const struct frame_base | sh64_frame_base |
#define IS_ADD_SP | ( | x | ) | (((x) & 0xff00) == 0x7f00) |
Definition at line 459 of file sh64-tdep.c.
Referenced by sh64_analyze_prologue().
#define IS_ADD_SP_FP_MEDIA | ( | x | ) | ((x) == 0x00f9fce0) |
Definition at line 385 of file sh64-tdep.c.
#define IS_ADD_SP_R0 | ( | x | ) | ((x) == 0x30fc) |
Definition at line 399 of file sh64-tdep.c.
Referenced by sh64_analyze_prologue(), and sh64_skip_prologue_hard_way().
#define IS_ADDI_SP_MEDIA | ( | x | ) | (((x) & 0xfff003ff) == 0xd0f000f0) |
Definition at line 377 of file sh64-tdep.c.
Referenced by sh64_analyze_prologue(), and sh64_skip_prologue_hard_way().
#define IS_ADDIL_SP_MEDIA | ( | x | ) | (((x) & 0xfff003ff) == 0xd4f000f0) |
Definition at line 373 of file sh64-tdep.c.
Referenced by sh64_analyze_prologue(), and sh64_skip_prologue_hard_way().
#define IS_ADDL_SP_FP_MEDIA | ( | x | ) | ((x) == 0x00f8fce0) |
Definition at line 381 of file sh64-tdep.c.
#define IS_COMPACT_ARG_MOV | ( | x | ) |
Definition at line 440 of file sh64-tdep.c.
Referenced by look_for_args_moves().
#define IS_COMPACT_IND_ARG_MOV | ( | x | ) |
Definition at line 434 of file sh64-tdep.c.
Referenced by look_for_args_moves().
#define IS_COMPACT_MOV_TO_R14 | ( | x | ) | ((((x) & 0xff0f) == 0x2e00) || (((x) & 0xff0f) == 0x2e01)) |
Definition at line 446 of file sh64-tdep.c.
Referenced by look_for_args_moves().
#define IS_ISA32_ADDR | ( | addr | ) | ((addr) & 1) |
Definition at line 231 of file sh64-tdep.c.
Referenced by pc_is_isa32().
#define IS_JSR_R0 | ( | x | ) | ((x) == 0x400b) |
Definition at line 449 of file sh64-tdep.c.
Referenced by look_for_args_moves().
#define IS_MEDIA_ARG_MOV | ( | x | ) |
Definition at line 416 of file sh64-tdep.c.
Referenced by look_for_args_moves().
#define IS_MEDIA_IND_ARG_MOV | ( | x | ) |
Definition at line 408 of file sh64-tdep.c.
Referenced by look_for_args_moves().
#define IS_MEDIA_MOV_TO_R14 | ( | x | ) |
Definition at line 425 of file sh64-tdep.c.
Referenced by look_for_args_moves().
#define IS_MOV_R0 | ( | x | ) | (((x) & 0xff00) == 0xe000) |
Definition at line 392 of file sh64-tdep.c.
Referenced by sh64_analyze_prologue(), and sh64_skip_prologue_hard_way().
#define IS_MOV_R14 | ( | x | ) | (((x) & 0xfff0) == 0x1fe0) |
Definition at line 349 of file sh64-tdep.c.
Referenced by sh64_analyze_prologue(), and sh64_skip_prologue_hard_way().
#define IS_MOV_R14_R0 | ( | x | ) | ((x) == 0x20e6) |
Definition at line 403 of file sh64-tdep.c.
Referenced by sh64_analyze_prologue(), and sh64_skip_prologue_hard_way().
#define IS_MOV_SP_FP | ( | x | ) | ((x) == 0x6ef3) |
Definition at line 455 of file sh64-tdep.c.
Referenced by sh64_analyze_prologue(), and sh64_skip_prologue_hard_way().
#define IS_MOV_SP_FP_MEDIA | ( | x | ) | (IS_ADDL_SP_FP_MEDIA(x) || IS_ADD_SP_FP_MEDIA(x)) |
Definition at line 387 of file sh64-tdep.c.
Referenced by sh64_analyze_prologue(), and sh64_skip_prologue_hard_way().
#define IS_MOV_TO_R15 | ( | x | ) | (((x) & 0xff00) == 0x1f00) |
Definition at line 345 of file sh64-tdep.c.
Referenced by sh64_analyze_prologue(), and sh64_skip_prologue_hard_way().
#define IS_MOVL_R0 | ( | x | ) | (((x) & 0xff00) == 0xd000) |
Definition at line 395 of file sh64-tdep.c.
Referenced by look_for_args_moves().
#define IS_NOP | ( | x | ) | ((x) == 0x0009) |
Definition at line 450 of file sh64-tdep.c.
Referenced by look_for_args_moves().
#define IS_PTABSL_R18 | ( | x | ) | (((x) & 0xffffff8f) == 0x6bf14a00) |
Definition at line 333 of file sh64-tdep.c.
Referenced by sh64_skip_prologue_hard_way().
#define IS_STL_R14_R15 | ( | x | ) | (((x) & 0xfff003ff) == 0xa8f000e0) |
Definition at line 369 of file sh64-tdep.c.
Referenced by sh64_analyze_prologue(), and sh64_skip_prologue_hard_way().
#define IS_STL_R18_R15 | ( | x | ) | (((x) & 0xfff003ff) == 0xa8f00120) |
Definition at line 361 of file sh64-tdep.c.
Referenced by sh64_analyze_prologue(), and sh64_skip_prologue_hard_way().
#define IS_STQ_R14_R15 | ( | x | ) | (((x) & 0xfff003ff) == 0xacf000e0) |
Definition at line 365 of file sh64-tdep.c.
Referenced by sh64_analyze_prologue(), and sh64_skip_prologue_hard_way().
#define IS_STQ_R18_R14 | ( | x | ) | (((x) & 0xfff003ff) == 0xace00120) |
Definition at line 353 of file sh64-tdep.c.
Referenced by sh64_skip_prologue_hard_way().
#define IS_STQ_R18_R15 | ( | x | ) | (((x) & 0xfff003ff) == 0xacf00120) |
Definition at line 357 of file sh64-tdep.c.
Referenced by sh64_analyze_prologue(), and sh64_skip_prologue_hard_way().
#define IS_STS_PR | ( | x | ) | (((x) & 0xf0ff) == 0x2a) |
Definition at line 341 of file sh64-tdep.c.
Referenced by sh64_analyze_prologue(), and sh64_skip_prologue_hard_way().
#define IS_STS_R0 | ( | x | ) | ((x) == 0x4022) |
Definition at line 337 of file sh64-tdep.c.
Referenced by sh64_analyze_prologue(), and sh64_skip_prologue_hard_way().
#define MAKE_ISA32_ADDR | ( | addr | ) | ((addr) | 1) |
Definition at line 232 of file sh64-tdep.c.
#define MSYMBOL_IS_SPECIAL | ( | msym | ) | MSYMBOL_TARGET_FLAG_1 (msym) |
Definition at line 213 of file sh64-tdep.c.
Referenced by pc_is_isa32().
#define NUM_PSEUDO_REGS_SH_COMPACT 51 |
Definition at line 202 of file sh64-tdep.c.
Referenced by sh64_do_pseudo_register(), and sh64_gdbarch_init().
#define NUM_PSEUDO_REGS_SH_MEDIA 80 |
Definition at line 201 of file sh64-tdep.c.
Referenced by sh64_do_pseudo_register(), and sh64_gdbarch_init().
#define UNMAKE_ISA32_ADDR | ( | addr | ) | ((addr) & ~1) |
Definition at line 233 of file sh64-tdep.c.
Referenced by look_for_args_moves(), sh64_analyze_prologue(), sh64_breakpoint_from_pc(), and sh64_skip_prologue_hard_way().
anonymous enum |
Definition at line 80 of file sh64-tdep.c.
enum sh_abi |
Enumerator | |
---|---|
SH_ABI_UNKNOWN | |
SH_ABI_32 | |
SH_ABI_64 |
Definition at line 50 of file sh64-tdep.c.
Definition at line 466 of file sh64-tdep.c.
References symtab_and_line::end, find_pc_line(), and find_pc_partial_function().
Referenced by sh64_skip_prologue().
|
static |
Definition at line 493 of file sh64-tdep.c.
References symtab_and_line::end, gdbarch_byte_order(), IS_COMPACT_ARG_MOV, IS_COMPACT_IND_ARG_MOV, IS_COMPACT_MOV_TO_R14, IS_JSR_R0, IS_MEDIA_ARG_MOV, IS_MEDIA_IND_ARG_MOV, IS_MEDIA_MOV_TO_R14, IS_MOVL_R0, IS_NOP, read_memory_integer(), and UNMAKE_ISA32_ADDR.
Referenced by sh64_skip_prologue_hard_way().
|
static |
Definition at line 236 of file sh64-tdep.c.
References IS_ISA32_ADDR, lookup_minimal_symbol_by_pc(), bound_minimal_symbol::minsym, and MSYMBOL_IS_SPECIAL.
Referenced by sh64_breakpoint_from_pc(), sh64_frame_cache(), sh64_print_registers_info(), and sh64_skip_prologue_hard_way().
|
static |
Definition at line 1502 of file sh64-tdep.c.
References REG_VALID, regcache_raw_read(), register_size(), and status.
Referenced by sh64_pseudo_register_read().
|
static |
Definition at line 2178 of file sh64-tdep.c.
References sh64_frame_cache::base, FRAME_OBSTACK_ZALLOC, sh64_frame_cache::pc, sh64_frame_cache::saved_regs, sh64_frame_cache::saved_sp, sh64_frame_cache::sp_offset, and sh64_frame_cache::uses_fp.
Referenced by sh64_frame_cache().
|
static |
Definition at line 854 of file sh64-tdep.c.
References gdbarch_byte_order(), gdbarch_tdep(), IS_ADD_SP, IS_ADD_SP_R0, IS_ADDI_SP_MEDIA, IS_ADDIL_SP_MEDIA, IS_MOV_R0, IS_MOV_R14, IS_MOV_R14_R0, IS_MOV_SP_FP, IS_MOV_SP_FP_MEDIA, IS_MOV_TO_R15, IS_STL_R14_R15, IS_STL_R18_R15, IS_STQ_R14_R15, IS_STQ_R18_R15, IS_STS_PR, IS_STS_R0, MEDIA_FP_REGNUM, sh64_frame_cache::media_mode, symtab_and_line::pc, PR_REGNUM, read_memory_integer(), sh64_frame_cache::saved_regs, sign_extend(), sh64_frame_cache::sp_offset, UNMAKE_ISA32_ADDR, and sh64_frame_cache::uses_fp.
Referenced by sh64_frame_cache().
|
static |
Definition at line 256 of file sh64-tdep.c.
References gdbarch_byte_order(), pc_is_isa32(), and UNMAKE_ISA32_ADDR.
Referenced by sh64_gdbarch_init().
Definition at line 1409 of file sh64-tdep.c.
References lookup_array_range_type().
Referenced by sh64_register_type().
|
static |
Definition at line 2139 of file sh64-tdep.c.
References _, error(), gdbarch_num_pseudo_regs(), gdbarch_num_regs(), gdbarch_register_name(), R0_C_REGNUM, sh64_do_pseudo_register(), and sh64_print_register().
Referenced by sh64_print_registers_info().
Definition at line 793 of file sh64-tdep.c.
References DR0_C_REGNUM, DR0_REGNUM, DR_LAST_C_REGNUM, FP0_C_REGNUM, FP_LAST_C_REGNUM, FPSCR_C_REGNUM, FPSCR_REGNUM, FPUL_C_REGNUM, FV0_C_REGNUM, FV0_REGNUM, FV_LAST_C_REGNUM, GBR_C_REGNUM, gdbarch_fp0_regnum(), gdbarch_pc_regnum(), MACH_C_REGNUM, MACL_C_REGNUM, PC_C_REGNUM, PR_C_REGNUM, PR_REGNUM, R0_C_REGNUM, R_LAST_C_REGNUM, sh64_dr_reg_base_num(), sh64_fv_reg_base_num(), and T_C_REGNUM.
Referenced by sh64_do_pseudo_register(), sh64_pseudo_register_read(), and sh64_pseudo_register_write().
|
static |
Definition at line 1875 of file sh64-tdep.c.
References fprintf_filtered(), FPSCR_C_REGNUM, FPUL_C_REGNUM, GBR_C_REGNUM, get_frame_register_unsigned(), MACH_C_REGNUM, MACL_C_REGNUM, PC_C_REGNUM, PR_C_REGNUM, and T_C_REGNUM.
Referenced by sh64_do_pseudo_register().
|
static |
Definition at line 1916 of file sh64-tdep.c.
References _, deprecated_frame_register_read(), error(), fprintf_filtered(), fputs_filtered(), gdbarch_byte_order(), gdbarch_fp0_regnum(), gdbarch_register_name(), print_hex_chars(), print_spaces_filtered(), register_size(), regnum, and unpack_double().
Referenced by sh64_do_pseudo_register(), sh64_media_print_registers_info(), and sh64_print_register().
|
static |
Definition at line 1958 of file sh64-tdep.c.
References _, DR0_C_REGNUM, DR0_REGNUM, DR_LAST_C_REGNUM, DR_LAST_REGNUM, FP0_C_REGNUM, FP_LAST_C_REGNUM, fp_regnum, FPP0_REGNUM, FPP_LAST_REGNUM, fprintf_filtered(), FPUL_C_REGNUM, FV0_C_REGNUM, FV0_REGNUM, FV_LAST_C_REGNUM, FV_LAST_REGNUM, gdbarch_num_regs(), get_frame_register_unsigned(), internal_error(), NUM_PSEUDO_REGS_SH_COMPACT, NUM_PSEUDO_REGS_SH_MEDIA, PC_C_REGNUM, R0_C_REGNUM, R_LAST_C_REGNUM, sh64_compact_reg_base_num(), sh64_do_cr_c_register_info(), sh64_do_fp_register(), sh64_dr_reg_base_num(), sh64_fpp_reg_base_num(), and sh64_fv_reg_base_num().
Referenced by sh64_compact_print_registers_info(), sh64_media_print_registers_info(), and sh64_print_register().
|
static |
Definition at line 2030 of file sh64-tdep.c.
References current_language, deprecated_frame_register_read(), value_print_options::deref_ref, fprintf_filtered(), fputs_filtered(), gdbarch_register_name(), get_formatted_print_options(), MAX_REGISTER_SIZE, print_spaces_filtered(), register_type(), and val_print().
Referenced by sh64_media_print_registers_info(), and sh64_print_register().
Definition at line 712 of file sh64-tdep.c.
References DR0_REGNUM, fp_regnum, and gdbarch_fp0_regnum().
Referenced by sh64_compact_reg_base_num(), sh64_do_pseudo_register(), sh64_pseudo_register_read(), and sh64_pseudo_register_write().
|
static |
Definition at line 2335 of file sh64-tdep.c.
References frame_id_build(), gdbarch_sp_regnum(), get_frame_pc(), and get_frame_register_unsigned().
Referenced by sh64_gdbarch_init().
|
static |
Definition at line 217 of file sh64-tdep.c.
References MSYMBOL_TARGET_FLAG_1, MSYMBOL_VALUE_RAW_ADDRESS, and SET_MSYMBOL_VALUE_ADDRESS.
Referenced by sh64_gdbarch_init().
|
static |
Definition at line 1224 of file sh64-tdep.c.
References _, gdbarch::byte_order, DEFAULT_RETURN_REGNUM, DR0_REGNUM, error(), floatformat_to_doublest(), gdbarch_byte_order(), gdbarch_fp0_regnum(), get_regcache_arch(), len, offset, regcache_cooked_read(), regcache_raw_read(), register_size(), store_typed_floating(), TYPE_CODE, TYPE_CODE_FLT, and TYPE_LENGTH.
Referenced by sh64_return_value().
Definition at line 722 of file sh64-tdep.c.
References fp_regnum, FPP0_REGNUM, and gdbarch_fp0_regnum().
Referenced by sh64_do_pseudo_register(), sh64_pseudo_register_read(), and sh64_pseudo_register_write().
Definition at line 982 of file sh64-tdep.c.
Referenced by sh64_gdbarch_init(), and sh64_push_dummy_call().
|
static |
Definition at line 2343 of file sh64-tdep.c.
References sh64_frame_cache::base, and sh64_frame_cache().
|
static |
Definition at line 2205 of file sh64-tdep.c.
References sh64_frame_cache::base, gdbarch_sp_regnum(), get_frame_arch(), get_frame_func(), get_frame_pc(), get_frame_register_unsigned(), MEDIA_FP_REGNUM, sh64_frame_cache::media_mode, sh64_frame_cache::pc, pc_is_isa32(), sh64_frame_cache::saved_regs, sh64_frame_cache::saved_sp, sh64_alloc_frame_cache(), sh64_analyze_prologue(), sh64_frame_cache::sp_offset, and sh64_frame_cache::uses_fp.
Referenced by sh64_frame_base_address(), sh64_frame_prev_register(), and sh64_frame_this_id().
|
static |
Definition at line 2262 of file sh64-tdep.c.
References gdbarch::byte_order, frame_unwind_got_constant(), frame_unwind_got_memory(), frame_unwind_got_register(), gdb_assert, gdbarch_byte_order(), gdbarch_pc_regnum(), gdbarch_sp_regnum(), get_frame_arch(), MEDIA_FP_REGNUM, PR_REGNUM, read_memory_unsigned_integer(), sh64_frame_cache::saved_regs, sh64_frame_cache::saved_sp, sh64_frame_cache(), and SH_ABI_32.
|
static |
Definition at line 2299 of file sh64-tdep.c.
References sh64_frame_cache::base, frame_id_build(), sh64_frame_cache::pc, sh64_frame_cache::saved_sp, and sh64_frame_cache().
Definition at line 702 of file sh64-tdep.c.
References fp_regnum, FV0_REGNUM, and gdbarch_fp0_regnum().
Referenced by sh64_compact_reg_base_num(), sh64_do_pseudo_register(), sh64_pseudo_register_read(), and sh64_pseudo_register_write().
struct gdbarch* sh64_gdbarch_init | ( | struct gdbarch_info | info, |
struct gdbarch_list * | arches | ||
) |
Definition at line 2359 of file sh64-tdep.c.
References gdbarch_info::abfd, core_addr_lessthan(), dwarf2_append_unwinders(), 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(), NUM_PSEUDO_REGS_SH_COMPACT, NUM_PSEUDO_REGS_SH_MEDIA, set_gdbarch_believe_pcc_promotion(), set_gdbarch_breakpoint_from_pc(), set_gdbarch_double_bit(), set_gdbarch_dummy_id(), set_gdbarch_elf_make_msymbol_special(), set_gdbarch_float_bit(), set_gdbarch_fp0_regnum(), set_gdbarch_frame_align(), 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_print_registers_info(), 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_sim_regno(), 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(), sh64_breakpoint_from_pc(), sh64_dummy_id(), sh64_elf_make_msymbol_special(), sh64_frame_align(), sh64_print_registers_info(), sh64_pseudo_register_read(), sh64_pseudo_register_write(), sh64_push_dummy_call(), sh64_register_name(), sh64_register_type(), sh64_return_value(), sh64_skip_prologue(), sh64_unwind_pc(), sh64_unwind_sp(), gdbarch_tdep::sh_abi, SH_ABI_32, SH_ABI_64, and TARGET_CHAR_BIT.
|
static |
Definition at line 2082 of file sh64-tdep.c.
References _, error(), FP_LAST_REGNUM, gdbarch_fp0_regnum(), gdbarch_num_pseudo_regs(), gdbarch_num_regs(), gdbarch_register_name(), register_type(), sh64_do_fp_register(), sh64_do_pseudo_register(), sh64_do_register(), sh64_print_register(), TYPE_CODE, and TYPE_CODE_FLT.
Referenced by sh64_print_registers_info().
|
static |
Definition at line 2060 of file sh64-tdep.c.
References _, gdbarch_num_pseudo_regs(), gdbarch_num_regs(), internal_error(), register_type(), sh64_do_fp_register(), sh64_do_pseudo_register(), sh64_do_register(), TYPE_CODE, and TYPE_CODE_FLT.
Referenced by sh64_compact_print_registers_info(), and sh64_media_print_registers_info().
|
static |
Definition at line 2168 of file sh64-tdep.c.
References get_frame_pc(), pc_is_isa32(), sh64_compact_print_registers_info(), and sh64_media_print_registers_info().
Referenced by sh64_gdbarch_init().
|
static |
Definition at line 1524 of file sh64-tdep.c.
References DR0_C_REGNUM, DR0_REGNUM, DR_LAST_C_REGNUM, DR_LAST_REGNUM, extract_unsigned_integer(), FP0_C_REGNUM, FP_LAST_C_REGNUM, FPP0_REGNUM, FPP_LAST_REGNUM, FPSCR_C_REGNUM, FPSCR_REGNUM, FPUL_C_REGNUM, FV0_C_REGNUM, FV0_REGNUM, FV_LAST_C_REGNUM, FV_LAST_REGNUM, gdb_assert_not_reached, gdbarch_byte_order(), MAX_REGISTER_SIZE, offset, pseudo_register_read_portions(), R0_C_REGNUM, REG_VALID, regcache_raw_read(), register_type(), sh64_compact_reg_base_num(), sh64_dr_reg_base_num(), sh64_fpp_reg_base_num(), sh64_fv_reg_base_num(), sh64_register_convert_to_virtual(), SR_REGNUM, status, store_unsigned_integer(), and T_C_REGNUM.
Referenced by sh64_gdbarch_init().
|
static |
Definition at line 1700 of file sh64-tdep.c.
References DR0_C_REGNUM, DR0_REGNUM, DR_LAST_C_REGNUM, DR_LAST_REGNUM, extract_unsigned_integer(), FP0_C_REGNUM, FP_LAST_C_REGNUM, FPP0_REGNUM, FPP_LAST_REGNUM, FPSCR_C_REGNUM, FPSCR_REGNUM, FPUL_C_REGNUM, FV0_C_REGNUM, FV0_REGNUM, FV_LAST_C_REGNUM, FV_LAST_REGNUM, gdbarch_byte_order(), MAX_REGISTER_SIZE, offset, R0_C_REGNUM, regcache_raw_read(), regcache_raw_write(), register_size(), register_type(), sh64_compact_reg_base_num(), sh64_dr_reg_base_num(), sh64_fpp_reg_base_num(), sh64_fv_reg_base_num(), sh64_register_convert_to_raw(), SR_REGNUM, store_unsigned_integer(), and T_C_REGNUM.
Referenced by sh64_gdbarch_init().
|
static |
Definition at line 1050 of file sh64-tdep.c.
References ARG0_REGNUM, ARGLAST_REGNUM, DR0_REGNUM, extract_unsigned_integer(), FLOAT_ARGLAST_REGNUM, gdbarch_byte_order(), gdbarch_fp0_regnum(), gdbarch_sp_regnum(), len, PR_REGNUM, regcache_cooked_write(), regcache_cooked_write_unsigned(), register_size(), regnum, sh64_frame_align(), STRUCT_RETURN_REGNUM, type, TYPE_CODE, TYPE_CODE_FLT, TYPE_LENGTH, value_contents(), value_type(), and write_memory().
Referenced by sh64_gdbarch_init().
|
static |
Definition at line 1474 of file sh64-tdep.c.
References _, DR0_C_REGNUM, DR0_REGNUM, DR_LAST_C_REGNUM, DR_LAST_REGNUM, error(), extract_typed_floating(), floatformat_from_doublest(), gdbarch_byte_order(), and register_size().
Referenced by sh64_pseudo_register_write().
|
static |
Definition at line 1448 of file sh64-tdep.c.
References _, DR0_C_REGNUM, DR0_REGNUM, DR_LAST_C_REGNUM, DR_LAST_REGNUM, error(), floatformat_to_doublest(), gdbarch_byte_order(), register_size(), and store_typed_floating().
Referenced by sh64_pseudo_register_read().
Definition at line 125 of file sh64-tdep.c.
Referenced by sh64_gdbarch_init().
Definition at line 1418 of file sh64-tdep.c.
References builtin_type::builtin_double, builtin_type::builtin_float, builtin_type::builtin_int, builtin_type::builtin_long_long, builtin_type(), DR0_C_REGNUM, DR0_REGNUM, DR_LAST_C_REGNUM, DR_LAST_REGNUM, FP0_C_REGNUM, FP_LAST_C_REGNUM, FP_LAST_REGNUM, FPP0_REGNUM, FPP_LAST_REGNUM, FPSCR_REGNUM, FV0_C_REGNUM, FV0_REGNUM, FV_LAST_C_REGNUM, FV_LAST_REGNUM, gdbarch_fp0_regnum(), R0_C_REGNUM, and sh64_build_float_register_type().
Referenced by sh64_gdbarch_init().
|
static |
Definition at line 1327 of file sh64-tdep.c.
References RETURN_VALUE_REGISTER_CONVENTION, RETURN_VALUE_STRUCT_CONVENTION, sh64_extract_return_value(), sh64_store_return_value(), and sh64_use_struct_convention().
Referenced by sh64_gdbarch_init().
Definition at line 676 of file sh64-tdep.c.
References after_prologue(), max, and sh64_skip_prologue_hard_way().
Referenced by sh64_gdbarch_init().
|
static |
Definition at line 595 of file sh64-tdep.c.
References symtab_and_line::end, gdbarch_byte_order(), IS_ADD_SP_R0, IS_ADDI_SP_MEDIA, IS_ADDIL_SP_MEDIA, IS_MOV_R0, IS_MOV_R14, IS_MOV_R14_R0, IS_MOV_SP_FP, IS_MOV_SP_FP_MEDIA, IS_MOV_TO_R15, IS_PTABSL_R18, IS_STL_R14_R15, IS_STL_R18_R15, IS_STQ_R14_R15, IS_STQ_R18_R14, IS_STQ_R18_R15, IS_STS_PR, IS_STS_R0, look_for_args_moves(), pc_is_isa32(), read_memory_integer(), and UNMAKE_ISA32_ADDR.
Referenced by sh64_skip_prologue().
|
static |
Definition at line 1286 of file sh64-tdep.c.
References DEFAULT_RETURN_REGNUM, gdbarch_byte_order(), gdbarch_fp0_regnum(), get_regcache_arch(), len, offset, regcache_raw_write(), register_size(), regnum, TYPE_CODE, TYPE_CODE_FLT, and TYPE_LENGTH.
Referenced by sh64_return_value().
|
static |
Definition at line 2328 of file sh64-tdep.c.
References frame_unwind_register_unsigned(), and gdbarch_pc_regnum().
Referenced by sh64_gdbarch_init().
|
static |
Definition at line 2321 of file sh64-tdep.c.
References frame_unwind_register_unsigned(), and gdbarch_sp_regnum().
Referenced by sh64_gdbarch_init().
Definition at line 695 of file sh64-tdep.c.
References TYPE_LENGTH.
Referenced by sh64_return_value().
|
static |
Definition at line 2350 of file sh64-tdep.c.
|
static |
Definition at line 2311 of file sh64-tdep.c.