| 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 "gdb_assert.h"#include "gdb_string.h"#include "sparc-tdep.h"#include "sparc-ravenscar-thread.h"Go to the source code of this file.
| #define BIAS 2047 | 
Definition at line 73 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_trapframe_cache(), sparc_analyze_prologue(), sparc_collect_rwindow(), sparc_dummy_id(), sparc_frame_cache(), and sparc_supply_rwindow().
Definition at line 67 of file sparc-tdep.c.
Referenced by sparc32_gdbarch_init().
| #define SPARC32_NUM_PSEUDO_REGS ARRAY_SIZE (sparc32_pseudo_register_names) | 
Definition at line 296 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 284 of file sparc-tdep.c.
Referenced by sparc32_gdbarch_init(), and sparc32_register_name().
| #define X_A | ( | i | ) | (((i) >> 29) & 1) | 
Definition at line 78 of file sparc-tdep.c.
Referenced by sparc_analyze_control_transfer().
| #define X_COND | ( | i | ) | (((i) >> 25) & 0xf) | 
Definition at line 79 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 89 of file sparc-tdep.c.
Referenced by sparc_analyze_control_transfer().
| #define X_DISP19 | ( | i | ) | ((((i) & 0x7ffff) ^ 0x40000) - 0x40000) | 
Definition at line 88 of file sparc-tdep.c.
Referenced by sparc_analyze_control_transfer().
Definition at line 87 of file sparc-tdep.c.
Referenced by sparc_analyze_control_transfer().
| #define X_I | ( | i | ) | (((i) >> 13) & 1) | 
Definition at line 85 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 81 of file sparc-tdep.c.
| #define X_OP | ( | i | ) | (((i) >> 30) & 0x3) | 
Definition at line 76 of file sparc-tdep.c.
Referenced by sparc32_skip_prologue(), sparc_analyze_control_transfer(), sparc_analyze_prologue(), and sparc_skip_stack_check().
| #define X_OP2 | ( | i | ) | (((i) >> 22) & 0x7) | 
Definition at line 80 of file sparc-tdep.c.
Referenced by sparc_analyze_control_transfer(), sparc_analyze_prologue(), and sparc_skip_stack_check().
| #define X_OP3 | ( | i | ) | (((i) >> 19) & 0x3f) | 
Definition at line 82 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 77 of file sparc-tdep.c.
Referenced by sparc32_skip_prologue(), sparc_analyze_prologue(), and sparc_skip_stack_check().
| #define X_RS1 | ( | i | ) | (((i) >> 14) & 0x1f) | 
Definition at line 83 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 84 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 90 of file sparc-tdep.c.
Referenced by sparc32_skip_prologue(), sparc_analyze_prologue(), and sparc_skip_stack_check().
| void _initialize_sparc_tdep | ( | void | ) | 
| void sparc32_collect_fpregset | ( | const struct sparc_fpregset * | fpregset, | 
| const struct regcache * | regcache, | ||
| int | regnum, | ||
| void * | fpregs | ||
| ) | 
Definition at line 1985 of file sparc-tdep.c.
References sparc_fpregset::r_f0_offset, sparc_fpregset::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(), and sparc64nbsd_collect_fpregset().
| void sparc32_collect_gregset | ( | const struct sparc_gregset * | gregset, | 
| const struct regcache * | regcache, | ||
| int | regnum, | ||
| void * | gregs | ||
| ) | 
Definition at line 1910 of file sparc-tdep.c.
References offset, sparc_gregset::r_g1_offset, sparc_gregset::r_l0_offset, sparc_gregset::r_npc_offset, sparc_gregset::r_pc_offset, sparc_gregset::r_psr_offset, sparc_gregset::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(), and sparc64nbsd_collect_gregset().
| static void sparc32_dwarf2_frame_init_reg | ( | struct gdbarch * | gdbarch, | 
| int | regnum, | ||
| struct dwarf2_frame_state_reg * | reg, | ||
| struct frame_info * | this_frame | ||
| ) |  [static] | 
Definition at line 1420 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 int sparc32_dwarf2_struct_return_p | ( | struct frame_info * | this_frame | ) |  [static] | 
Definition at line 1409 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 void sparc32_extract_return_value | ( | struct type * | type, | 
| struct regcache * | regcache, | ||
| gdb_byte * | valbuf | ||
| ) |  [static] | 
Definition at line 1252 of file sparc-tdep.c.
References gdb_assert, len, memcpy(), 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().
| static CORE_ADDR sparc32_frame_align | ( | struct gdbarch * | gdbarch, | 
| CORE_ADDR | address | ||
| ) |  [static] | 
Definition at line 426 of file sparc-tdep.c.
Referenced by sparc32_gdbarch_init().
| static CORE_ADDR sparc32_frame_base_address | ( | struct frame_info * | this_frame, | 
| void ** | this_cache | ||
| ) |  [static] | 
Definition at line 1220 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 | ||
| ) |  [read] | 
Definition at line 1101 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 struct value* sparc32_frame_prev_register | ( | struct frame_info * | this_frame, | 
| void ** | this_cache, | ||
| int | regnum | ||
| ) |  [static, read] | 
Definition at line 1151 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, sparc_frame_cache::struct_return_p, and ULONGEST.
| static void sparc32_frame_this_id | ( | struct frame_info * | this_frame, | 
| void ** | this_cache, | ||
| struct frame_id * | this_id | ||
| ) |  [static] | 
Definition at line 1137 of file sparc-tdep.c.
References sparc_frame_cache::base, frame_id_build(), sparc_frame_cache::pc, and sparc32_frame_cache().
| static struct gdbarch* sparc32_gdbarch_init | ( | struct gdbarch_info | info, | 
| struct gdbarch_list * | arches | ||
| ) |  [static, read] | 
Definition at line 1615 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_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_regset_from_core_section(), 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_regset_from_core_section(), sparc_software_single_step(), SPARC_SP_REGNUM, sparc_step_trap(), sparc_unwind_pc(), sparc_write_pc(), gdbarch_tdep::step_trap, and XZALLOC.
| static enum register_status sparc32_pseudo_register_read | ( | struct gdbarch * | gdbarch, | 
| struct regcache * | regcache, | ||
| int | regnum, | ||
| gdb_byte * | buf | ||
| ) |  [static] | 
Definition at line 397 of file sparc-tdep.c.
References gdb_assert, REG_VALID, regcache_raw_read(), SPARC32_D0_REGNUM, SPARC32_D30_REGNUM, SPARC_F0_REGNUM, and exsummary::status.
Referenced by sparc32_gdbarch_init().
| static void sparc32_pseudo_register_write | ( | struct gdbarch * | gdbarch, | 
| struct regcache * | regcache, | ||
| int | regnum, | ||
| const gdb_byte * | buf | ||
| ) |  [static] | 
Definition at line 413 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 CORE_ADDR sparc32_push_dummy_call | ( | struct gdbarch * | gdbarch, | 
| struct value * | function, | ||
| struct regcache * | regcache, | ||
| CORE_ADDR | bp_addr, | ||
| int | nargs, | ||
| struct value ** | args, | ||
| CORE_ADDR | sp, | ||
| int | struct_return, | ||
| CORE_ADDR | struct_addr | ||
| ) |  [static] | 
Definition at line 557 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 CORE_ADDR sparc32_push_dummy_code | ( | struct gdbarch * | gdbarch, | 
| CORE_ADDR | sp, | ||
| CORE_ADDR | funcaddr, | ||
| struct value ** | args, | ||
| int | nargs, | ||
| struct type * | value_type, | ||
| CORE_ADDR * | real_pc, | ||
| CORE_ADDR * | bp_addr, | ||
| struct regcache * | regcache | ||
| ) |  [static] | 
Definition at line 433 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().
| static const char* sparc32_register_name | ( | struct gdbarch * | gdbarch, | 
| int | regnum | ||
| ) |  [static] | 
Definition at line 301 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().
| static struct type* sparc32_register_type | ( | struct gdbarch * | gdbarch, | 
| int | regnum | ||
| ) |  [static, read] | 
Definition at line 373 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 enum return_value_convention sparc32_return_value | ( | struct gdbarch * | gdbarch, | 
| struct value * | function, | ||
| struct type * | type, | ||
| struct regcache * | regcache, | ||
| gdb_byte * | readbuf, | ||
| const gdb_byte * | writebuf | ||
| ) |  [static] | 
Definition at line 1357 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, sp, sparc32_extract_return_value(), sparc32_store_return_value(), sparc_floating_p(), SPARC_SP_REGNUM, sparc_structure_or_union_p(), TYPE_LENGTH, ULONGEST, and write_memory().
Referenced by sparc32_gdbarch_init().
| static CORE_ADDR sparc32_skip_prologue | ( | struct gdbarch * | gdbarch, | 
| CORE_ADDR | start_pc | ||
| ) |  [static] | 
Definition at line 977 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().
| static int sparc32_stabs_argument_has_addr | ( | struct gdbarch * | gdbarch, | 
| struct type * | type | ||
| ) |  [static] | 
Definition at line 1401 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 CORE_ADDR sparc32_store_arguments | ( | struct regcache * | regcache, | 
| int | nargs, | ||
| struct value ** | args, | ||
| CORE_ADDR | sp, | ||
| int | struct_return, | ||
| CORE_ADDR | struct_addr | ||
| ) |  [static] | 
Definition at line 460 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 void sparc32_store_return_value | ( | struct type * | type, | 
| struct regcache * | regcache, | ||
| const gdb_byte * | valbuf | ||
| ) |  [static] | 
Definition at line 1306 of file sparc-tdep.c.
References gdb_assert, len, memcpy(), 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().
| static int sparc32_struct_return_from_sym | ( | struct symbol * | sym | ) |  [static] | 
Definition at line 1084 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_fpregset * | fpregset, | 
| struct regcache * | regcache, | ||
| int | regnum, | ||
| const void * | fpregs | ||
| ) | 
Definition at line 1965 of file sparc-tdep.c.
References sparc_fpregset::r_f0_offset, sparc_fpregset::r_fsr_offset, regcache_raw_supply(), SPARC32_FSR_REGNUM, and SPARC_F0_REGNUM.
Referenced by _initialize_sparc_nat(), sparc32_linux_supply_core_fpregset(), sparc32nbsd_supply_fpregset(), sparc32nbsd_supply_gregset(), sparc64nbsd_supply_fpregset(), and supply_fpregset().
| void sparc32_supply_gregset | ( | const struct sparc_gregset * | gregset, | 
| struct regcache * | regcache, | ||
| int | regnum, | ||
| const void * | gregs | ||
| ) | 
Definition at line 1845 of file sparc-tdep.c.
References offset, sparc_gregset::r_g1_offset, sparc_gregset::r_l0_offset, sparc_gregset::r_npc_offset, sparc_gregset::r_pc_offset, sparc_gregset::r_psr_offset, sparc_gregset::r_y_offset, regcache_cooked_read_unsigned(), regcache_raw_supply(), sp, 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, sparc_supply_rwindow(), and ULONGEST.
Referenced by _initialize_sparc_nat(), sparc32_linux_supply_core_gregset(), sparc32nbsd_supply_gregset(), sparc64nbsd_supply_gregset(), and supply_gregset().
| static struct sparc_frame_cache* sparc_alloc_frame_cache | ( | void | ) |  [static, read] | 
Definition at line 603 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 CORE_ADDR sparc_analyze_control_transfer | ( | struct frame_info * | frame, | 
| CORE_ADDR | pc, | ||
| CORE_ADDR * | npc | ||
| ) |  [static] | 
Definition at line 1456 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 835 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 const gdb_byte* sparc_breakpoint_from_pc | ( | struct gdbarch * | gdbarch, | 
| CORE_ADDR * | pc, | ||
| int * | len | ||
| ) |  [static] | 
Definition at line 591 of file sparc-tdep.c.
Referenced by sparc32_gdbarch_init().
| void sparc_collect_rwindow | ( | const struct regcache * | regcache, | 
| CORE_ADDR | sp, | ||
| int | regnum | ||
| ) | 
Definition at line 1774 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(), target_write_memory(), and ULONGEST.
Referenced by sparc32obsd_collect_uthread(), sparc64obsd_collect_uthread(), and sparc_store_inferior_registers().
| static int sparc_complex_floating_p | ( | const struct type * | type | ) |  [static] | 
Definition at line 228 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 struct frame_id sparc_dummy_id | ( | struct gdbarch * | gdbarch, | 
| struct frame_info * | this_frame | ||
| ) |  [static, read] | 
Definition at line 1237 of file sparc-tdep.c.
References BIAS, frame_id_build(), get_frame_pc(), get_frame_register_unsigned(), sp, 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_unimp_insn(), and sparc_skip_stack_check().
| ULONGEST sparc_fetch_wcookie | ( | struct gdbarch * | gdbarch | ) | 
Definition at line 156 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().
| static int sparc_floating_p | ( | const struct type * | type | ) |  [static] | 
Definition at line 209 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 | ||
| ) |  [read] | 
Definition at line 1044 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().
| static struct type* sparc_fsr_type | ( | struct gdbarch * | gdbarch | ) |  [static, read] | 
Definition at line 337 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().
| static int sparc_integral_or_pointer_p | ( | const struct type * | type | ) |  [static] | 
Definition at line 180 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().
| static int sparc_is_unimp_insn | ( | CORE_ADDR | pc | ) |  [static] | 
Definition at line 117 of file sparc-tdep.c.
References sparc_fetch_instruction().
Referenced by sparc32_frame_cache().
| static struct type* sparc_psr_type | ( | struct gdbarch * | gdbarch | ) |  [static, read] | 
Definition at line 315 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 812 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().
| static struct regset* sparc_regset_from_core_section | ( | struct gdbarch * | gdbarch, | 
| const char * | sect_name, | ||
| size_t | sect_size | ||
| ) |  [static, read] | 
Definition at line 1599 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().
| static CORE_ADDR sparc_skip_stack_check | ( | const CORE_ADDR | start_pc | ) |  [static] | 
Definition at line 629 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 1556 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().
| static CORE_ADDR sparc_step_trap | ( | struct frame_info * | frame, | 
| unsigned long | insn | ||
| ) |  [static] | 
Definition at line 1550 of file sparc-tdep.c.
Referenced by sparc32_gdbarch_init().
| static int sparc_structure_or_union_p | ( | const struct type * | type | ) |  [static] | 
Definition at line 251 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().
| void sparc_supply_rwindow | ( | struct regcache * | regcache, | 
| CORE_ADDR | sp, | ||
| int | regnum | ||
| ) | 
Definition at line 1701 of file sparc-tdep.c.
References BIAS, gdbarch::byte_order, extract_unsigned_integer(), gdbarch_byte_order(), gdbarch_ptr_bit(), get_regcache_arch(), memset(), offset, regcache_raw_supply(), sparc_fetch_wcookie(), SPARC_I7_REGNUM, SPARC_L0_REGNUM, store_unsigned_integer(), target_read_memory(), and ULONGEST.
Referenced by sparc32_supply_gregset(), sparc32nbsd_supply_pcb(), sparc32obsd_supply_uthread(), sparc64_supply_gregset(), sparc64fbsd_kvm_supply_pcb(), sparc64nbsd_supply_pcb(), and sparc64obsd_supply_uthread().
| static CORE_ADDR sparc_unwind_pc | ( | struct gdbarch * | gdbarch, | 
| struct frame_info * | this_frame | ||
| ) |  [static] | 
Definition at line 967 of file sparc-tdep.c.
References frame_unwind_register_unsigned(), gdbarch_tdep(), and gdbarch_tdep::pc_regnum.
Referenced by sparc32_gdbarch_init().
| static void sparc_write_pc | ( | struct regcache * | regcache, | 
| CORE_ADDR | pc | ||
| ) |  [static] | 
Definition at line 1586 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().
{
  0 * 4,                        
  32 * 4,                       
}
Definition at line 2026 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().
| struct frame_base sparc32_frame_base  [static] | 
{
  &sparc32_frame_unwind,
  sparc32_frame_base_address,
  sparc32_frame_base_address,
  sparc32_frame_base_address
}
Definition at line 1228 of file sparc-tdep.c.
| struct frame_unwind sparc32_frame_unwind  [static] | 
{
  NORMAL_FRAME,
  default_frame_unwind_stop_reason,
  sparc32_frame_this_id,
  sparc32_frame_prev_register,
  NULL,
  default_frame_sniffer
}
Definition at line 1208 of file sparc-tdep.c.
| const char* sparc32_pseudo_register_names[]  [static] | 
{
  "d0", "d2", "d4", "d6", "d8", "d10", "d12", "d14",
  "d16", "d18", "d20", "d22", "d24", "d26", "d28", "d30"
}
Definition at line 289 of file sparc-tdep.c.
Referenced by sparc32_register_name().
| const char* sparc32_register_names[]  [static] | 
{
  "g0", "g1", "g2", "g3", "g4", "g5", "g6", "g7",
  "o0", "o1", "o2", "o3", "o4", "o5", "sp", "o7",
  "l0", "l1", "l2", "l3", "l4", "l5", "l6", "l7",
  "i0", "i1", "i2", "i3", "i4", "i5", "fp", "i7",
  "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
  "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",
  "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",
  "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",
  "y", "psr", "wim", "tbr", "pc", "npc", "fsr", "csr"
}
Definition at line 268 of file sparc-tdep.c.
Referenced by sparc32_register_name().
{
  0 * 4,                        
  33 * 4,                       
}
Definition at line 2020 of file sparc-tdep.c.
Referenced by _initialize_sparc_nat().
{
  0 * 4,                        
  1 * 4,                        
  2 * 4,                        
  3 * 4,                        
  -1,                           
  -1,                           
  4 * 4,                        
  -1                            
}
Definition at line 2008 of file sparc-tdep.c.
Referenced by _initialize_sparc_nat().
 1.7.6.1
 1.7.6.1