GDB (xrefs)
|
#include "defs.h"
#include "frame.h"
#include "frame-unwind.h"
#include "frame-base.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "gdbcmd.h"
#include "gdbcore.h"
#include "gdb_string.h"
#include "value.h"
#include "inferior.h"
#include "symfile.h"
#include "objfiles.h"
#include "osabi.h"
#include "language.h"
#include "arch-utils.h"
#include "regcache.h"
#include "trad-frame.h"
#include "dis-asm.h"
#include "gdb_assert.h"
#include "m32r-tdep.h"
Go to the source code of this file.
#define DEFAULT_SEARCH_LIMIT 128 |
Definition at line 466 of file m32r-tdep.c.
Referenced by m32r_skip_prologue().
void _initialize_m32r_tdep | ( | void | ) |
static int decode_prologue | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | start_pc, | ||
CORE_ADDR | scan_limit, | ||
CORE_ADDR * | pl_endptr, | ||
unsigned long * | framelength | ||
) | [static] |
Definition at line 276 of file m32r-tdep.c.
References after_prologue(), gdbarch::byte_order, gdbarch_byte_order(), LONGEST, read_memory_unsigned_integer(), gdbarch::return_value, and safe_read_memory_integer().
Referenced by m32r_skip_prologue().
static const gdb_byte* m32r_breakpoint_from_pc | ( | struct gdbarch * | gdbarch, |
CORE_ADDR * | pcptr, | ||
int * | lenptr | ||
) | [static] |
Definition at line 171 of file m32r-tdep.c.
References gdbarch_byte_order().
Referenced by m32r_gdbarch_init().
static struct frame_id m32r_dummy_id | ( | struct gdbarch * | gdbarch, |
struct frame_info * | this_frame | ||
) | [static, read] |
Definition at line 899 of file m32r-tdep.c.
References frame_id_build(), get_frame_pc(), get_frame_register_unsigned(), M32R_SP_REGNUM, and sp.
Referenced by m32r_gdbarch_init().
static void m32r_extract_return_value | ( | struct type * | type, |
struct regcache * | regcache, | ||
void * | dst | ||
) | [static] |
Definition at line 780 of file m32r-tdep.c.
References gdbarch::byte_order, gdbarch_byte_order(), get_regcache_arch(), len, regcache_cooked_read_unsigned(), RET1_REGNUM, store_unsigned_integer(), TYPE_LENGTH, and ULONGEST.
Referenced by m32r_return_value().
static CORE_ADDR m32r_frame_align | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | sp | ||
) | [static] |
Definition at line 49 of file m32r-tdep.c.
Referenced by m32r_gdbarch_init().
static CORE_ADDR m32r_frame_base_address | ( | struct frame_info * | this_frame, |
void ** | this_cache | ||
) | [static] |
Definition at line 880 of file m32r-tdep.c.
References m32r_unwind_cache::base, and m32r_frame_unwind_cache().
static struct value* m32r_frame_prev_register | ( | struct frame_info * | this_frame, |
void ** | this_prologue_cache, | ||
int | regnum | ||
) | [static, read] |
Definition at line 862 of file m32r-tdep.c.
References m32r_frame_unwind_cache(), m32r_unwind_cache::saved_regs, and trad_frame_get_prev_register().
static void m32r_frame_this_id | ( | struct frame_info * | this_frame, |
void ** | this_prologue_cache, | ||
struct frame_id * | this_id | ||
) | [static] |
Definition at line 832 of file m32r-tdep.c.
References m32r_unwind_cache::base, frame_id_build(), func, get_frame_func(), lookup_minimal_symbol(), m32r_frame_unwind_cache(), m32r_unwind_cache::prev_sp, and SYMBOL_VALUE_ADDRESS.
static struct m32r_unwind_cache* m32r_frame_unwind_cache | ( | struct frame_info * | this_frame, |
void ** | this_prologue_cache | ||
) | [static, read] |
Definition at line 533 of file m32r-tdep.c.
References trad_frame_saved_reg::addr, m32r_unwind_cache::base, FRAME_OBSTACK_ZALLOC, gdbarch_num_regs(), get_frame_arch(), get_frame_func(), get_frame_memory_unsigned(), get_frame_pc(), get_frame_register_unsigned(), LR_REGNUM, M32R_FP_REGNUM, M32R_PC_REGNUM, M32R_SP_REGNUM, m32r_unwind_cache::prev_sp, m32r_unwind_cache::r13_offset, m32r_unwind_cache::saved_regs, m32r_unwind_cache::size, m32r_unwind_cache::sp_offset, trad_frame_addr_p(), trad_frame_alloc_saved_regs(), trad_frame_set_value(), ULONGEST, and m32r_unwind_cache::uses_frame.
Referenced by m32r_frame_base_address(), m32r_frame_prev_register(), and m32r_frame_this_id().
static struct gdbarch* m32r_gdbarch_init | ( | struct gdbarch_info | info, |
struct gdbarch_list * | arches | ||
) | [static, read] |
Definition at line 909 of file m32r-tdep.c.
References core_addr_lessthan(), frame_base_set_default(), frame_unwind_append_unwinder(), gdbarch_list::gdbarch, gdbarch_alloc(), gdbarch_init_osabi(), gdbarch_list_lookup_by_info(), m32r_breakpoint_from_pc(), m32r_dummy_id(), m32r_frame_align(), m32r_memory_insert_breakpoint(), m32r_memory_remove_breakpoint(), M32R_NUM_REGS, M32R_PC_REGNUM, m32r_push_dummy_call(), m32r_read_pc(), m32r_register_name(), m32r_register_type(), m32r_return_value(), m32r_skip_prologue(), M32R_SP_REGNUM, m32r_unwind_pc(), m32r_unwind_sp(), set_gdbarch_breakpoint_from_pc(), set_gdbarch_dummy_id(), set_gdbarch_frame_align(), set_gdbarch_inner_than(), set_gdbarch_memory_insert_breakpoint(), set_gdbarch_memory_remove_breakpoint(), set_gdbarch_num_regs(), set_gdbarch_overlay_update(), set_gdbarch_pc_regnum(), set_gdbarch_print_insn(), set_gdbarch_push_dummy_call(), set_gdbarch_read_pc(), set_gdbarch_register_name(), set_gdbarch_register_type(), set_gdbarch_return_value(), set_gdbarch_skip_prologue(), set_gdbarch_sp_regnum(), set_gdbarch_unwind_pc(), set_gdbarch_unwind_sp(), simple_overlay_update(), and XMALLOC.
static int m32r_memory_insert_breakpoint | ( | struct gdbarch * | gdbarch, |
struct bp_target_info * | bp_tgt | ||
) | [static] |
Definition at line 81 of file m32r-tdep.c.
References gdbarch_byte_order(), memcpy(), bp_target_info::placed_address, bp_target_info::placed_size, bp_target_info::shadow_contents, bp_target_info::shadow_len, target_read_memory(), and target_write_memory().
Referenced by m32r_gdbarch_init().
static int m32r_memory_remove_breakpoint | ( | struct gdbarch * | gdbarch, |
struct bp_target_info * | bp_tgt | ||
) | [static] |
Definition at line 140 of file m32r-tdep.c.
References gdbarch_byte_order(), bp_target_info::placed_address, bp_target_info::shadow_contents, and target_write_raw_memory().
Referenced by m32r_gdbarch_init().
static CORE_ADDR m32r_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 678 of file m32r-tdep.c.
References ARG1_REGNUM, ARGN_REGNUM, extract_unsigned_integer(), gdbarch_byte_order(), len, LR_REGNUM, M32R_SP_REGNUM, MAX_REGISTER_SIZE, memcpy(), memset(), regcache_cooked_write_unsigned(), register_size(), store_unsigned_integer(), type, TYPE_CODE, TYPE_CODE_PTR, TYPE_CODE_STRUCT, TYPE_CODE_UNION, TYPE_LENGTH, value_address(), value_contents(), value_type(), and write_memory().
Referenced by m32r_gdbarch_init().
static CORE_ADDR m32r_read_pc | ( | struct regcache * | regcache | ) | [static] |
Definition at line 663 of file m32r-tdep.c.
References M32R_PC_REGNUM, regcache_cooked_read_unsigned(), and ULONGEST.
Referenced by m32r_gdbarch_init().
static const char* m32r_register_name | ( | struct gdbarch * | gdbarch, |
int | reg_nr | ||
) | [static] |
Definition at line 222 of file m32r-tdep.c.
References M32R_NUM_REGS, and m32r_register_names.
Referenced by m32r_gdbarch_init().
static struct type* m32r_register_type | ( | struct gdbarch * | gdbarch, |
int | reg_nr | ||
) | [static, read] |
Definition at line 236 of file m32r-tdep.c.
References builtin_type::builtin_data_ptr, builtin_type::builtin_func_ptr, builtin_type::builtin_int32, builtin_type(), M32R_FP_REGNUM, M32R_PC_REGNUM, and M32R_SP_REGNUM.
Referenced by m32r_gdbarch_init().
static enum return_value_convention m32r_return_value | ( | struct gdbarch * | gdbarch, |
struct value * | function, | ||
struct type * | valtype, | ||
struct regcache * | regcache, | ||
gdb_byte * | readbuf, | ||
const gdb_byte * | writebuf | ||
) | [static] |
Definition at line 804 of file m32r-tdep.c.
References m32r_extract_return_value(), m32r_store_return_value(), RETURN_VALUE_REGISTER_CONVENTION, RETURN_VALUE_STRUCT_CONVENTION, and TYPE_LENGTH.
Referenced by m32r_gdbarch_init().
static CORE_ADDR m32r_skip_prologue | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | pc | ||
) | [static] |
Definition at line 469 of file m32r-tdep.c.
References gdbarch::byte_order, decode_prologue(), DEFAULT_SEARCH_LIMIT, symtab_and_line::end, find_pc_line(), find_pc_partial_function(), gdbarch_byte_order(), symtab_and_line::line, LONGEST, min, symtab_and_line::pc, and safe_read_memory_integer().
Referenced by m32r_gdbarch_init().
static void m32r_store_return_value | ( | struct type * | type, |
struct regcache * | regcache, | ||
const void * | valbuf | ||
) | [static] |
Definition at line 253 of file m32r-tdep.c.
References gdbarch::byte_order, extract_unsigned_integer(), gdbarch_byte_order(), get_regcache_arch(), len, regcache_cooked_write_unsigned(), RET1_REGNUM, and TYPE_LENGTH.
Referenced by m32r_return_value().
static CORE_ADDR m32r_unwind_pc | ( | struct gdbarch * | gdbarch, |
struct frame_info * | next_frame | ||
) | [static] |
Definition at line 823 of file m32r-tdep.c.
References frame_unwind_register_unsigned(), and M32R_PC_REGNUM.
Referenced by m32r_gdbarch_init().
static CORE_ADDR m32r_unwind_sp | ( | struct gdbarch * | gdbarch, |
struct frame_info * | next_frame | ||
) | [static] |
Definition at line 671 of file m32r-tdep.c.
References frame_unwind_register_unsigned(), and M32R_SP_REGNUM.
Referenced by m32r_gdbarch_init().
struct frame_base m32r_frame_base [static] |
{ &m32r_frame_unwind, m32r_frame_base_address, m32r_frame_base_address, m32r_frame_base_address }
Definition at line 887 of file m32r-tdep.c.
struct frame_unwind m32r_frame_unwind [static] |
{ NORMAL_FRAME, default_frame_unwind_stop_reason, m32r_frame_this_id, m32r_frame_prev_register, NULL, default_frame_sniffer }
Definition at line 870 of file m32r-tdep.c.
gdbarch_init_ftype m32r_gdbarch_init [static] |
Definition at line 906 of file m32r-tdep.c.
char* m32r_register_names[] |
{ "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12", "fp", "lr", "sp", "psw", "cbr", "spi", "spu", "bpc", "pc", "accl", "acch", "evb" }
Definition at line 214 of file m32r-tdep.c.
Referenced by m32r_register_name().