GDB (xrefs)
|
#include "defs.h"
#include <stdarg.h>
#include "gdb_assert.h"
#include "elf-bfd.h"
#include "elf/m32c.h"
#include "gdb/sim-m32c.h"
#include "dis-asm.h"
#include "gdbtypes.h"
#include "regcache.h"
#include "arch-utils.h"
#include "frame.h"
#include "frame-unwind.h"
#include "dwarf2-frame.h"
#include "dwarf2expr.h"
#include "symtab.h"
#include "gdbcore.h"
#include "value.h"
#include "reggroups.h"
#include "prologue-value.h"
#include "target.h"
Go to the source code of this file.
(add_reg (arch, #name, (raw_pair)->type, 0, \ m32c_banked_read, m32c_banked_write, \ (raw_pair), (raw_pair + 1), FLAGBIT_B))
Definition at line 781 of file m32c-tdep.c.
Referenced by make_regs().
(add_reg (arch, #high #low, (type), 0, \ m32c_cat_read, m32c_cat_write, (high), (low), 0))
Definition at line 797 of file m32c-tdep.c.
Referenced by make_regs().
(add_reg (arch, #name "h", (type), 0, \ m32c_part_read, m32c_part_write, name, NULL, 1), \ add_reg (arch, #name "l", (type), 0, \ m32c_part_read, m32c_part_write, name, NULL, 0) - 1)
Definition at line 789 of file m32c-tdep.c.
Referenced by make_regs().
Definition at line 804 of file m32c-tdep.c.
Referenced by make_regs().
#define FLAGBIT_B 0x0010 |
Definition at line 729 of file m32c-tdep.c.
#define FLAGBIT_U 0x0080 |
Definition at line 730 of file m32c-tdep.c.
Referenced by make_regs().
#define G | ( | reg | ) | (mark_general (reg)) |
Definition at line 802 of file m32c-tdep.c.
Referenced by make_regs().
#define M32C_MAX_DWARF_REGNUM (40) |
Definition at line 105 of file m32c-tdep.c.
Referenced by m32c_debug_info_reg_to_regnum().
#define M32C_MAX_INSN_LEN (9) |
Definition at line 1075 of file m32c-tdep.c.
#define M32C_MAX_NUM_REGS (75) |
Definition at line 102 of file m32c-tdep.c.
Referenced by add_reg(), m32c_analyze_prologue(), and set_dwarf_regnum().
(add_reg (arch, (name), (type), (sim_num), \ m32c_raw_read, m32c_raw_write, NULL, NULL, 0))
Definition at line 737 of file m32c-tdep.c.
Definition at line 746 of file m32c-tdep.c.
Referenced by make_regs().
Definition at line 751 of file m32c-tdep.c.
Referenced by make_regs().
(R(NULL, tdep->data_addr_reg_type, SIM (name ## _bank0)), \ R(NULL, tdep->data_addr_reg_type, SIM (name ## _bank1)) - 1)
Definition at line 773 of file m32c-tdep.c.
Referenced by make_regs().
Definition at line 767 of file m32c-tdep.c.
Referenced by make_regs().
Definition at line 756 of file m32c-tdep.c.
Referenced by make_regs().
#define S | ( | reg | ) | (mark_system (reg)) |
Definition at line 803 of file m32c-tdep.c.
Referenced by make_regs().
Definition at line 742 of file m32c-tdep.c.
void _initialize_m32c_tdep | ( | void | ) |
Definition at line 2703 of file m32c-tdep.c.
References _initialize_m32c_tdep, m32c_gdbarch_init(), reggroup_new(), register_gdbarch_init(), and USER_REGGROUP.
static struct m32c_reg* add_reg | ( | struct gdbarch * | arch, |
const char * | name, | ||
struct type * | type, | ||
int | sim_num, | ||
m32c_move_reg_t * | read, | ||
m32c_move_reg_t * | write, | ||
struct m32c_reg * | rx, | ||
struct m32c_reg * | ry, | ||
int | n | ||
) | [static, read] |
Definition at line 640 of file m32c-tdep.c.
References m32c_reg::arch, m32c_reg::dma_p, m32c_reg::dwarf_num, gdb_assert, gdbarch_tdep(), m32c_reg::general_p, M32C_MAX_NUM_REGS, m32c_reg::n, m32c_reg::name, name, m32c_reg::num, gdbarch_tdep::num_regs, read(), m32c_reg::read, gdbarch_tdep::regs, m32c_reg::rx, m32c_reg::ry, m32c_reg::save_restore_p, m32c_reg::sim_num, m32c_reg::system_p, m32c_reg::type, type, and m32c_reg::write.
Referenced by make_regs().
static void check_for_saved | ( | void * | prologue_untyped, |
pv_t | addr, | ||
CORE_ADDR | size, | ||
pv_t | value | ||
) | [static] |
Definition at line 1513 of file m32c-tdep.c.
References m32c_prologue::arch, gdbarch_tdep::data_addr_reg_type, gdbarch_byte_order(), gdbarch_tdep(), prologue_value::k, prologue_value::kind, m32c_reg::num, gdbarch_tdep::pc, gdbarch_tdep::push_addr_bytes, pv_is_register(), prologue_value::reg, m32c_prologue::reg_offset, register_size(), register_type(), gdbarch_tdep::ret_addr_bytes, and gdbarch_tdep::sp.
Referenced by m32c_analyze_prologue().
static struct m32c_prologue* m32c_analyze_frame_prologue | ( | struct frame_info * | this_frame, |
void ** | this_prologue_cache | ||
) | [static, read] |
Definition at line 1861 of file m32c-tdep.c.
References FRAME_OBSTACK_ZALLOC, get_frame_arch(), get_frame_func(), get_frame_pc(), and m32c_analyze_prologue().
Referenced by m32c_frame_base(), and m32c_prev_register().
static void m32c_analyze_prologue | ( | struct gdbarch * | arch, |
CORE_ADDR | start, | ||
CORE_ADDR | limit, | ||
struct m32c_prologue * | prologue | ||
) | [static] |
Definition at line 1553 of file m32c-tdep.c.
References gdbarch_tdep::a0, m32c_pv_state::a0, gdbarch_tdep::a1, m32c_pv_state::a1, m32c_prologue::arch, m32c_pv_state::arch, check_for_saved(), do_cleanups(), gdbarch_tdep::fb, m32c_pv_state::fb, m32c_prologue::frame_ptr_offset, m32c_prologue::frame_size, gdb_assert, gdbarch_addr_bit(), gdbarch_bfd_arch_info(), gdbarch_tdep(), m32c_pv_state::insn, prologue_value::k, m32c_prologue::kind, m32c_decode_sd23(), m32c_decode_srcdest4(), m32c_get_dest23(), m32c_get_src23(), m32c_is_arg_spill(), m32c_is_struct_return(), M32C_MAX_NUM_REGS, m32c_pushm_is_reg_save(), m32c_pv_enter(), m32c_pv_push(), m32c_pv_pushm(), m32c_srcdest_fetch(), m32c_srcdest_store(), m32c_udisp16(), m32c_udisp24(), make_cleanup_free_pv_area(), make_pv_area(), memset(), m32c_pv_state::next_addr, m32c_reg::num, gdbarch_tdep::pc, m32c_pv_state::pc, pv_area_scan(), pv_constant(), pv_is_constant(), pv_is_identical(), pv_is_register(), pv_is_register_k(), pv_register(), gdbarch_tdep::r0, m32c_pv_state::r0, gdbarch_tdep::r1, m32c_pv_state::r1, gdbarch_tdep::r2, m32c_pv_state::r2, gdbarch_tdep::r3, m32c_pv_state::r3, m32c_prologue::reg_offset, gdbarch_tdep::ret_addr_bytes, gdbarch_tdep::sb, m32c_pv_state::sb, m32c_pv_state::scan_pc, size, gdbarch_tdep::sp, m32c_pv_state::sp, m32c_pv_state::stack, and target_read_memory().
Referenced by m32c_analyze_frame_prologue(), m32c_skip_prologue(), and m32c_virtual_frame_pointer().
static enum register_status m32c_banked_read | ( | struct m32c_reg * | reg, |
struct regcache * | cache, | ||
void * | buf | ||
) | [static] |
Definition at line 358 of file m32c-tdep.c.
References m32c_banked_register(), m32c_reg::num, and regcache_raw_read().
static struct m32c_reg* m32c_banked_register | ( | struct m32c_reg * | reg, |
struct regcache * | cache | ||
) | [static, read] |
Definition at line 347 of file m32c-tdep.c.
References m32c_read_flg(), m32c_reg::n, m32c_reg::rx, and m32c_reg::ry.
Referenced by m32c_banked_read(), m32c_banked_write(), and m32c_virtual_frame_pointer().
static enum register_status m32c_banked_write | ( | struct m32c_reg * | reg, |
struct regcache * | cache, | ||
void * | buf | ||
) | [static] |
Definition at line 370 of file m32c-tdep.c.
References m32c_banked_register(), m32c_reg::num, REG_VALID, and regcache_raw_write().
static const unsigned char* m32c_breakpoint_from_pc | ( | struct gdbarch * | gdbarch, |
CORE_ADDR * | pc, | ||
int * | len | ||
) | [static] |
Definition at line 1008 of file m32c-tdep.c.
Referenced by m32c_gdbarch_init().
static enum register_status m32c_cat_read | ( | struct m32c_reg * | reg, |
struct regcache * | cache, | ||
void * | buf | ||
) | [static] |
Definition at line 477 of file m32c-tdep.c.
References m32c_reg::arch, gdb_assert, gdbarch_byte_order(), m32c_reg::num, REG_VALID, regcache_cooked_read(), m32c_reg::rx, m32c_reg::ry, exsummary::status, m32c_reg::type, and TYPE_LENGTH.
static enum register_status m32c_cat_write | ( | struct m32c_reg * | reg, |
struct regcache * | cache, | ||
void * | buf | ||
) | [static] |
Definition at line 508 of file m32c-tdep.c.
References m32c_reg::arch, gdb_assert, gdbarch_byte_order(), m32c_reg::num, REG_VALID, regcache_cooked_write(), m32c_reg::rx, m32c_reg::ry, m32c_reg::type, and TYPE_LENGTH.
static int m32c_debug_info_reg_to_regnum | ( | struct gdbarch * | gdbarch, |
int | reg_nr | ||
) | [static] |
Definition at line 253 of file m32c-tdep.c.
References gdbarch_tdep::dwarf_regs, gdbarch_tdep(), M32C_MAX_DWARF_REGNUM, and m32c_reg::num.
Referenced by make_regs().
static struct srcdest m32c_decode_sd23 | ( | struct m32c_pv_state * | st, |
int | code, | ||
int | size, | ||
int | ind | ||
) | [static, read] |
Definition at line 1281 of file m32c-tdep.c.
References srcdest::addr, code, gdb_assert_not_reached, srcdest::kind, m32c_sdisp16(), m32c_sdisp8(), m32c_srcdest_fetch(), m32c_udisp16(), m32c_udisp24(), m32c_udisp8(), pv_add_constant(), pv_constant(), pv_unknown(), srcdest::reg, size, srcdest::srcdest_mem, srcdest::srcdest_partial_reg, and srcdest::srcdest_reg.
Referenced by m32c_analyze_prologue().
static struct srcdest m32c_decode_srcdest4 | ( | struct m32c_pv_state * | st, |
int | code, | ||
int | size | ||
) | [static, read] |
Definition at line 1236 of file m32c-tdep.c.
References srcdest::addr, code, gdb_assert_not_reached, srcdest::kind, m32c_sdisp8(), m32c_udisp16(), m32c_udisp8(), pv_add_constant(), pv_constant(), pv_unknown(), srcdest::reg, size, srcdest::srcdest_mem, srcdest::srcdest_partial_reg, and srcdest::srcdest_reg.
Referenced by m32c_analyze_prologue().
static struct frame_id m32c_dummy_id | ( | struct gdbarch * | gdbarch, |
struct frame_info * | this_frame | ||
) | [static, read] |
Definition at line 2157 of file m32c-tdep.c.
References frame_id_build(), gdbarch_tdep(), get_frame_pc(), get_frame_register_unsigned(), m32c_reg::num, and gdbarch_tdep::sp.
Referenced by m32c_gdbarch_init().
static void m32c_find_part | ( | struct m32c_reg * | reg, |
int * | offset_p, | ||
int * | len_p | ||
) | [static] |
Definition at line 412 of file m32c-tdep.c.
References m32c_reg::arch, gdb_assert, gdbarch_byte_order(), m32c_reg::n, m32c_reg::rx, m32c_reg::type, and TYPE_LENGTH.
Referenced by m32c_part_read(), and m32c_part_write().
static CORE_ADDR m32c_frame_base | ( | struct frame_info * | this_frame, |
void ** | this_prologue_cache | ||
) | [static] |
Definition at line 1884 of file m32c-tdep.c.
References gdbarch_tdep::fb, m32c_prologue::frame_ptr_offset, m32c_prologue::frame_size, gdb_assert_not_reached, gdbarch_tdep(), get_frame_arch(), get_frame_register_unsigned(), m32c_prologue::kind, m32c_analyze_frame_prologue(), m32c_reg::num, p, and gdbarch_tdep::sp.
Referenced by m32c_prev_register(), and m32c_this_id().
static struct gdbarch* m32c_gdbarch_init | ( | struct gdbarch_info | info, |
struct gdbarch_list * | arches | ||
) | [static, read] |
Definition at line 2626 of file m32c-tdep.c.
References gdbarch_info::bfd_arch_info, core_addr_lessthan(), frame_unwind_append_unwinder(), gdbarch_list::gdbarch, gdbarch_alloc(), gdbarch_list_lookup_by_info(), m32c_breakpoint_from_pc(), m32c_dummy_id(), m32c_m16c_address_to_pointer(), m32c_m16c_pointer_to_address(), m32c_push_dummy_call(), m32c_return_value(), m32c_skip_prologue(), m32c_skip_trampoline_code(), m32c_unwind_pc(), m32c_unwind_sp(), m32c_virtual_frame_pointer(), make_regs(), make_types(), gdbarch_list::next, set_gdbarch_address_to_pointer(), set_gdbarch_breakpoint_from_pc(), set_gdbarch_dummy_id(), set_gdbarch_inner_than(), set_gdbarch_pointer_to_address(), set_gdbarch_print_insn(), set_gdbarch_push_dummy_call(), set_gdbarch_return_value(), set_gdbarch_skip_prologue(), set_gdbarch_skip_trampoline_code(), set_gdbarch_unwind_pc(), set_gdbarch_unwind_sp(), set_gdbarch_vbit_in_delta(), set_gdbarch_virtual_frame_pointer(), and xcalloc().
Referenced by _initialize_m32c_tdep().
static int m32c_get_dest23 | ( | unsigned char * | i | ) | [static] |
Definition at line 1228 of file m32c-tdep.c.
Referenced by m32c_analyze_prologue().
static int m32c_get_src23 | ( | unsigned char * | i | ) | [static] |
Definition at line 1219 of file m32c-tdep.c.
Referenced by m32c_analyze_prologue().
static int m32c_is_1st_arg_reg | ( | struct m32c_pv_state * | state, |
pv_t | value | ||
) | [static] |
Definition at line 1412 of file m32c-tdep.c.
References m32c_pv_state::arch, gdbarch_bfd_arch_info(), gdbarch_tdep(), prologue_value::k, prologue_value::kind, m32c_reg::num, gdbarch_tdep::r0, gdbarch_tdep::r1, and prologue_value::reg.
Referenced by m32c_is_struct_return().
static int m32c_is_arg_reg | ( | struct m32c_pv_state * | state, |
pv_t | value | ||
) | [static] |
Definition at line 1425 of file m32c-tdep.c.
References m32c_pv_state::arch, gdbarch_bfd_arch_info(), gdbarch_tdep(), prologue_value::k, prologue_value::kind, m32c_reg::num, gdbarch_tdep::r0, gdbarch_tdep::r1, gdbarch_tdep::r2, and prologue_value::reg.
Referenced by m32c_is_arg_spill().
static int m32c_is_arg_spill | ( | struct m32c_pv_state * | st, |
struct srcdest | loc, | ||
pv_t | value | ||
) | [static] |
Definition at line 1446 of file m32c-tdep.c.
References srcdest::addr, m32c_pv_state::arch, gdbarch_tdep(), srcdest::kind, m32c_is_arg_reg(), m32c_reg::num, pv_area_find_reg(), pv_is_register(), prologue_value::reg, gdbarch_tdep::sp, and m32c_pv_state::stack.
Referenced by m32c_analyze_prologue().
static int m32c_is_struct_return | ( | struct m32c_pv_state * | st, |
struct srcdest | loc, | ||
pv_t | value | ||
) | [static] |
Definition at line 1469 of file m32c-tdep.c.
References gdbarch_tdep::a0, gdbarch_tdep::a1, m32c_pv_state::arch, gdbarch_tdep(), srcdest::kind, m32c_is_1st_arg_reg(), m32c_reg::num, pv_area_find_reg(), pv_is_register(), prologue_value::reg, srcdest::reg, and m32c_pv_state::stack.
Referenced by m32c_analyze_prologue().
static void m32c_m16c_address_to_pointer | ( | struct gdbarch * | gdbarch, |
struct type * | type, | ||
gdb_byte * | buf, | ||
CORE_ADDR | addr | ||
) | [static] |
Definition at line 2442 of file m32c-tdep.c.
References _, error(), gdb_assert, gdbarch_byte_order(), lookup_minimal_symbol(), lookup_minimal_symbol_by_pc(), bound_minimal_symbol::minsym, paddress(), store_unsigned_integer(), SYMBOL_LINKAGE_NAME, SYMBOL_VALUE_ADDRESS, TYPE_CODE, TYPE_CODE_FUNC, TYPE_CODE_METHOD, TYPE_CODE_PTR, TYPE_CODE_REF, TYPE_LENGTH, TYPE_TARGET_TYPE, warning(), xfree(), and xmalloc().
Referenced by m32c_gdbarch_init().
static CORE_ADDR m32c_m16c_pointer_to_address | ( | struct gdbarch * | gdbarch, |
struct type * | type, | ||
const gdb_byte * | buf | ||
) | [static] |
Definition at line 2520 of file m32c-tdep.c.
References extract_unsigned_integer(), gdb_assert, gdbarch_byte_order(), len, lookup_minimal_symbol(), lookup_minimal_symbol_by_pc(), memcpy(), bound_minimal_symbol::minsym, SYMBOL_LINKAGE_NAME, SYMBOL_VALUE_ADDRESS, TYPE_CODE, TYPE_CODE_FUNC, TYPE_CODE_METHOD, TYPE_CODE_PTR, TYPE_CODE_REF, TYPE_LENGTH, TYPE_TARGET_TYPE, and xmalloc().
Referenced by m32c_gdbarch_init().
enum register_status() m32c_move_reg_t | ( | struct m32c_reg * | reg, |
struct regcache * | cache, | ||
void * | buf | ||
) |
static unsigned int m32c_next_byte | ( | struct m32c_pv_state * | st | ) | [static] |
Definition at line 1166 of file m32c-tdep.c.
References gdb_assert, m32c_pv_state::insn, m32c_pv_state::next_addr, and m32c_pv_state::scan_pc.
Referenced by m32c_sdisp16(), m32c_sdisp8(), m32c_udisp16(), m32c_udisp24(), and m32c_udisp8().
static enum register_status m32c_part_read | ( | struct m32c_reg * | reg, |
struct regcache * | cache, | ||
void * | buf | ||
) | [static] |
Definition at line 447 of file m32c-tdep.c.
References len, m32c_find_part(), memset(), m32c_reg::num, offset, regcache_cooked_read_part(), m32c_reg::rx, m32c_reg::type, and TYPE_LENGTH.
static enum register_status m32c_part_write | ( | struct m32c_reg * | reg, |
struct regcache * | cache, | ||
void * | buf | ||
) | [static] |
Definition at line 462 of file m32c-tdep.c.
References len, m32c_find_part(), m32c_reg::num, offset, REG_VALID, regcache_cooked_write_part(), and m32c_reg::rx.
static struct value* m32c_prev_register | ( | struct frame_info * | this_frame, |
void ** | this_prologue_cache, | ||
int | regnum | ||
) | [static, read] |
Definition at line 1936 of file m32c-tdep.c.
References frame_unwind_got_constant(), frame_unwind_got_memory(), frame_unwind_got_register(), gdbarch_tdep(), get_frame_arch(), m32c_analyze_frame_prologue(), m32c_frame_base(), m32c_reg::num, p, m32c_prologue::reg_offset, register_size(), and gdbarch_tdep::sp.
static enum register_status m32c_pseudo_register_read | ( | struct gdbarch * | arch, |
struct regcache * | cache, | ||
int | cookednum, | ||
gdb_byte * | buf | ||
) | [static] |
Definition at line 602 of file m32c-tdep.c.
References m32c_reg::arch, gdb_assert, gdbarch_tdep(), get_regcache_arch(), m32c_reg::read, and gdbarch_tdep::regs.
Referenced by make_regs().
static void m32c_pseudo_register_write | ( | struct gdbarch * | arch, |
struct regcache * | cache, | ||
int | cookednum, | ||
const gdb_byte * | buf | ||
) | [static] |
Definition at line 620 of file m32c-tdep.c.
References m32c_reg::arch, gdb_assert, gdbarch_tdep(), get_regcache_arch(), gdbarch_tdep::regs, and m32c_reg::write.
Referenced by make_regs().
static CORE_ADDR m32c_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 2032 of file m32c-tdep.c.
References extract_unsigned_integer(), gdb_assert, gdbarch_bfd_arch_info(), gdbarch_byte_order(), gdbarch_tdep(), m32c_reg_arg_type(), m32c_reg::num, gdbarch_tdep::ptr_voyd, gdbarch_tdep::r0, gdbarch_tdep::r1, gdbarch_tdep::r2, regcache_cooked_write(), regcache_cooked_write_unsigned(), gdbarch_tdep::ret_addr_bytes, gdbarch_tdep::sp, TYPE_CODE, TYPE_CODE_FUNC, TYPE_CODE_METHOD, TYPE_CODE_PTR, TYPE_LENGTH, TYPE_NFIELDS, TYPE_PROTOTYPED, TYPE_TARGET_TYPE, ULONGEST, value_contents(), value_type(), write_memory(), and write_memory_unsigned_integer().
Referenced by m32c_gdbarch_init().
static int m32c_pushm_is_reg_save | ( | struct m32c_pv_state * | st, |
int | src | ||
) | [static] |
Definition at line 1488 of file m32c-tdep.c.
References gdbarch_tdep::a0, m32c_pv_state::a0, gdbarch_tdep::a1, m32c_pv_state::a1, m32c_pv_state::arch, gdbarch_tdep::fb, m32c_pv_state::fb, gdbarch_tdep(), m32c_reg::num, pv_is_register(), pv_is_register_k(), gdbarch_tdep::r0, m32c_pv_state::r0, gdbarch_tdep::r1, m32c_pv_state::r1, gdbarch_tdep::r2, m32c_pv_state::r2, gdbarch_tdep::r3, m32c_pv_state::r3, gdbarch_tdep::sb, m32c_pv_state::sb, gdbarch_tdep::sp, and m32c_pv_state::sp.
Referenced by m32c_analyze_prologue().
static int m32c_pv_enter | ( | struct m32c_pv_state * | state, |
int | size | ||
) | [static] |
Definition at line 1357 of file m32c-tdep.c.
References m32c_pv_state::arch, m32c_pv_state::fb, gdbarch_tdep(), m32c_pv_push(), gdbarch_tdep::push_addr_bytes, pv_add_constant(), pv_area_store_would_trash(), m32c_pv_state::sp, and m32c_pv_state::stack.
Referenced by m32c_analyze_prologue().
static int m32c_pv_push | ( | struct m32c_pv_state * | state, |
pv_t | value, | ||
int | size | ||
) | [static] |
Definition at line 1098 of file m32c-tdep.c.
References pv_add_constant(), pv_area_store(), pv_area_store_would_trash(), m32c_pv_state::sp, and m32c_pv_state::stack.
Referenced by m32c_analyze_prologue(), m32c_pv_enter(), and m32c_pv_pushm_one().
static int m32c_pv_pushm | ( | struct m32c_pv_state * | state, |
int | src | ||
) | [static] |
Definition at line 1392 of file m32c-tdep.c.
References m32c_pv_state::a0, m32c_pv_state::a1, m32c_pv_state::arch, m32c_pv_state::fb, gdbarch_tdep(), m32c_pv_pushm_one(), gdbarch_tdep::push_addr_bytes, m32c_pv_state::r0, m32c_pv_state::r1, m32c_pv_state::r2, m32c_pv_state::r3, and m32c_pv_state::sb.
Referenced by m32c_analyze_prologue().
static int m32c_pv_pushm_one | ( | struct m32c_pv_state * | state, |
pv_t | reg, | ||
int | bit, | ||
int | src, | ||
int | size | ||
) | [static] |
Definition at line 1377 of file m32c-tdep.c.
References m32c_pv_push().
Referenced by m32c_pv_pushm().
static enum register_status m32c_r3r2r1r0_read | ( | struct m32c_reg * | reg, |
struct regcache * | cache, | ||
void * | buf | ||
) | [static] |
Definition at line 536 of file m32c-tdep.c.
References m32c_reg::arch, gdbarch_byte_order(), gdbarch_tdep(), len, m32c_reg::num, gdbarch_tdep::r0, gdbarch_tdep::r1, gdbarch_tdep::r2, gdbarch_tdep::r3, REG_VALID, regcache_cooked_read(), exsummary::status, m32c_reg::type, and TYPE_LENGTH.
static enum register_status m32c_r3r2r1r0_write | ( | struct m32c_reg * | reg, |
struct regcache * | cache, | ||
void * | buf | ||
) | [static] |
Definition at line 574 of file m32c-tdep.c.
References m32c_reg::arch, gdbarch_byte_order(), gdbarch_tdep(), len, m32c_reg::num, gdbarch_tdep::r0, gdbarch_tdep::r1, gdbarch_tdep::r2, gdbarch_tdep::r3, REG_VALID, regcache_cooked_write(), m32c_reg::type, and TYPE_LENGTH.
static enum register_status m32c_raw_read | ( | struct m32c_reg * | reg, |
struct regcache * | cache, | ||
void * | buf | ||
) | [static] |
Definition at line 318 of file m32c-tdep.c.
References m32c_reg::num, and regcache_raw_read().
static enum register_status m32c_raw_write | ( | struct m32c_reg * | reg, |
struct regcache * | cache, | ||
void * | buf | ||
) | [static] |
Definition at line 326 of file m32c-tdep.c.
References m32c_reg::num, REG_VALID, and regcache_raw_write().
static int m32c_read_flg | ( | struct regcache * | cache | ) | [static] |
Definition at line 336 of file m32c-tdep.c.
References gdbarch_tdep::flg, gdbarch_tdep(), get_regcache_arch(), m32c_reg::num, regcache_raw_read_unsigned(), and ULONGEST.
Referenced by m32c_banked_register().
static int m32c_reg_arg_type | ( | struct type * | type | ) | [static] |
Definition at line 2018 of file m32c-tdep.c.
References code, TYPE_CODE, TYPE_CODE_BOOL, TYPE_CODE_CHAR, TYPE_CODE_ENUM, TYPE_CODE_INT, TYPE_CODE_PTR, and TYPE_CODE_REF.
Referenced by m32c_push_dummy_call().
static const char* m32c_register_name | ( | struct gdbarch * | gdbarch, |
int | num | ||
) | [static] |
Definition at line 232 of file m32c-tdep.c.
References gdbarch_tdep(), m32c_reg::name, and gdbarch_tdep::regs.
Referenced by make_regs().
static int m32c_register_reggroup_p | ( | struct gdbarch * | gdbarch, |
int | regnum, | ||
struct reggroup * | group | ||
) | [static] |
Definition at line 267 of file m32c-tdep.c.
References all_reggroup, m32c_reg::dma_p, gdbarch_tdep(), m32c_reg::general_p, general_reggroup, m32c_reg::name, regnum, gdbarch_tdep::regs, restore_reggroup, save_reggroup, m32c_reg::save_restore_p, m32c_reg::system_p, and system_reggroup.
Referenced by make_regs().
static int m32c_register_sim_regno | ( | struct gdbarch * | gdbarch, |
int | reg_nr | ||
) | [static] |
Definition at line 246 of file m32c-tdep.c.
References gdbarch_tdep(), gdbarch_tdep::regs, and m32c_reg::sim_num.
Referenced by make_regs().
static struct type* m32c_register_type | ( | struct gdbarch * | arch, |
int | reg_nr | ||
) | [static, read] |
Definition at line 239 of file m32c-tdep.c.
References gdbarch_tdep(), gdbarch_tdep::regs, and m32c_reg::type.
Referenced by make_regs().
static int m32c_return_by_passed_buf | ( | struct type * | type | ) | [static] |
Definition at line 2199 of file m32c-tdep.c.
References code, TYPE_CODE, TYPE_CODE_STRUCT, and TYPE_CODE_UNION.
Referenced by m32c_return_value().
static enum return_value_convention m32c_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 2208 of file m32c-tdep.c.
References _, error(), extract_unsigned_integer(), gdb_assert, gdbarch_byte_order(), gdbarch_tdep(), lookup_minimal_symbol(), m32c_return_by_passed_buf(), m32c_reg::num, gdbarch_tdep::r0, read_memory(), regcache_cooked_read_unsigned(), regcache_cooked_write_unsigned(), RETURN_VALUE_REGISTER_CONVENTION, RETURN_VALUE_STRUCT_CONVENTION, store_unsigned_integer(), SYMBOL_VALUE_ADDRESS, m32c_reg::type, TYPE_LENGTH, ULONGEST, and write_memory().
Referenced by m32c_gdbarch_init().
static enum register_status m32c_sb_read | ( | struct m32c_reg * | reg, |
struct regcache * | cache, | ||
void * | buf | ||
) | [static] |
Definition at line 382 of file m32c-tdep.c.
References m32c_reg::arch, gdbarch_bfd_arch_info(), m32c_banked_read, m32c_raw_read, and m32c_reg::rx.
static enum register_status m32c_sb_write | ( | struct m32c_reg * | reg, |
struct regcache * | cache, | ||
void * | buf | ||
) | [static] |
Definition at line 394 of file m32c-tdep.c.
References m32c_reg::arch, gdbarch_bfd_arch_info(), m32c_banked_write, m32c_raw_write, REG_VALID, and m32c_reg::rx.
static int m32c_sdisp16 | ( | struct m32c_pv_state * | st | ) | [static] |
Definition at line 1197 of file m32c-tdep.c.
References m32c_next_byte(), and m32c_sign_ext().
Referenced by m32c_decode_sd23().
static int m32c_sdisp8 | ( | struct m32c_pv_state * | st | ) | [static] |
Definition at line 1180 of file m32c-tdep.c.
References m32c_next_byte(), and m32c_sign_ext().
Referenced by m32c_decode_sd23(), and m32c_decode_srcdest4().
static int m32c_sign_ext | ( | int | v, |
int | bits | ||
) | [static] |
Definition at line 1159 of file m32c-tdep.c.
Referenced by m32c_sdisp16(), and m32c_sdisp8().
static CORE_ADDR m32c_skip_prologue | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | ip | ||
) | [static] |
Definition at line 1835 of file m32c-tdep.c.
References find_pc_partial_function(), m32c_analyze_prologue(), name, m32c_prologue::prologue_end, and skip_prologue_using_sal().
Referenced by m32c_gdbarch_init().
static CORE_ADDR m32c_skip_trampoline_code | ( | struct frame_info * | frame, |
CORE_ADDR | stop_pc | ||
) | [static] |
Definition at line 2343 of file m32c-tdep.c.
References find_pc_partial_function(), gdbarch_byte_order(), gdbarch_tdep(), get_current_frame(), get_frame_arch(), get_frame_sp(), name, read_memory_unsigned_integer(), gdbarch_tdep::ret_addr_bytes, and gdbarch_tdep::sp.
Referenced by m32c_gdbarch_init().
static pv_t m32c_srcdest_fetch | ( | struct m32c_pv_state * | state, |
struct srcdest | loc, | ||
int | size | ||
) | [static] |
Definition at line 1125 of file m32c-tdep.c.
References srcdest::addr, srcdest::kind, pv_area_fetch(), pv_unknown(), srcdest::reg, and m32c_pv_state::stack.
Referenced by m32c_analyze_prologue(), and m32c_decode_sd23().
static int m32c_srcdest_store | ( | struct m32c_pv_state * | state, |
struct srcdest | loc, | ||
pv_t | value, | ||
int | size | ||
) | [static] |
Definition at line 1140 of file m32c-tdep.c.
References srcdest::addr, srcdest::kind, pv_area_store(), pv_area_store_would_trash(), pv_unknown(), srcdest::reg, and m32c_pv_state::stack.
Referenced by m32c_analyze_prologue().
static void m32c_this_id | ( | struct frame_info * | this_frame, |
void ** | this_prologue_cache, | ||
struct frame_id * | this_id | ||
) | [static] |
Definition at line 1923 of file m32c-tdep.c.
References frame_id_build(), get_frame_func(), and m32c_frame_base().
static int m32c_udisp16 | ( | struct m32c_pv_state * | st | ) | [static] |
Definition at line 1187 of file m32c-tdep.c.
References m32c_next_byte().
Referenced by m32c_analyze_prologue(), m32c_decode_sd23(), and m32c_decode_srcdest4().
static int m32c_udisp24 | ( | struct m32c_pv_state * | st | ) | [static] |
Definition at line 1207 of file m32c-tdep.c.
References m32c_next_byte().
Referenced by m32c_analyze_prologue(), and m32c_decode_sd23().
static int m32c_udisp8 | ( | struct m32c_pv_state * | st | ) | [static] |
Definition at line 1173 of file m32c-tdep.c.
References m32c_next_byte().
Referenced by m32c_decode_sd23(), and m32c_decode_srcdest4().
static CORE_ADDR m32c_unwind_pc | ( | struct gdbarch * | arch, |
struct frame_info * | next_frame | ||
) | [static] |
Definition at line 1971 of file m32c-tdep.c.
References frame_unwind_register_unsigned(), gdbarch_tdep(), m32c_reg::num, and gdbarch_tdep::pc.
Referenced by m32c_gdbarch_init().
static CORE_ADDR m32c_unwind_sp | ( | struct gdbarch * | arch, |
struct frame_info * | next_frame | ||
) | [static] |
Definition at line 1979 of file m32c-tdep.c.
References frame_unwind_register_unsigned(), gdbarch_tdep(), m32c_reg::num, and gdbarch_tdep::sp.
Referenced by m32c_gdbarch_init().
static void m32c_virtual_frame_pointer | ( | struct gdbarch * | gdbarch, |
CORE_ADDR | pc, | ||
int * | frame_regnum, | ||
LONGEST * | frame_offset | ||
) | [static] |
Definition at line 2585 of file m32c-tdep.c.
References _, gdbarch_tdep::fb, find_pc_partial_function(), m32c_prologue::frame_ptr_offset, m32c_prologue::frame_size, gdbarch_num_regs(), gdbarch_tdep(), get_current_regcache(), internal_error(), m32c_prologue::kind, m32c_analyze_prologue(), m32c_banked_register(), name, m32c_reg::num, and gdbarch_tdep::sp.
Referenced by m32c_gdbarch_init().
Definition at line 809 of file m32c-tdep.c.
References gdbarch_tdep::a0, gdbarch_tdep::a1, add_reg(), all_reggroup, CB, CCAT, CHL, gdbarch_tdep::data_addr_reg_type, DMA, gdbarch_tdep::dwarf_regs, gdbarch_tdep::fb, FLAGBIT_U, gdbarch_tdep::flg, G, gdbarch_bfd_arch_info(), gdbarch_tdep(), general_reggroup, gdbarch_tdep::int16, gdbarch_tdep::int32, gdbarch_tdep::int64, gdbarch_tdep::int8, m32c_banked_read, m32c_banked_write, m32c_debug_info_reg_to_regnum(), m32c_pseudo_register_read(), m32c_pseudo_register_write(), m32c_r3r2r1r0_read, m32c_r3r2r1r0_write, m32c_register_name(), m32c_register_reggroup_p(), m32c_register_sim_regno(), m32c_register_type(), m32c_sb_read, m32c_sb_write, mark_save_restore(), memset(), m32c_reg::num, gdbarch_tdep::num_regs, gdbarch_tdep::pc, gdbarch_tdep::r0, gdbarch_tdep::r1, R16U, gdbarch_tdep::r2, gdbarch_tdep::r2r0, gdbarch_tdep::r3, gdbarch_tdep::r3r1r2r0, gdbarch_tdep::r3r2r1r0, RA, RBA, RBD, RC, reggroup_add(), restore_reggroup, RP, S, save_reggroup, gdbarch_tdep::sb, set_dwarf_regnum(), set_gdbarch_dwarf2_reg_to_regnum(), set_gdbarch_num_pseudo_regs(), set_gdbarch_num_regs(), set_gdbarch_pc_regnum(), set_gdbarch_pseudo_register_read(), set_gdbarch_pseudo_register_write(), set_gdbarch_register_name(), set_gdbarch_register_reggroup_p(), set_gdbarch_register_sim_regno(), set_gdbarch_register_type(), set_gdbarch_sp_regnum(), set_gdbarch_stab_reg_to_regnum(), gdbarch_tdep::sp, sp, system_reggroup, m32c_reg::type, gdbarch_tdep::uint16, and gdbarch_tdep::uint8.
Referenced by m32c_gdbarch_init().
static void make_types | ( | struct gdbarch * | arch | ) | [static] |
Definition at line 150 of file m32c-tdep.c.
References arch_integer_type(), arch_type(), gdbarch_tdep::code_addr_reg_type, gdbarch_tdep::data_addr_reg_type, gdbarch_tdep::func_voyd, gdb_assert_not_reached, gdbarch_bfd_arch_info(), gdbarch_ptr_bit(), gdbarch_tdep(), gdbarch_tdep::int16, gdbarch_tdep::int32, gdbarch_tdep::int64, gdbarch_tdep::int8, lookup_function_type(), gdbarch_tdep::ptr_voyd, gdbarch_tdep::push_addr_bytes, gdbarch_tdep::ret_addr_bytes, set_gdbarch_addr_bit(), set_gdbarch_int_bit(), set_gdbarch_ptr_bit(), TYPE_CODE_PTR, TYPE_CODE_VOID, TYPE_TARGET_TYPE, TYPE_UNSIGNED, gdbarch_tdep::uint16, gdbarch_tdep::uint8, gdbarch_tdep::voyd, and xsnprintf().
Referenced by m32c_gdbarch_init().
Definition at line 704 of file m32c-tdep.c.
References m32c_reg::dma_p.
static struct m32c_reg* mark_general | ( | struct m32c_reg * | reg | ) | [static, read] |
Definition at line 695 of file m32c-tdep.c.
References m32c_reg::general_p.
static struct m32c_reg* mark_save_restore | ( | struct m32c_reg * | reg | ) | [static, read] |
Definition at line 722 of file m32c-tdep.c.
References m32c_reg::save_restore_p.
Referenced by make_regs().
static struct m32c_reg* mark_system | ( | struct m32c_reg * | reg | ) | [static, read] |
Definition at line 713 of file m32c-tdep.c.
References m32c_reg::system_p.
static void set_dwarf_regnum | ( | struct m32c_reg * | reg, |
int | num | ||
) | [static] |
Definition at line 679 of file m32c-tdep.c.
References m32c_reg::arch, m32c_reg::dwarf_num, gdbarch_tdep::dwarf_regs, gdb_assert, gdbarch_tdep(), M32C_MAX_NUM_REGS, and m32c_reg::num.
Referenced by make_regs().
Referenced by _initialize_m32c_tdep(), and initialize_all_files().
m32c_move_reg_t m32c_banked_read [static] |
Definition at line 309 of file m32c-tdep.c.
Referenced by m32c_sb_read(), and make_regs().
m32c_move_reg_t m32c_banked_write [static] |
Definition at line 309 of file m32c-tdep.c.
Referenced by m32c_sb_write(), and make_regs().
m32c_move_reg_t m32c_cat_read [static] |
Definition at line 312 of file m32c-tdep.c.
m32c_move_reg_t m32c_cat_write [static] |
Definition at line 312 of file m32c-tdep.c.
struct reggroup* m32c_dma_reggroup [static] |
Definition at line 50 of file m32c-tdep.c.
m32c_move_reg_t m32c_part_read [static] |
Definition at line 311 of file m32c-tdep.c.
m32c_move_reg_t m32c_part_write [static] |
Definition at line 311 of file m32c-tdep.c.
m32c_move_reg_t m32c_r3r2r1r0_read [static] |
Definition at line 313 of file m32c-tdep.c.
Referenced by make_regs().
m32c_move_reg_t m32c_r3r2r1r0_write [static] |
Definition at line 313 of file m32c-tdep.c.
Referenced by make_regs().
m32c_move_reg_t m32c_raw_read [static] |
Definition at line 308 of file m32c-tdep.c.
Referenced by m32c_sb_read().
m32c_move_reg_t m32c_raw_write [static] |
Definition at line 308 of file m32c-tdep.c.
Referenced by m32c_sb_write().
m32c_move_reg_t m32c_sb_read [static] |
Definition at line 310 of file m32c-tdep.c.
Referenced by make_regs().
m32c_move_reg_t m32c_sb_write [static] |
Definition at line 310 of file m32c-tdep.c.
Referenced by make_regs().
struct frame_unwind m32c_unwind [static] |
{ NORMAL_FRAME, default_frame_unwind_stop_reason, m32c_this_id, m32c_prev_register, NULL, default_frame_sniffer }
Definition at line 1960 of file m32c-tdep.c.