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 "gdbsupport/gdb-safe-ctype.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 "gdbarch.h"
#include "or1k-tdep.h"
#include "features/or1k.c"
Go to the source code of this file.
Classes | |
struct | or1k_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_single_step_through_delay (struct gdbarch *gdbarch, frame_info_ptr this_frame) |
std::vector< CORE_ADDR > | or1k_software_single_step (struct regcache *regcache) |
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, frame_info_ptr next_frame) |
static CORE_ADDR | or1k_unwind_sp (struct gdbarch *gdbarch, frame_info_ptr 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, function_call_return_method return_method, CORE_ADDR struct_addr) |
static struct trad_frame_cache * | or1k_frame_cache (frame_info_ptr this_frame, void **prologue_cache) |
static void | or1k_frame_this_id (frame_info_ptr this_frame, void **prologue_cache, struct frame_id *this_id) |
static struct value * | or1k_frame_prev_register (frame_info_ptr 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 () |
Variables | |
static bool | or1k_debug = false |
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 | ( | ) |
Definition at line 1290 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 or1k_gdbarch_tdep::gdb_cgen_cpu_desc, and or1k_fetch_instruction().
|
static |
Definition at line 92 of file or1k-tdep.c.
References bits, and OR1K_INSTBITLEN.
Referenced by or1k_analyse_l_addi(), and or1k_analyse_l_sw().
|
static |
Definition at line 183 of file or1k-tdep.c.
References or1k_analyse_inst().
Referenced by or1k_frame_cache(), and or1k_skip_prologue().
|
static |
Definition at line 214 of file or1k-tdep.c.
References or1k_analyse_inst().
Referenced by or1k_frame_cache(), and or1k_skip_prologue().
Definition at line 1274 of file or1k-tdep.c.
References or1k_gdbarch_tdep::bytes_per_address, or1k_gdbarch_tdep::bytes_per_word, and gdb_printf().
Referenced by _initialize_or1k_tdep().
|
static |
Definition at line 77 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().
|
static |
Definition at line 553 of file or1k-tdep.c.
References OR1K_STACK_ALIGN.
Referenced by or1k_gdbarch_init(), and or1k_push_dummy_code().
|
static |
Definition at line 892 of file or1k-tdep.c.
References find_pc_partial_function(), frame_id_build(), gdb_printf(), gdb_stdlog, get_frame_arch(), get_frame_pc(), get_frame_register_unsigned(), 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 1117 of file or1k-tdep.c.
References or1k_frame_cache(), regnum, trad_frame_cache::this_frame, and trad_frame_get_register().
|
static |
Definition at line 1105 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 1142 of file or1k-tdep.c.
References arches, or1k_gdbarch_tdep::bytes_per_address, or1k_gdbarch_tdep::bytes_per_word, core_addr_lessthan(), dwarf2_append_unwinders(), floatformats_ieee_double, floatformats_ieee_single, frame_unwind_append_unwinder(), or1k_gdbarch_tdep::gdb_cgen_cpu_desc, gdbarch_alloc(), gdbarch_init_osabi(), gdbarch_list_lookup_by_info(), registry< T >::get(), ON_STACK, 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_single_step_through_delay(), or1k_skip_prologue(), OR1K_SP_REGNUM, OR1K_SR_REGNUM, or1k_unwind_pc(), or1k_unwind_sp(), 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_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(), tdesc_data, tdesc_data_alloc(), tdesc_find_feature(), tdesc_has_registers(), tdesc_numbered_register(), tdesc_or1k, and tdesc_use_registers().
Referenced by _initialize_or1k_tdep().
|
static |
Definition at line 436 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 443 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 623 of file or1k-tdep.c.
References value::address, or1k_gdbarch_tdep::bytes_per_address, or1k_gdbarch_tdep::bytes_per_word, check_typedef(), type::code(), value::contents(), extract_unsigned_integer(), gdbarch_byte_order(), gdbarch_frame_align(), type::length(), OR1K_FIRST_ARG_REGNUM, OR1K_LAST_ARG_REGNUM, OR1K_LR_REGNUM, OR1K_SP_REGNUM, regcache_cooked_write_unsigned(), return_method_struct, store_unsigned_integer(), value::type(), and write_memory().
Referenced by or1k_gdbarch_init().
|
static |
Definition at line 601 of file or1k-tdep.c.
References or1k_frame_align().
Referenced by or1k_gdbarch_init().
|
static |
Definition at line 243 of file or1k-tdep.c.
References or1k_gdbarch_tdep::bytes_per_word, type::code(), regcache::cooked_write(), gdbarch_byte_order(), type::length(), OR1K_RV_REGNUM, read_memory(), regcache_cooked_read_unsigned(), RETURN_VALUE_ABI_RETURNS_ADDRESS, RETURN_VALUE_REGISTER_CONVENTION, store_unsigned_integer(), and write_memory().
Referenced by or1k_gdbarch_init().
|
static |
Definition at line 380 of file or1k-tdep.c.
References get_current_regcache(), OR1K_NPC_REGNUM, OR1K_PPC_REGNUM, and regcache_cooked_read_unsigned().
Referenced by or1k_gdbarch_init().
|
static |
Definition at line 451 of file or1k-tdep.c.
References symtab::compunit(), compunit_symtab::debugformat(), find_pc_line(), find_pc_partial_function(), 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, skip_prologue_using_sal(), and symtab_and_line::symtab.
Referenced by or1k_frame_cache(), and or1k_gdbarch_init().
std::vector< CORE_ADDR > or1k_software_single_step | ( | struct regcache * | regcache | ) |
Definition at line 408 of file or1k-tdep.c.
References reg_buffer::arch(), and regcache_read_pc().
Referenced by or1k_linux_init_abi().
|
static |
Definition at line 561 of file or1k-tdep.c.
References frame_relative_level(), frame_unwind_register_unsigned(), gdb_printf(), gdb_stdlog, or1k_debug, OR1K_NPC_REGNUM, and paddress().
Referenced by or1k_gdbarch_init().
|
static |
Definition at line 581 of file or1k-tdep.c.
References frame_relative_level(), frame_unwind_register_unsigned(), gdb_printf(), gdb_stdlog, or1k_debug, OR1K_SP_REGNUM, and paddress().
Referenced by or1k_gdbarch_init().
|
static |
Definition at line 56 of file or1k-tdep.c.
References gdb_printf().
Referenced by _initialize_or1k_tdep().
|
constexpr |
Definition at line 346 of file or1k-tdep.c.
|
static |
Definition at line 53 of file or1k-tdep.c.
Referenced by _initialize_or1k_tdep(), or1k_frame_cache(), or1k_unwind_pc(), and or1k_unwind_sp().
|
static |
Definition at line 1128 of file or1k-tdep.c.
Referenced by or1k_gdbarch_init().
|
static |
Definition at line 424 of file or1k-tdep.c.
Referenced by or1k_gdbarch_init().