+ set_gdbarch_register_virtual_type (gdbarch, mn10300_register_virtual_type);
+ set_gdbarch_dwarf2_reg_to_regnum (gdbarch, mn10300_dwarf2_reg_to_regnum);
+ set_gdbarch_do_registers_info (gdbarch, mn10300_do_registers_info);
+ set_gdbarch_fp_regnum (gdbarch, 31);
+
+ /* Breakpoints. */
+ set_gdbarch_breakpoint_from_pc (gdbarch, mn10300_breakpoint_from_pc);
+ set_gdbarch_function_start_offset (gdbarch, 0);
+ set_gdbarch_decr_pc_after_break (gdbarch, 0);
+
+ /* Stack unwinding. */
+ set_gdbarch_get_saved_register (gdbarch, generic_get_saved_register);
+ set_gdbarch_frame_chain_valid (gdbarch, generic_file_frame_chain_valid);
+ set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
+ set_gdbarch_frame_chain_valid (gdbarch, generic_file_frame_chain_valid);
+ set_gdbarch_saved_pc_after_call (gdbarch, mn10300_saved_pc_after_call);
+ set_gdbarch_init_extra_frame_info (gdbarch, mn10300_init_extra_frame_info);
+ set_gdbarch_frame_init_saved_regs (gdbarch, mn10300_frame_init_saved_regs);
+ set_gdbarch_frame_chain (gdbarch, mn10300_frame_chain);
+ set_gdbarch_frame_saved_pc (gdbarch, mn10300_frame_saved_pc);
+ set_gdbarch_extract_return_value (gdbarch, mn10300_extract_return_value);
+ set_gdbarch_extract_struct_value_address
+ (gdbarch, mn10300_extract_struct_value_address);
+ set_gdbarch_store_return_value (gdbarch, mn10300_store_return_value);
+ set_gdbarch_store_struct_return (gdbarch, mn10300_store_struct_return);
+ set_gdbarch_pop_frame (gdbarch, mn10300_pop_frame);
+ set_gdbarch_skip_prologue (gdbarch, mn10300_skip_prologue);
+ set_gdbarch_frame_args_skip (gdbarch, 0);
+ set_gdbarch_frame_args_address (gdbarch, default_frame_address);
+ set_gdbarch_frame_locals_address (gdbarch, default_frame_address);
+ set_gdbarch_frame_num_args (gdbarch, frame_num_args_unknown);
+ /* That's right, we're using the stack pointer as our frame pointer. */
+ set_gdbarch_read_fp (gdbarch, generic_target_read_sp);
+
+ /* Calling functions in the inferior from GDB. */