GDB (xrefs)
|
#include "defs.h"
#include "frame.h"
#include "frame-unwind.h"
#include "frame-base.h"
#include "trad-frame.h"
#include "dwarf2-frame.h"
#include "symtab.h"
#include "inferior.h"
#include "gdbtypes.h"
#include "gdbcore.h"
#include "gdbcmd.h"
#include "target.h"
#include "dis-asm.h"
#include "regcache.h"
#include "value.h"
#include "symfile.h"
#include "arch-utils.h"
#include "floatformat.h"
#include "glibc-tdep.h"
#include "infcall.h"
#include "regset.h"
#include "tramp-frame.h"
#include "linux-tdep.h"
#include "solib.h"
#include "objfiles.h"
#include "osabi.h"
#include "tic6x-tdep.h"
#include "language.h"
#include "target-descriptions.h"
#include "features/tic6x-c64xp.c"
#include "features/tic6x-c64x.c"
#include "features/tic6x-c62x.c"
Go to the source code of this file.
Classes | |
struct | tic6x_unwind_cache |
Macros | |
#define | TIC6X_OPCODE_SIZE 4 |
#define | TIC6X_FETCH_PACKET_SIZE 32 |
#define | INST_S_BIT(INST) ((INST >> 1) & 1) |
#define | INST_X_BIT(INST) ((INST >> 12) & 1) |
Variables | |
const gdb_byte | tic6x_bkpt_illegal_opcode_be [] = { 0x56, 0x45, 0x43, 0x14 } |
const gdb_byte | tic6x_bkpt_illegal_opcode_le [] = { 0x14, 0x43, 0x45, 0x56 } |
static const char *const | tic6x_register_names [] |
static const int | arg_regs [] = { 4, 20, 6, 22, 8, 24, 10, 26, 12, 28 } |
static const struct frame_unwind | tic6x_frame_unwind |
static const struct frame_base | tic6x_frame_base |
static const struct frame_unwind | tic6x_stub_unwind |
initialize_file_ftype | _initialize_tic6x_tdep |
#define INST_S_BIT | ( | INST | ) | ((INST >> 1) & 1) |
Definition at line 59 of file tic6x-tdep.c.
Referenced by tic6x_analyze_prologue(), tic6x_get_next_pc(), and tic6x_stack_frame_destroyed_p().
#define INST_X_BIT | ( | INST | ) | ((INST >> 12) & 1) |
Definition at line 60 of file tic6x-tdep.c.
Referenced by tic6x_get_next_pc(), and tic6x_stack_frame_destroyed_p().
#define TIC6X_FETCH_PACKET_SIZE 32 |
Definition at line 57 of file tic6x-tdep.c.
Referenced by tic6x_get_next_pc().
#define TIC6X_OPCODE_SIZE 4 |
Definition at line 56 of file tic6x-tdep.c.
Referenced by tic6x_fetch_instruction(), and tic6x_get_next_pc().
void _initialize_tic6x_tdep | ( | void | ) |
Definition at line 1349 of file tic6x-tdep.c.
References initialize_tdesc_tic6x_c62x(), initialize_tdesc_tic6x_c64x(), initialize_tdesc_tic6x_c64xp(), register_gdbarch_init(), and tic6x_gdbarch_init().
|
static |
Definition at line 149 of file tic6x-tdep.c.
References tic6x_unwind_cache::base, tic6x_unwind_cache::cfa, gdb_assert_not_reached, gdbarch_byte_order(), get_frame_register_unsigned(), INST_S_BIT, offset, tic6x_unwind_cache::reg_saved, TIC6X_DP_REGNUM, tic6x_fetch_instruction(), TIC6X_FP_REGNUM, TIC6X_NUM_CORE_REGS, tic6x_register_number(), and TIC6X_SP_REGNUM.
Referenced by tic6x_frame_unwind_cache(), and tic6x_skip_prologue().
Definition at line 842 of file tic6x-tdep.c.
References _, check_typedef(), gdb_assert_not_reached, internal_error(), len, TYPE_CODE, TYPE_CODE_COMPLEX, TYPE_CODE_STRUCT, TYPE_CODE_UNION, and TYPE_LENGTH.
Referenced by tic6x_push_dummy_call().
|
static |
Definition at line 326 of file tic6x-tdep.c.
References gdbarch_tdep::breakpoint, gdbarch_byte_order_for_code(), gdbarch_tdep(), tic6x_bkpt_illegal_opcode_be, and tic6x_bkpt_illegal_opcode_le.
Referenced by tic6x_gdbarch_init().
|
static |
Definition at line 561 of file tic6x-tdep.c.
References get_frame_register_signed().
Referenced by tic6x_get_next_pc().
|
static |
Definition at line 832 of file tic6x-tdep.c.
References frame_id_build(), get_frame_pc(), get_frame_register_unsigned(), and TIC6X_SP_REGNUM.
Referenced by tic6x_gdbarch_init().
|
static |
Definition at line 353 of file tic6x-tdep.c.
References DWARF2_FRAME_REG_CFA, DWARF2_FRAME_REG_RA, DWARF2_FRAME_REG_SAME_VALUE, DWARF2_FRAME_REG_UNDEFINED, gdbarch_pc_regnum(), gdbarch_sp_regnum(), and dwarf2_frame_state_reg::how.
Referenced by tic6x_gdbarch_init().
|
static |
Definition at line 721 of file tic6x-tdep.c.
References len, regcache_cooked_read(), regcache_cooked_read_part(), TIC6X_A4_REGNUM, TIC6X_A5_REGNUM, and TYPE_LENGTH.
Referenced by tic6x_return_value().
Definition at line 551 of file tic6x-tdep.c.
References gdbarch_byte_order(), read_memory_unsigned_integer(), and TIC6X_OPCODE_SIZE.
Referenced by tic6x_analyze_prologue(), tic6x_get_next_pc(), and tic6x_stack_frame_destroyed_p().
Definition at line 712 of file tic6x-tdep.c.
References align_down().
Referenced by tic6x_gdbarch_init().
|
static |
Definition at line 469 of file tic6x-tdep.c.
References tic6x_unwind_cache::base, and tic6x_frame_unwind_cache().
|
static |
Definition at line 442 of file tic6x-tdep.c.
References tic6x_unwind_cache::cfa, frame_unwind_got_constant(), frame_unwind_got_memory(), frame_unwind_got_register(), gdb_assert, tic6x_unwind_cache::reg_saved, tic6x_unwind_cache::return_regnum, tic6x_frame_unwind_cache(), TIC6X_PC_REGNUM, and TIC6X_SP_REGNUM.
|
static |
Definition at line 428 of file tic6x-tdep.c.
References tic6x_unwind_cache::base, tic6x_unwind_cache::cfa, frame_id_build(), tic6x_unwind_cache::pc, and tic6x_frame_unwind_cache().
|
static |
Definition at line 400 of file tic6x-tdep.c.
References FRAME_OBSTACK_ZALLOC, get_frame_arch(), get_frame_func(), get_frame_pc(), tic6x_unwind_cache::pc, tic6x_unwind_cache::return_regnum, tic6x_analyze_prologue(), TIC6X_RA_REGNUM, and tic6x_setup_default().
Referenced by tic6x_frame_base_address(), tic6x_frame_prev_register(), and tic6x_frame_this_id().
|
static |
Definition at line 1178 of file tic6x-tdep.c.
References gdbarch_tdep::breakpoint, core_addr_lessthan(), dwarf2_append_unwinders(), dwarf2_frame_set_init_reg(), floatformats_ieee_double, floatformats_ieee_single, frame_base_set_default(), frame_unwind_append_unwinder(), gdbarch_list::gdbarch, gdbarch_alloc(), gdbarch_init_osabi(), gdbarch_list_lookup_by_info(), gdbarch_tdep(), gdbarch_tdep::has_gp, gdbarch_list::next, set_gdbarch_addr_bit(), set_gdbarch_breakpoint_from_pc(), set_gdbarch_double_bit(), set_gdbarch_double_format(), set_gdbarch_dummy_id(), set_gdbarch_float_bit(), set_gdbarch_float_format(), set_gdbarch_frame_align(), set_gdbarch_get_longjmp_target(), set_gdbarch_inner_than(), set_gdbarch_int_bit(), set_gdbarch_long_bit(), set_gdbarch_long_long_bit(), set_gdbarch_num_regs(), set_gdbarch_pc_regnum(), set_gdbarch_print_insn(), set_gdbarch_ptr_bit(), set_gdbarch_push_dummy_call(), set_gdbarch_register_name(), set_gdbarch_register_type(), set_gdbarch_return_in_first_hidden_param_p(), set_gdbarch_return_value(), set_gdbarch_short_bit(), set_gdbarch_skip_prologue(), set_gdbarch_software_single_step(), set_gdbarch_sp_regnum(), set_gdbarch_stack_frame_destroyed_p(), set_gdbarch_unwind_pc(), set_gdbarch_unwind_sp(), gdbarch_info::target_desc, tdesc_data, tdesc_data_alloc(), tdesc_data_cleanup(), tdesc_find_feature(), tdesc_has_registers(), tdesc_numbered_register(), tdesc_use_registers(), tic6x_breakpoint_from_pc(), TIC6X_CSR_REGNUM, tic6x_dummy_id(), tic6x_dwarf2_frame_init_reg(), tic6x_frame_align(), tic6x_get_longjmp_target(), TIC6X_NUM_REGS, TIC6X_PC_REGNUM, tic6x_print_insn(), tic6x_push_dummy_call(), tic6x_register_name(), tic6x_register_names, tic6x_register_type(), tic6x_return_in_first_hidden_param_p(), tic6x_return_value(), tic6x_skip_prologue(), tic6x_software_single_step(), TIC6X_SP_REGNUM, tic6x_stack_frame_destroyed_p(), tic6x_unwind_pc(), tic6x_unwind_sp(), and xcalloc().
Referenced by _initialize_tic6x_tdep().
|
static |
Definition at line 1147 of file tic6x-tdep.c.
References gdbarch::byte_order, extract_unsigned_integer(), gdbarch_byte_order(), get_frame_arch(), get_frame_register_unsigned(), and target_read_memory().
Referenced by tic6x_gdbarch_init().
|
static |
Definition at line 602 of file tic6x-tdep.c.
References gdbarch_tdep(), get_frame_arch(), get_frame_register_signed(), get_frame_register_unsigned(), INST_S_BIT, INST_X_BIT, gdbarch_tdep::pc, gdbarch_tdep::syscall_next_pc, tic6x_condition_true(), tic6x_extract_signed_field(), tic6x_fetch_instruction(), TIC6X_FETCH_PACKET_SIZE, TIC6X_INST_SWE, TIC6X_OPCODE_SIZE, and tic6x_register_number().
Referenced by tic6x_software_single_step().
|
static |
Definition at line 496 of file tic6x-tdep.c.
References tic6x_unwind_cache::cfa, FRAME_OBSTACK_ZALLOC, get_frame_register_unsigned(), tic6x_unwind_cache::return_regnum, TIC6X_RA_REGNUM, tic6x_setup_default(), and TIC6X_SP_REGNUM.
Referenced by tic6x_stub_this_id().
|
static |
Definition at line 347 of file tic6x-tdep.c.
Referenced by tic6x_gdbarch_init().
|
static |
Definition at line 890 of file tic6x-tdep.c.
References _, align_down(), align_up(), arg_regs, check_typedef(), extract_unsigned_integer(), find_function_addr(), gdb_assert, gdbarch_byte_order(), internal_error(), len, regcache_cooked_write(), regcache_cooked_write_part(), regcache_cooked_write_signed(), regcache_cooked_write_unsigned(), store_unsigned_integer(), tic6x_arg_type_alignment(), TIC6X_RA_REGNUM, TIC6X_SP_REGNUM, TYPE_CODE, TYPE_CODE_COMPLEX, TYPE_CODE_FUNC, TYPE_CODE_METHOD, TYPE_CODE_PTR, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_LENGTH, TYPE_NFIELDS, TYPE_TARGET_TYPE, TYPE_VARARGS, value_contents(), value_type(), and write_memory().
Referenced by tic6x_gdbarch_init().
Definition at line 107 of file tic6x-tdep.c.
References gdbarch_target_desc(), tdesc_has_registers(), tdesc_register_name(), and tic6x_register_names.
Referenced by tic6x_gdbarch_init().
Definition at line 581 of file tic6x-tdep.c.
Referenced by tic6x_analyze_prologue(), tic6x_get_next_pc(), and tic6x_stack_frame_destroyed_p().
Definition at line 123 of file tic6x-tdep.c.
References builtin_type::builtin_func_ptr, builtin_type(), builtin_type::builtin_uint32, and TIC6X_PC_REGNUM.
Referenced by tic6x_gdbarch_init().
|
static |
Definition at line 1171 of file tic6x-tdep.c.
Referenced by tic6x_gdbarch_init().
|
static |
Definition at line 799 of file tic6x-tdep.c.
References CHECK_TYPEDEF, current_language, gdbarch_byte_order(), language_defn::la_language, language_cplus, language_pass_by_reference(), RETURN_VALUE_REGISTER_CONVENTION, RETURN_VALUE_STRUCT_CONVENTION, tic6x_extract_return_value(), tic6x_store_return_value(), and TYPE_LENGTH.
Referenced by tic6x_gdbarch_init().
|
static |
Definition at line 133 of file tic6x-tdep.c.
References tic6x_unwind_cache::reg_saved, and TIC6X_NUM_CORE_REGS.
Referenced by tic6x_frame_unwind_cache(), and tic6x_make_stub_cache().
Definition at line 301 of file tic6x-tdep.c.
References find_pc_partial_function(), max, skip_prologue_using_sal(), and tic6x_analyze_prologue().
Referenced by tic6x_gdbarch_init().
|
static |
Definition at line 698 of file tic6x-tdep.c.
References get_frame_address_space(), get_frame_arch(), get_frame_pc(), insert_single_step_breakpoint(), and tic6x_get_next_pc().
Referenced by tic6x_gdbarch_init().
Definition at line 1128 of file tic6x-tdep.c.
References INST_S_BIT, INST_X_BIT, tic6x_fetch_instruction(), TIC6X_RA_REGNUM, and tic6x_register_number().
Referenced by tic6x_gdbarch_init().
|
static |
Definition at line 766 of file tic6x-tdep.c.
References len, regcache_cooked_write(), regcache_cooked_write_part(), TIC6X_A4_REGNUM, TIC6X_A5_REGNUM, and TYPE_LENGTH.
Referenced by tic6x_return_value().
|
static |
Definition at line 512 of file tic6x-tdep.c.
References tic6x_unwind_cache::cfa, frame_id_build(), get_frame_pc(), and tic6x_make_stub_cache().
|
static |
Definition at line 525 of file tic6x-tdep.c.
References get_frame_address_in_block(), and in_plt_section().
|
static |
Definition at line 380 of file tic6x-tdep.c.
References extract_typed_address(), frame_unwind_register(), and TIC6X_PC_REGNUM.
Referenced by tic6x_gdbarch_init().
|
static |
Definition at line 391 of file tic6x-tdep.c.
References frame_unwind_register_unsigned(), and TIC6X_SP_REGNUM.
Referenced by tic6x_gdbarch_init().
initialize_file_ftype _initialize_tic6x_tdep |
Definition at line 102 of file tic6x-tdep.c.
Referenced by tic6x_push_dummy_call().
Definition at line 62 of file tic6x-tdep.c.
Referenced by tic6x_breakpoint_from_pc(), and tic6x_uclinux_init_abi().
Definition at line 63 of file tic6x-tdep.c.
Referenced by tic6x_breakpoint_from_pc(), and tic6x_uclinux_init_abi().
|
static |
Definition at line 486 of file tic6x-tdep.c.
|
static |
Definition at line 476 of file tic6x-tdep.c.
Definition at line 87 of file tic6x-tdep.c.
Referenced by tic6x_gdbarch_init(), and tic6x_register_name().
|
static |
Definition at line 538 of file tic6x-tdep.c.