GDB (xrefs)
|
#include "defs.h"
#include "arch-utils.h"
#include "dis-asm.h"
#include "dwarf2-frame.h"
#include "floatformat.h"
#include "frame.h"
#include "frame-base.h"
#include "frame-unwind.h"
#include "gdbcore.h"
#include "gdbtypes.h"
#include "inferior.h"
#include "symtab.h"
#include "objfiles.h"
#include "osabi.h"
#include "regcache.h"
#include "target.h"
#include "value.h"
#include "sparc-tdep.h"
#include "sparc-ravenscar-thread.h"
Go to the source code of this file.
Macros | |
#define | floatformats_sparc_quad floatformats_ia64_quad |
#define | BIAS 2047 |
#define | X_OP(i) (((i) >> 30) & 0x3) |
#define | X_RD(i) (((i) >> 25) & 0x1f) |
#define | X_A(i) (((i) >> 29) & 1) |
#define | X_COND(i) (((i) >> 25) & 0xf) |
#define | X_OP2(i) (((i) >> 22) & 0x7) |
#define | X_IMM22(i) ((i) & 0x3fffff) |
#define | X_OP3(i) (((i) >> 19) & 0x3f) |
#define | X_RS1(i) (((i) >> 14) & 0x1f) |
#define | X_RS2(i) ((i) & 0x1f) |
#define | X_I(i) (((i) >> 13) & 1) |
#define | X_DISP22(i) ((X_IMM22 (i) ^ 0x200000) - 0x200000) |
#define | X_DISP19(i) ((((i) & 0x7ffff) ^ 0x40000) - 0x40000) |
#define | X_DISP10(i) ((((((i) >> 11) && 0x300) | (((i) >> 5) & 0xff)) ^ 0x200) - 0x200) |
#define | X_SIMM13(i) ((((i) & 0x1fff) ^ 0x1000) - 0x1000) |
#define | X_RETTURN(i) ((X_OP (i) == 0x2) && (X_OP3 (i) == 0x39)) |
#define | SPARC32_NUM_REGS ARRAY_SIZE (sparc32_register_names) |
#define | SPARC32_NUM_PSEUDO_REGS ARRAY_SIZE (sparc32_pseudo_register_names) |
Variables | |
static const char * | sparc32_register_names [] |
static const char * | sparc32_pseudo_register_names [] |
static const struct frame_unwind | sparc32_frame_unwind |
static const struct frame_base | sparc32_frame_base |
const struct sparc_gregmap | sparc32_sunos4_gregmap |
const struct sparc_fpregmap | sparc32_sunos4_fpregmap |
const struct sparc_fpregmap | sparc32_bsd_fpregmap |
#define BIAS 2047 |
Definition at line 70 of file sparc-tdep.c.
Referenced by sparc64_linux_sigframe_init(), sparc64_linux_step_trap(), sparc64_push_dummy_call(), sparc64_sol2_sigtramp_frame_cache(), sparc64_store_arguments(), sparc64fbsd_sigtramp_frame_cache(), sparc64nbsd_sigcontext_frame_cache(), sparc64nbsd_sigcontext_saved_regs(), sparc64nbsd_supply_pcb(), sparc64obsd_frame_cache(), sparc64obsd_supply_pcb(), sparc64obsd_trapframe_cache(), sparc_analyze_prologue(), sparc_collect_rwindow(), sparc_dummy_id(), sparc_frame_cache(), and sparc_supply_rwindow().
#define floatformats_sparc_quad floatformats_ia64_quad |
Definition at line 64 of file sparc-tdep.c.
Referenced by sparc32_gdbarch_init().
#define SPARC32_NUM_PSEUDO_REGS ARRAY_SIZE (sparc32_pseudo_register_names) |
Definition at line 327 of file sparc-tdep.c.
Referenced by sparc32_gdbarch_init(), and sparc32_register_name().
#define SPARC32_NUM_REGS ARRAY_SIZE (sparc32_register_names) |
Definition at line 315 of file sparc-tdep.c.
Referenced by sparc32_gdbarch_init(), and sparc32_register_name().
#define X_A | ( | i | ) | (((i) >> 29) & 1) |
Definition at line 75 of file sparc-tdep.c.
Referenced by sparc_analyze_control_transfer(), and sparc_is_annulled_branch_insn().
#define X_COND | ( | i | ) | (((i) >> 25) & 0xf) |
Definition at line 76 of file sparc-tdep.c.
Referenced by sparc_analyze_control_transfer(), and sparc_skip_stack_check().
#define X_DISP10 | ( | i | ) | ((((((i) >> 11) && 0x300) | (((i) >> 5) & 0xff)) ^ 0x200) - 0x200) |
Definition at line 86 of file sparc-tdep.c.
Referenced by sparc_analyze_control_transfer().
#define X_DISP19 | ( | i | ) | ((((i) & 0x7ffff) ^ 0x40000) - 0x40000) |
Definition at line 85 of file sparc-tdep.c.
Referenced by sparc_analyze_control_transfer().
#define X_DISP22 | ( | i | ) | ((X_IMM22 (i) ^ 0x200000) - 0x200000) |
Definition at line 84 of file sparc-tdep.c.
Referenced by sparc_analyze_control_transfer().
#define X_I | ( | i | ) | (((i) >> 13) & 1) |
Definition at line 82 of file sparc-tdep.c.
Referenced by sparc32_skip_prologue(), sparc_analyze_prologue(), and sparc_skip_stack_check().
#define X_IMM22 | ( | i | ) | ((i) & 0x3fffff) |
Definition at line 78 of file sparc-tdep.c.
#define X_OP | ( | i | ) | (((i) >> 30) & 0x3) |
Definition at line 73 of file sparc-tdep.c.
Referenced by sparc32_skip_prologue(), sparc_analyze_control_transfer(), sparc_analyze_prologue(), sparc_is_annulled_branch_insn(), and sparc_skip_stack_check().
#define X_OP2 | ( | i | ) | (((i) >> 22) & 0x7) |
Definition at line 77 of file sparc-tdep.c.
Referenced by sparc_analyze_control_transfer(), sparc_analyze_prologue(), sparc_is_annulled_branch_insn(), and sparc_skip_stack_check().
#define X_OP3 | ( | i | ) | (((i) >> 19) & 0x3f) |
Definition at line 79 of file sparc-tdep.c.
Referenced by sparc32_skip_prologue(), sparc_analyze_control_transfer(), sparc_analyze_prologue(), and sparc_skip_stack_check().
#define X_RD | ( | i | ) | (((i) >> 25) & 0x1f) |
Definition at line 74 of file sparc-tdep.c.
Referenced by sparc32_skip_prologue(), sparc_analyze_prologue(), and sparc_skip_stack_check().
#define X_RETTURN | ( | i | ) | ((X_OP (i) == 0x2) && (X_OP3 (i) == 0x39)) |
Definition at line 90 of file sparc-tdep.c.
Referenced by sparc_stack_frame_destroyed_p().
#define X_RS1 | ( | i | ) | (((i) >> 14) & 0x1f) |
Definition at line 80 of file sparc-tdep.c.
Referenced by sparc32_skip_prologue(), sparc_analyze_prologue(), and sparc_skip_stack_check().
#define X_RS2 | ( | i | ) | ((i) & 0x1f) |
Definition at line 81 of file sparc-tdep.c.
Referenced by sparc_analyze_prologue(), and sparc_skip_stack_check().
#define X_SIMM13 | ( | i | ) | ((((i) & 0x1fff) ^ 0x1000) - 0x1000) |
Definition at line 87 of file sparc-tdep.c.
Referenced by sparc32_skip_prologue(), sparc_analyze_prologue(), and sparc_skip_stack_check().
void _initialize_sparc_tdep | ( | void | ) |
Definition at line 2086 of file sparc-tdep.c.
References register_gdbarch_init(), and sparc32_gdbarch_init().
void sparc32_collect_fpregset | ( | const struct sparc_fpregmap * | fpregmap, |
const struct regcache * | regcache, | ||
int | regnum, | ||
void * | fpregs | ||
) |
Definition at line 2034 of file sparc-tdep.c.
References sparc_fpregmap::r_f0_offset, sparc_fpregmap::r_fsr_offset, regcache_raw_collect(), SPARC32_FSR_REGNUM, and SPARC_F0_REGNUM.
Referenced by _initialize_sparc_nat(), fill_fpregset(), sparc32_linux_collect_core_fpregset(), sparc32_sol2_collect_core_fpregset(), and sparc64nbsd_collect_fpregset().
void sparc32_collect_gregset | ( | const struct sparc_gregmap * | gregmap, |
const struct regcache * | regcache, | ||
int | regnum, | ||
void * | gregs | ||
) |
Definition at line 1959 of file sparc-tdep.c.
References offset, sparc_gregmap::r_g1_offset, sparc_gregmap::r_l0_offset, sparc_gregmap::r_npc_offset, sparc_gregmap::r_pc_offset, sparc_gregmap::r_psr_offset, sparc_gregmap::r_y_offset, regcache_raw_collect(), SPARC32_NPC_REGNUM, SPARC32_PC_REGNUM, SPARC32_PSR_REGNUM, SPARC32_Y_REGNUM, SPARC_G1_REGNUM, SPARC_I7_REGNUM, SPARC_L0_REGNUM, and SPARC_O7_REGNUM.
Referenced by _initialize_sparc_nat(), fill_gregset(), sparc32_linux_collect_core_gregset(), sparc32_sol2_collect_core_gregset(), and sparc64nbsd_collect_gregset().
|
static |
Definition at line 1474 of file sparc-tdep.c.
References DWARF2_FRAME_REG_CFA, DWARF2_FRAME_REG_RA_OFFSET, DWARF2_FRAME_REG_SAME_VALUE, dwarf2_frame_state_reg::how, dwarf2_frame_state_reg::loc, dwarf2_frame_state_reg::offset, sparc32_dwarf2_struct_return_p(), SPARC32_NPC_REGNUM, SPARC32_PC_REGNUM, SPARC_G0_REGNUM, and SPARC_SP_REGNUM.
Referenced by sparc32_gdbarch_init().
|
static |
Definition at line 1463 of file sparc-tdep.c.
References find_pc_function(), get_frame_address_in_block(), and sparc32_struct_return_from_sym().
Referenced by sparc32_dwarf2_frame_init_reg().
|
static |
Definition at line 1306 of file sparc-tdep.c.
References gdb_assert, len, regcache_cooked_read(), sparc_complex_floating_p(), SPARC_F0_REGNUM, SPARC_F1_REGNUM, SPARC_F2_REGNUM, SPARC_F3_REGNUM, SPARC_F4_REGNUM, SPARC_F5_REGNUM, SPARC_F6_REGNUM, SPARC_F7_REGNUM, sparc_floating_p(), sparc_integral_or_pointer_p(), SPARC_O0_REGNUM, SPARC_O1_REGNUM, sparc_structure_or_union_p(), and TYPE_LENGTH.
Referenced by sparc32_return_value().
Definition at line 480 of file sparc-tdep.c.
Referenced by sparc32_gdbarch_init().
|
static |
Definition at line 1274 of file sparc-tdep.c.
References sparc_frame_cache::base, and sparc32_frame_cache().
struct sparc_frame_cache* sparc32_frame_cache | ( | struct frame_info * | this_frame, |
void ** | this_cache | ||
) |
Definition at line 1155 of file sparc-tdep.c.
References sparc_frame_cache::copied_regs_mask, find_pc_function(), get_frame_register_unsigned(), sparc_frame_cache::pc, regnum, sparc32_struct_return_from_sym(), sparc_frame_cache(), SPARC_I7_REGNUM, sparc_is_unimp_insn(), SPARC_O7_REGNUM, and sparc_frame_cache::struct_return_p.
Referenced by sparc32_frame_base_address(), sparc32_frame_prev_register(), and sparc32_frame_this_id().
|
static |
Definition at line 1205 of file sparc-tdep.c.
References sparc_frame_cache::base, sparc_frame_cache::copied_regs_mask, frame_unwind_got_constant(), frame_unwind_got_memory(), frame_unwind_got_register(), sparc_frame_cache::frameless_p, get_frame_arch(), get_frame_memory_unsigned(), get_frame_register_unsigned(), sparc_frame_cache::pc, sparc_frame_cache::saved_regs_mask, sparc32_frame_cache(), SPARC32_NPC_REGNUM, SPARC32_PC_REGNUM, sparc_fetch_wcookie(), SPARC_I0_REGNUM, SPARC_I7_REGNUM, SPARC_L0_REGNUM, SPARC_O0_REGNUM, SPARC_O7_REGNUM, and sparc_frame_cache::struct_return_p.
|
static |
Definition at line 1191 of file sparc-tdep.c.
References sparc_frame_cache::base, frame_id_build(), sparc_frame_cache::pc, and sparc32_frame_cache().
|
static |
Definition at line 1664 of file sparc-tdep.c.
References core_addr_lessthan(), dwarf2_frame_set_init_reg(), floatformats_sparc_quad, frame_base_set_default(), frame_unwind_append_unwinder(), gdbarch_list::gdbarch, gdbarch_alloc(), gdbarch_init_osabi(), gdbarch_list_lookup_by_info(), gdbarch_tdep::gregset, gdbarch_tdep::npc_regnum, ON_STACK, gdbarch_tdep::pc_regnum, register_sparc_ravenscar_ops(), set_gdbarch_breakpoint_from_pc(), set_gdbarch_call_dummy_location(), set_gdbarch_dummy_id(), set_gdbarch_fp0_regnum(), set_gdbarch_frame_align(), set_gdbarch_frame_args_skip(), set_gdbarch_inner_than(), set_gdbarch_iterate_over_regset_sections(), set_gdbarch_long_double_bit(), set_gdbarch_long_double_format(), 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_push_dummy_call(), set_gdbarch_push_dummy_code(), set_gdbarch_register_name(), set_gdbarch_register_type(), set_gdbarch_return_value(), set_gdbarch_skip_prologue(), set_gdbarch_software_single_step(), set_gdbarch_sp_regnum(), set_gdbarch_stabs_argument_has_addr(), set_gdbarch_unwind_pc(), set_gdbarch_write_pc(), sparc32_dwarf2_frame_init_reg(), sparc32_frame_align(), SPARC32_NPC_REGNUM, SPARC32_NUM_PSEUDO_REGS, SPARC32_NUM_REGS, SPARC32_PC_REGNUM, sparc32_pseudo_register_read(), sparc32_pseudo_register_write(), sparc32_push_dummy_call(), sparc32_push_dummy_code(), sparc32_register_name(), sparc32_register_type(), sparc32_return_value(), sparc32_skip_prologue(), sparc32_stabs_argument_has_addr(), sparc_breakpoint_from_pc(), sparc_dummy_id(), SPARC_F0_REGNUM, sparc_iterate_over_regset_sections(), sparc_software_single_step(), SPARC_SP_REGNUM, sparc_step_trap(), sparc_unwind_pc(), sparc_write_pc(), and gdbarch_tdep::step_trap.
Referenced by _initialize_sparc_tdep().
|
static |
Definition at line 428 of file sparc-tdep.c.
References gdb_assert, REG_VALID, regcache_raw_read(), SPARC32_D0_REGNUM, SPARC32_D30_REGNUM, SPARC_F0_REGNUM, and status.
Referenced by sparc32_gdbarch_init().
|
static |
Definition at line 444 of file sparc-tdep.c.
References gdb_assert, regcache_raw_write(), SPARC32_D0_REGNUM, SPARC32_D30_REGNUM, and SPARC_F0_REGNUM.
Referenced by sparc32_gdbarch_init().
|
static |
Definition at line 611 of file sparc-tdep.c.
References gdb_assert, regcache_cooked_write_unsigned(), sparc32_store_arguments(), SPARC_O7_REGNUM, and SPARC_SP_REGNUM.
Referenced by sparc32_gdbarch_init().
|
static |
Definition at line 487 of file sparc-tdep.c.
References gdbarch_byte_order(), store_unsigned_integer(), TYPE_LENGTH, using_struct_return(), and write_memory().
Referenced by sparc32_gdbarch_init().
Definition at line 332 of file sparc-tdep.c.
References regnum, SPARC32_NUM_PSEUDO_REGS, SPARC32_NUM_REGS, sparc32_pseudo_register_names, and sparc32_register_names.
Referenced by sparc32_gdbarch_init().
Definition at line 404 of file sparc-tdep.c.
References builtin_type::builtin_data_ptr, builtin_type::builtin_double, builtin_type::builtin_float, builtin_type::builtin_func_ptr, builtin_type::builtin_int32, builtin_type(), SPARC32_D0_REGNUM, SPARC32_D30_REGNUM, SPARC32_FSR_REGNUM, SPARC32_NPC_REGNUM, SPARC32_PC_REGNUM, SPARC32_PSR_REGNUM, SPARC_F0_REGNUM, SPARC_F31_REGNUM, SPARC_FP_REGNUM, sparc_fsr_type(), sparc_psr_type(), and SPARC_SP_REGNUM.
Referenced by sparc32_gdbarch_init().
|
static |
Definition at line 1411 of file sparc-tdep.c.
References frame_info::addr, gdbarch_byte_order(), read_memory(), read_memory_unsigned_integer(), regcache_cooked_read_unsigned(), RETURN_VALUE_ABI_PRESERVES_ADDRESS, RETURN_VALUE_REGISTER_CONVENTION, sparc32_extract_return_value(), sparc32_store_return_value(), sparc_floating_p(), SPARC_SP_REGNUM, sparc_structure_or_union_p(), TYPE_LENGTH, and write_memory().
Referenced by sparc32_gdbarch_init().
Definition at line 1031 of file sparc-tdep.c.
References sparc_frame_cache::copied_regs_mask, symtab_and_line::end, find_pc_line(), find_pc_partial_function(), regnum, sparc_analyze_prologue(), sparc_fetch_instruction(), SPARC_FP_REGNUM, SPARC_I0_REGNUM, SPARC_I5_REGNUM, SPARC_O0_REGNUM, SPARC_O5_REGNUM, X_I, X_OP, X_OP3, X_RD, X_RS1, and X_SIMM13.
Referenced by sparc32_gdbarch_init().
Definition at line 1455 of file sparc-tdep.c.
References sparc_complex_floating_p(), sparc_floating_p(), sparc_structure_or_union_p(), and TYPE_LENGTH.
Referenced by sparc32_gdbarch_init().
|
static |
Definition at line 514 of file sparc-tdep.c.
References gdbarch::byte_order, gdb_assert, gdbarch_byte_order(), get_regcache_arch(), len, lookup_pointer_type(), max, regcache_cooked_write(), regnum, sparc_complex_floating_p(), sparc_floating_p(), sparc_integral_or_pointer_p(), SPARC_O0_REGNUM, sparc_structure_or_union_p(), store_unsigned_integer(), TYPE_LENGTH, value_cast(), value_contents(), value_from_pointer(), value_type(), and write_memory().
Referenced by sparc32_push_dummy_call().
|
static |
Definition at line 1360 of file sparc-tdep.c.
References gdb_assert, len, regcache_cooked_write(), sparc_complex_floating_p(), SPARC_F0_REGNUM, SPARC_F1_REGNUM, SPARC_F2_REGNUM, SPARC_F3_REGNUM, SPARC_F4_REGNUM, SPARC_F5_REGNUM, SPARC_F6_REGNUM, SPARC_F7_REGNUM, sparc_floating_p(), sparc_integral_or_pointer_p(), SPARC_O0_REGNUM, SPARC_O1_REGNUM, sparc_structure_or_union_p(), and TYPE_LENGTH.
Referenced by sparc32_return_value().
Definition at line 1138 of file sparc-tdep.c.
References check_typedef(), code, sparc_floating_p(), sparc_structure_or_union_p(), SYMBOL_TYPE, TYPE_CODE, TYPE_CODE_FUNC, TYPE_CODE_METHOD, TYPE_LENGTH, and TYPE_TARGET_TYPE.
Referenced by sparc32_dwarf2_struct_return_p(), and sparc32_frame_cache().
void sparc32_supply_fpregset | ( | const struct sparc_fpregmap * | fpregmap, |
struct regcache * | regcache, | ||
int | regnum, | ||
const void * | fpregs | ||
) |
Definition at line 2014 of file sparc-tdep.c.
References sparc_fpregmap::r_f0_offset, sparc_fpregmap::r_fsr_offset, regcache_raw_supply(), SPARC32_FSR_REGNUM, and SPARC_F0_REGNUM.
Referenced by _initialize_sparc_nat(), sparc32_linux_supply_core_fpregset(), sparc32_sol2_supply_core_fpregset(), sparc32nbsd_supply_fpregset(), sparc32nbsd_supply_gregset(), sparc64nbsd_supply_fpregset(), and supply_fpregset().
void sparc32_supply_gregset | ( | const struct sparc_gregmap * | gregmap, |
struct regcache * | regcache, | ||
int | regnum, | ||
const void * | gregs | ||
) |
Definition at line 1894 of file sparc-tdep.c.
References offset, sparc_gregmap::r_g1_offset, sparc_gregmap::r_l0_offset, sparc_gregmap::r_npc_offset, sparc_gregmap::r_pc_offset, sparc_gregmap::r_psr_offset, sparc_gregmap::r_y_offset, regcache_cooked_read_unsigned(), regcache_raw_supply(), SPARC32_NPC_REGNUM, SPARC32_PC_REGNUM, SPARC32_PSR_REGNUM, SPARC32_Y_REGNUM, SPARC_G0_REGNUM, SPARC_G1_REGNUM, SPARC_I7_REGNUM, SPARC_L0_REGNUM, SPARC_O7_REGNUM, SPARC_SP_REGNUM, and sparc_supply_rwindow().
Referenced by _initialize_sparc_nat(), sparc32_linux_supply_core_gregset(), sparc32_sol2_supply_core_gregset(), sparc32nbsd_supply_gregset(), sparc64nbsd_supply_gregset(), and supply_gregset().
|
static |
Definition at line 657 of file sparc-tdep.c.
References sparc_frame_cache::base, sparc_frame_cache::copied_regs_mask, FRAME_OBSTACK_ZALLOC, sparc_frame_cache::frame_offset, sparc_frame_cache::frameless_p, sparc_frame_cache::pc, sparc_frame_cache::saved_regs_mask, and sparc_frame_cache::struct_return_p.
Referenced by sparc_frame_cache().
|
static |
Definition at line 1510 of file sparc-tdep.c.
References gdb_assert, gdbarch_tdep(), get_frame_arch(), offset, sparc_fetch_instruction(), gdbarch_tdep::step_trap, X_A, X_COND, X_DISP10, X_DISP19, X_DISP22, X_OP, X_OP2, and X_OP3.
Referenced by sparc_software_single_step().
CORE_ADDR sparc_analyze_prologue | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | pc, | ||
CORE_ADDR | current_pc, | ||
struct sparc_frame_cache * | cache | ||
) |
Definition at line 889 of file sparc-tdep.c.
References BIAS, sparc_frame_cache::copied_regs_mask, sparc_frame_cache::frame_offset, sparc_frame_cache::frameless_p, gdbarch_tdep(), in_plt_section(), offset, gdbarch_tdep::pc, gdbarch_tdep::plt_entry_size, regnum, sparc_frame_cache::saved_regs_mask, sparc_fetch_instruction(), SPARC_FP_REGNUM, SPARC_G0_REGNUM, SPARC_I7_REGNUM, SPARC_L0_REGNUM, SPARC_O7_REGNUM, sparc_record_save_insn(), sparc_skip_stack_check(), SPARC_SP_REGNUM, X_I, X_OP, X_OP2, X_OP3, X_RD, X_RS1, X_RS2, and X_SIMM13.
Referenced by sparc32_skip_prologue(), sparc64_skip_prologue(), and sparc_frame_cache().
|
static |
Definition at line 645 of file sparc-tdep.c.
Referenced by sparc32_gdbarch_init().
Definition at line 1823 of file sparc-tdep.c.
References BIAS, gdbarch::byte_order, extract_unsigned_integer(), gdbarch_byte_order(), gdbarch_ptr_bit(), get_regcache_arch(), offset, regcache_raw_collect(), sparc_fetch_wcookie(), SPARC_I7_REGNUM, SPARC_L0_REGNUM, SPARC_SP_REGNUM, store_unsigned_integer(), and target_write_memory().
Referenced by sparc32obsd_collect_uthread(), sparc64obsd_collect_uthread(), and sparc_store_inferior_registers().
Definition at line 259 of file sparc-tdep.c.
References len, TYPE_CODE, TYPE_CODE_COMPLEX, and TYPE_LENGTH.
Referenced by sparc32_extract_return_value(), sparc32_stabs_argument_has_addr(), sparc32_store_arguments(), and sparc32_store_return_value().
|
static |
Definition at line 1291 of file sparc-tdep.c.
References BIAS, frame_id_build(), get_frame_pc(), get_frame_register_unsigned(), and SPARC_SP_REGNUM.
Referenced by sparc32_gdbarch_init().
unsigned long sparc_fetch_instruction | ( | CORE_ADDR | pc | ) |
Definition at line 96 of file sparc-tdep.c.
References target_read_memory().
Referenced by sparc32_skip_prologue(), sparc32obsd_pc_in_sigtramp(), sparc64obsd_pc_in_sigtramp(), sparc_analyze_control_transfer(), sparc_analyze_prologue(), sparc_is_annulled_branch_insn(), sparc_is_unimp_insn(), sparc_skip_stack_check(), and sparc_stack_frame_destroyed_p().
Definition at line 187 of file sparc-tdep.c.
References current_target, extract_unsigned_integer(), gdb_assert, gdbarch_byte_order(), len, TARGET_OBJECT_WCOOKIE, and target_read().
Referenced by sparc32_frame_prev_register(), sparc32nbsd_sigcontext_saved_regs(), sparc64_frame_prev_register(), sparc64nbsd_sigcontext_saved_regs(), sparc_collect_rwindow(), and sparc_supply_rwindow().
Definition at line 240 of file sparc-tdep.c.
References len, TYPE_CODE, TYPE_CODE_FLT, and TYPE_LENGTH.
Referenced by sparc32_extract_return_value(), sparc32_return_value(), sparc32_stabs_argument_has_addr(), sparc32_store_arguments(), sparc32_store_return_value(), and sparc32_struct_return_from_sym().
struct sparc_frame_cache* sparc_frame_cache | ( | struct frame_info * | this_frame, |
void ** | this_cache | ||
) |
Definition at line 1098 of file sparc-tdep.c.
References sparc_frame_cache::base, BIAS, sparc_frame_cache::frame_offset, sparc_frame_cache::frameless_p, get_frame_arch(), get_frame_func(), get_frame_pc(), get_frame_register_unsigned(), sparc_frame_cache::pc, sparc_alloc_frame_cache(), sparc_analyze_prologue(), SPARC_FP_REGNUM, and SPARC_SP_REGNUM.
Referenced by sparc32_frame_cache(), sparc32_sol2_sigtramp_frame_cache(), sparc32nbsd_sigcontext_frame_cache(), sparc32obsd_sigtramp_frame_cache(), sparc64_frame_cache(), sparc64_sol2_sigtramp_frame_cache(), sparc64fbsd_sigtramp_frame_cache(), sparc64nbsd_sigcontext_frame_cache(), sparc64obsd_frame_cache(), and sparc64obsd_trapframe_cache().
Definition at line 368 of file sparc-tdep.c.
References append_flags_type_flag(), arch_flags_type(), gdbarch_tdep(), gdbarch_tdep::sparc_fsr_type, and type.
Referenced by sparc32_register_type().
Definition at line 211 of file sparc-tdep.c.
References len, TYPE_CODE, TYPE_CODE_BOOL, TYPE_CODE_CHAR, TYPE_CODE_ENUM, TYPE_CODE_INT, TYPE_CODE_PTR, TYPE_CODE_RANGE, TYPE_CODE_REF, and TYPE_LENGTH.
Referenced by sparc32_extract_return_value(), sparc32_store_arguments(), and sparc32_store_return_value().
Definition at line 128 of file sparc-tdep.c.
References sparc_fetch_instruction(), X_A, X_OP, and X_OP2.
Referenced by sparc64_linux_get_longjmp_target().
Definition at line 117 of file sparc-tdep.c.
References sparc_fetch_instruction().
Referenced by sparc32_frame_cache().
|
static |
Definition at line 1651 of file sparc-tdep.c.
References gdbarch_tdep::fpregset, gdbarch_tdep(), gdbarch_tdep::gregset, gdbarch_tdep::sizeof_fpregset, and gdbarch_tdep::sizeof_gregset.
Referenced by sparc32_gdbarch_init().
Definition at line 346 of file sparc-tdep.c.
References append_flags_type_flag(), arch_flags_type(), gdbarch_tdep(), gdbarch_tdep::sparc_psr_type, and type.
Referenced by sparc32_register_type().
void sparc_record_save_insn | ( | struct sparc_frame_cache * | cache | ) |
Definition at line 866 of file sparc-tdep.c.
References sparc_frame_cache::copied_regs_mask, sparc_frame_cache::frame_offset, sparc_frame_cache::frameless_p, and sparc_frame_cache::saved_regs_mask.
Referenced by sparc32nbsd_sigcontext_frame_cache(), sparc32obsd_sigtramp_frame_cache(), sparc64nbsd_sigcontext_frame_cache(), sparc64obsd_frame_cache(), and sparc_analyze_prologue().
Definition at line 683 of file sparc-tdep.c.
References sparc_frame_cache::pc, sparc_fetch_instruction(), X_COND, X_I, X_OP, X_OP2, X_OP3, X_RD, X_RS1, X_RS2, and X_SIMM13.
Referenced by sparc_analyze_prologue().
int sparc_software_single_step | ( | struct frame_info * | frame | ) |
Definition at line 1609 of file sparc-tdep.c.
References gdb_assert, gdbarch_tdep(), get_frame_address_space(), get_frame_arch(), get_frame_register_unsigned(), insert_single_step_breakpoint(), gdbarch_tdep::npc_regnum, gdbarch_tdep::pc_regnum, and sparc_analyze_control_transfer().
Referenced by sparc32_gdbarch_init().
Definition at line 458 of file sparc-tdep.c.
References sparc_fetch_instruction(), and X_RETTURN.
Referenced by sparc64_init_abi().
|
static |
Definition at line 1603 of file sparc-tdep.c.
Referenced by sparc32_gdbarch_init().
Definition at line 282 of file sparc-tdep.c.
References TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_STRUCT, and TYPE_CODE_UNION.
Referenced by sparc32_extract_return_value(), sparc32_return_value(), sparc32_stabs_argument_has_addr(), sparc32_store_arguments(), sparc32_store_return_value(), and sparc32_struct_return_from_sym().
Definition at line 1750 of file sparc-tdep.c.
References BIAS, gdbarch::byte_order, extract_unsigned_integer(), gdbarch_byte_order(), gdbarch_ptr_bit(), get_regcache_arch(), offset, regcache_raw_supply(), sparc_fetch_wcookie(), SPARC_I7_REGNUM, SPARC_L0_REGNUM, store_unsigned_integer(), and target_read_memory().
Referenced by sparc32_supply_gregset(), sparc32nbsd_supply_pcb(), sparc32obsd_supply_uthread(), sparc64_supply_gregset(), sparc64fbsd_kvm_supply_pcb(), sparc64nbsd_supply_pcb(), sparc64obsd_supply_pcb(), and sparc64obsd_supply_uthread().
|
static |
Definition at line 1021 of file sparc-tdep.c.
References frame_unwind_register_unsigned(), gdbarch_tdep(), and gdbarch_tdep::pc_regnum.
Referenced by sparc32_gdbarch_init().
Definition at line 1639 of file sparc-tdep.c.
References gdbarch_tdep(), get_regcache_arch(), gdbarch_tdep::npc_regnum, gdbarch_tdep::pc_regnum, and regcache_cooked_write_unsigned().
Referenced by sparc32_gdbarch_init().
const struct sparc_fpregmap sparc32_bsd_fpregmap |
Definition at line 2075 of file sparc-tdep.c.
Referenced by _initialize_sparc_linux_nat(), _initialize_sparcnbsd_nat(), sparc32_linux_collect_core_fpregset(), sparc32_linux_supply_core_fpregset(), sparc32nbsd_supply_fpregset(), sparc32nbsd_supply_gregset(), sparc64nbsd_collect_fpregset(), and sparc64nbsd_supply_fpregset().
|
static |
Definition at line 1282 of file sparc-tdep.c.
|
static |
Definition at line 1262 of file sparc-tdep.c.
|
static |
Definition at line 320 of file sparc-tdep.c.
Referenced by sparc32_register_name().
|
static |
Definition at line 299 of file sparc-tdep.c.
Referenced by sparc32_register_name().
const struct sparc_fpregmap sparc32_sunos4_fpregmap |
Definition at line 2069 of file sparc-tdep.c.
Referenced by _initialize_sparc_nat().
const struct sparc_gregmap sparc32_sunos4_gregmap |
Definition at line 2057 of file sparc-tdep.c.
Referenced by _initialize_sparc_nat().