|
GDB (xrefs)
|
#include "defs.h"#include "frame.h"#include "inferior.h"#include "symtab.h"#include "value.h"#include "gdbcmd.h"#include "language.h"#include "gdbcore.h"#include "symfile.h"#include "objfiles.h"#include "gdbtypes.h"#include "target.h"#include "regcache.h"#include "safe-ctype.h"#include "block.h"#include "reggroups.h"#include "arch-utils.h"#include "frame-unwind.h"#include "frame-base.h"#include "dwarf2-frame.h"#include "trad-frame.h"#include "regset.h"#include "remote.h"#include "target-descriptions.h"#include <inttypes.h>#include "dis-asm.h"#include "or1k-tdep.h"#include "features/or1k.c"Go to the source code of this file.
Classes | |
| struct | gdbarch_tdep |
Functions | |
| static void | show_or1k_debug (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) |
| static ULONGEST | or1k_fetch_instruction (struct gdbarch *gdbarch, CORE_ADDR addr) |
| static bool | or1k_analyse_inst (uint32_t inst, const char *format,...) |
| static bool | or1k_analyse_l_addi (uint32_t inst, unsigned int *rd_ptr, unsigned int *ra_ptr, int *simm_ptr) |
| static bool | or1k_analyse_l_sw (uint32_t inst, int *simm_ptr, unsigned int *ra_ptr, unsigned int *rb_ptr) |
| static enum return_value_convention | or1k_return_value (struct gdbarch *gdbarch, struct value *functype, struct type *valtype, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf) |
| typedef | BP_MANIPULATION (or1k_break_insn) |
| static int | or1k_is_arg_reg (unsigned int regnum) |
| static int | or1k_is_callee_saved_reg (unsigned int regnum) |
| static CORE_ADDR | or1k_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc) |
| static CORE_ADDR | or1k_frame_align (struct gdbarch *gdbarch, CORE_ADDR sp) |
| static CORE_ADDR | or1k_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame) |
| static CORE_ADDR | or1k_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame) |
| static CORE_ADDR | or1k_push_dummy_code (struct gdbarch *gdbarch, CORE_ADDR sp, CORE_ADDR function, struct value **args, int nargs, struct type *value_type, CORE_ADDR *real_pc, CORE_ADDR *bp_addr, struct regcache *regcache) |
| static CORE_ADDR | or1k_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 struct frame_id | or1k_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame) |
| static struct trad_frame_cache * | or1k_frame_cache (struct frame_info *this_frame, void **prologue_cache) |
| static void | or1k_frame_this_id (struct frame_info *this_frame, void **prologue_cache, struct frame_id *this_id) |
| static struct value * | or1k_frame_prev_register (struct frame_info *this_frame, void **prologue_cache, int regnum) |
| static struct gdbarch * | or1k_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) |
| static void | or1k_dump_tdep (struct gdbarch *gdbarch, struct ui_file *file) |
| void | _initialize_or1k_tdep (void) |
Variables | |
| static int | or1k_debug = 0 |
| constexpr gdb_byte | or1k_break_insn [] = {0x21, 0x00, 0x00, 0x01} |
| static const char *const | or1k_reg_names [OR1K_NUM_REGS] |
| static const struct frame_unwind | or1k_frame_unwind |
| void _initialize_or1k_tdep | ( | void | ) |
Definition at line 1279 of file or1k-tdep.c.
References _, add_setshow_boolean_cmd(), class_maintenance, gdbarch_register(), initialize_tdesc_or1k(), or1k_debug, or1k_dump_tdep(), or1k_gdbarch_init(), setdebuglist, show_or1k_debug(), and showdebuglist.
| typedef BP_MANIPULATION | ( | or1k_break_insn | ) |
Definition at line 348 of file or1k-tdep.c.
References gdbarch_tdep::gdb_cgen_cpu_desc, gdbarch_tdep(), get_current_regcache(), or1k_fetch_instruction(), OR1K_NPC_REGNUM, OR1K_PPC_REGNUM, and regcache_cooked_read_unsigned().
|
static |
Definition at line 93 of file or1k-tdep.c.
References _, bits, error(), gdb_assert, and OR1K_INSTBITLEN.
Referenced by or1k_analyse_l_addi(), and or1k_analyse_l_sw().
|
static |
Definition at line 184 of file or1k-tdep.c.
References or1k_analyse_inst().
Referenced by or1k_frame_cache(), and or1k_skip_prologue().
|
static |
Definition at line 215 of file or1k-tdep.c.
References or1k_analyse_inst().
Referenced by or1k_frame_cache(), and or1k_skip_prologue().
|
static |
Definition at line 795 of file or1k-tdep.c.
References frame_id_build(), get_frame_pc(), and get_frame_sp().
Referenced by or1k_gdbarch_init().
Definition at line 1264 of file or1k-tdep.c.
References gdbarch_tdep::bytes_per_address, gdbarch_tdep::bytes_per_word, fprintf_unfiltered(), and gdbarch_tdep().
Referenced by _initialize_or1k_tdep().
Definition at line 78 of file or1k-tdep.c.
References extract_unsigned_integer(), gdbarch_byte_order(), memory_error(), OR1K_INSTLEN, target_read_code(), and TARGET_XFER_E_IO.
Referenced by BP_MANIPULATION(), or1k_frame_cache(), and or1k_skip_prologue().
Definition at line 525 of file or1k-tdep.c.
References align_down(), and OR1K_STACK_ALIGN.
Referenced by or1k_gdbarch_init(), and or1k_push_dummy_code().
|
static |
Definition at line 870 of file or1k-tdep.c.
References _, error(), find_pc_partial_function(), fprintf_unfiltered(), frame_id_build(), gdb_stdlog, get_frame_arch(), get_frame_pc(), get_frame_register_unsigned(), host_address_to_string, or1k_analyse_l_addi(), or1k_analyse_l_sw(), or1k_debug, or1k_fetch_instruction(), OR1K_FP_REGNUM, OR1K_INSTLEN, or1k_is_arg_reg(), or1k_is_callee_saved_reg(), OR1K_LR_REGNUM, OR1K_NPC_REGNUM, or1k_skip_prologue(), OR1K_SP_REGNUM, paddress(), trad_frame_cache::this_frame, trad_frame_cache_zalloc(), trad_frame_set_id(), trad_frame_set_reg_addr(), trad_frame_set_reg_realreg(), trad_frame_set_reg_value(), and trad_frame_set_this_base().
Referenced by or1k_frame_prev_register(), and or1k_frame_this_id().
|
static |
Definition at line 1095 of file or1k-tdep.c.
References or1k_frame_cache(), regnum, trad_frame_cache::this_frame, and trad_frame_get_register().
|
static |
Definition at line 1083 of file or1k-tdep.c.
References or1k_frame_cache(), trad_frame_cache::this_frame, trad_frame_cache::this_id, and trad_frame_get_id().
|
static |
Definition at line 1119 of file or1k-tdep.c.
References all_reggroup, gdbarch_info::bfd_arch_info, gdbarch_info::byte_order, gdbarch_tdep::bytes_per_address, gdbarch_tdep::bytes_per_word, core_addr_lessthan(), dwarf2_append_unwinders(), float_reggroup, floatformats_ieee_double, floatformats_ieee_single, frame_unwind_append_unwinder(), gdbarch_tdep::gdb_cgen_cpu_desc, gdbarch_list::gdbarch, gdbarch_alloc(), gdbarch_list_lookup_by_info(), general_reggroup, ON_STACK, or1k_dummy_id(), OR1K_FP_REGNUM, or1k_frame_align(), OR1K_FRAME_RED_ZONE_SIZE, or1k_frame_unwind, OR1K_NPC_REGNUM, OR1K_NUM_PSEUDO_REGS, OR1K_NUM_REGS, or1k_push_dummy_call(), or1k_push_dummy_code(), or1k_reg_names, or1k_return_value(), or1k_skip_prologue(), OR1K_SP_REGNUM, OR1K_SR_REGNUM, or1k_unwind_pc(), or1k_unwind_sp(), reggroup_add(), restore_reggroup, save_reggroup, set_gdbarch_addr_bit(), set_gdbarch_breakpoint_kind_from_pc(), set_gdbarch_call_dummy_location(), set_gdbarch_char_signed(), set_gdbarch_deprecated_fp_regnum(), 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_frame_red_zone_size(), set_gdbarch_have_nonsteppable_watchpoint(), set_gdbarch_inner_than(), set_gdbarch_int_bit(), set_gdbarch_long_bit(), set_gdbarch_long_double_bit(), set_gdbarch_long_double_format(), set_gdbarch_long_long_bit(), set_gdbarch_num_pseudo_regs(), set_gdbarch_num_regs(), set_gdbarch_pc_regnum(), set_gdbarch_ps_regnum(), set_gdbarch_ptr_bit(), set_gdbarch_push_dummy_call(), set_gdbarch_push_dummy_code(), set_gdbarch_return_value(), set_gdbarch_short_bit(), set_gdbarch_single_step_through_delay(), set_gdbarch_skip_prologue(), set_gdbarch_sp_regnum(), set_gdbarch_sw_breakpoint_from_kind(), set_gdbarch_unwind_pc(), set_gdbarch_unwind_sp(), system_reggroup, gdbarch_info::target_desc, tdesc_data, tdesc_data_alloc(), tdesc_data_cleanup(), tdesc_find_feature(), tdesc_has_registers(), tdesc_numbered_register(), tdesc_or1k, tdesc_use_registers(), vector_reggroup, and XCNEW.
Referenced by _initialize_or1k_tdep().
|
static |
Definition at line 408 of file or1k-tdep.c.
References OR1K_FIRST_ARG_REGNUM, OR1K_LAST_ARG_REGNUM, and regnum.
Referenced by or1k_frame_cache(), and or1k_skip_prologue().
|
static |
Definition at line 415 of file or1k-tdep.c.
References OR1K_FIRST_SAVED_REGNUM, and regnum.
Referenced by or1k_frame_cache(), and or1k_skip_prologue().
|
static |
Definition at line 595 of file or1k-tdep.c.
References align_up(), check_typedef(), extract_unsigned_integer(), gdb_assert, gdbarch_byte_order(), gdbarch_frame_align(), gdbarch_tdep(), OR1K_FIRST_ARG_REGNUM, OR1K_LAST_ARG_REGNUM, OR1K_LR_REGNUM, OR1K_SP_REGNUM, regcache_cooked_write_unsigned(), store_unsigned_integer(), TYPE_CODE, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_LENGTH, TYPE_NFIELDS, TYPE_VARARGS, value_address(), value_contents(), value_type(), and write_memory().
Referenced by or1k_gdbarch_init().
|
static |
Definition at line 573 of file or1k-tdep.c.
References or1k_frame_align().
Referenced by or1k_gdbarch_init().
|
static |
Definition at line 244 of file or1k-tdep.c.
References free(), gdbarch_byte_order(), gdbarch_tdep(), OR1K_RV_REGNUM, read_memory(), regcache_cooked_read_unsigned(), regcache_cooked_write(), RETURN_VALUE_ABI_RETURNS_ADDRESS, RETURN_VALUE_REGISTER_CONVENTION, store_unsigned_integer(), TYPE_CODE, TYPE_CODE_ARRAY, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_LENGTH, write_memory(), and XCNEWVEC.
Referenced by or1k_gdbarch_init().
Definition at line 423 of file or1k-tdep.c.
References COMPUNIT_DEBUGFORMAT, find_pc_line(), find_pc_partial_function(), gdb_assert, or1k_analyse_l_addi(), or1k_analyse_l_sw(), or1k_fetch_instruction(), OR1K_FP_REGNUM, OR1K_INSTLEN, or1k_is_arg_reg(), or1k_is_callee_saved_reg(), OR1K_LR_REGNUM, OR1K_SP_REGNUM, gdbarch_tdep::pc, skip_prologue_using_sal(), symtab_and_line::symtab, and SYMTAB_COMPUNIT.
Referenced by or1k_frame_cache(), and or1k_gdbarch_init().
|
static |
Definition at line 533 of file or1k-tdep.c.
References fprintf_unfiltered(), frame_relative_level(), frame_unwind_register_unsigned(), gdb_stdlog, or1k_debug, OR1K_NPC_REGNUM, and paddress().
Referenced by or1k_gdbarch_init().
|
static |
Definition at line 553 of file or1k-tdep.c.
References fprintf_unfiltered(), frame_relative_level(), frame_unwind_register_unsigned(), gdb_stdlog, or1k_debug, OR1K_SP_REGNUM, and paddress().
Referenced by or1k_gdbarch_init().
|
static |
Definition at line 57 of file or1k-tdep.c.
References _, and fprintf_filtered().
Referenced by _initialize_or1k_tdep().
| constexpr gdb_byte or1k_break_insn[] = {0x21, 0x00, 0x00, 0x01} |
Definition at line 346 of file or1k-tdep.c.
|
static |
Definition at line 54 of file or1k-tdep.c.
Referenced by _initialize_or1k_tdep(), or1k_frame_cache(), or1k_unwind_pc(), and or1k_unwind_sp().
|
static |
Definition at line 1106 of file or1k-tdep.c.
Referenced by or1k_gdbarch_init().
|
static |
Definition at line 396 of file or1k-tdep.c.
Referenced by or1k_gdbarch_init().
1.8.14