2001-05-08 Jim Blandy <jimb@redhat.com>
+ * Makefile.in (mn10300-tdep.o): New rule.
+
+ * Makefile.in (gdb_string_h): Define. Use it throughout.
+ Some rules were already using this, even though it isn't defined.
+
+ * Makefile.in (obstack_h, target_h): Define; these are already
+ used elsewhere, but have been expanding to the empty string.
+ (memattr_h): Define; needed by target_h.
+
+ * mn10300-tdep.c (mn10300_extract_return_value): Mark this as
+ static. (This was accidentally omitted from the earlier patch.)
+
+ * mn10300-tdep.c (mn10300_dwarf2_reg_to_regnum): New function.
+ (mn10300_gdbarch_init): Register it as the architecture's
+ dwarf2_reg_to_regnum method.
+
+ Correct and expand handling of `movm' instruction, and register
+ saves in general.
+ * config/mn10300/tm-mn10300.h (D0_REGNUM, A0_REGNUM, MDRQ_REGNUM,
+ MCRH_REGNUM, MCRL_REGNUM, MCVF_REGNUM): New definitions.
+ (enum movm_register_bits): New enum.
+ * mn10300-tdep.c (set_movm_offsets): Use symbolic names for the
+ bits, not hex literals. Handle the `other', `exreg0', and
+ `exother' bits. Correct handling of `exreg1': it saves r4, r5,
+ r6, and r7, not r2, r3, r4, and r5.
+ (saved_regs_size): New function.
+ (mn10300_frame_chain, mn10300_frame_saved_pc): Use it, instead
+ of computing the same thing inline, incorrectly.
+
+ * mn10300-tdep.c (mn10300_gdbarch_init): We do have a
+ dummy_breakpoint_offset; it's zero.
+
+ * mn10300-tdep.c (mn10300_pop_frame): Split the mn10300-specific
+ stuff out into mn10300_pop_frame_regular, and use
+ generic_pop_current_frame. This lets us share code, and also
+ makes this function's prototype match that expected by gdbarch.
+ Make this function static.
+ (mn10300_pop_frame_regular): New function.
+ (mn10300_gdbarch_init): Register mn10300_pop_frame as the
+ gdbarch's pop_frame method.
+ * config/mn10300/tm-mn10300.h (POP_FRAME): Delete definition.
+ (mn10300_pop_frame): Delete declaration.
+
+ * mn10300-tdep.c (mn10300_saved_pc_after_call,
+ mn10300_extract_return_value,
+ mn10300_extract_struct_value_address, mn10300_store_return_value,
+ mn10300_use_struct_convention, mn10300_breakpoint_from_pc,
+ mn10300_frame_chain, mn10300_skip_prologue,
+ mn10300_push_arguments, mn10300_push_return_address,
+ mn10300_store_struct_return, mn10300_frame_saved_pc,
+ mn10300_init_extra_frame_info, mn10300_frame_init_saved_regs):
+ Make these functions static; they should only be visible to the
+ outside world as gdbarch methods.
+
+ * config/mn10300/tm-mn10300.h (mn10300_find_callers_reg): Delete
+ unused declaration.
+
+ * mn10300-tdep.c (mn10300_gdbarch_init): Put the gdbarch methods
+ in some rational order.
+
* mn10300-tdep.c (mn10300_gdbarch_init): Rather than using
generic_pc_in_call_dummy, use pc_in_call_dummy_at_entry_point.