* bsd-kvm.c, bsd-kvm.h: New files.
[deliverable/binutils-gdb.git] / gdb / m68hc11-tdep.c
index ad68b6024f595a8cacf8f3b7a496a18ad5990b52..e7e1a1afa3e8819ae68c7a15d2faaaf38eca9086 100644 (file)
@@ -1,5 +1,8 @@
 /* Target-dependent code for Motorola 68HC11 & 68HC12
-   Copyright 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+
+   Copyright 1999, 2000, 2001, 2002, 2003, 2004 Free Software
+   Foundation, Inc.
+
    Contributed by Stephane Carrez, stcarrez@nerim.fr
 
 This file is part of GDB.
@@ -50,16 +53,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
    analysis to compute correct stack frame layout.
    
    The MSB of the minimal symbol's "info" field is used for this purpose.
-   This field is already being used to store the symbol size, so the
-   assumption is that the symbol size cannot exceed 2^30.
 
    MSYMBOL_SET_RTC     Actually sets the "RTC" bit.
    MSYMBOL_SET_RTI     Actually sets the "RTI" bit.
    MSYMBOL_IS_RTC       Tests the "RTC" bit in a minimal symbol.
-   MSYMBOL_IS_RTI       Tests the "RTC" bit in a minimal symbol.
-   MSYMBOL_SIZE         Returns the size of the minimal symbol,
-                       i.e. the "info" field with the "special" bit
-                       masked out.  */
+   MSYMBOL_IS_RTI       Tests the "RTC" bit in a minimal symbol.  */
 
 #define MSYMBOL_SET_RTC(msym)                                           \
         MSYMBOL_INFO (msym) = (char *) (((long) MSYMBOL_INFO (msym))   \
@@ -75,9 +73,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #define MSYMBOL_IS_RTI(msym)                           \
        (((long) MSYMBOL_INFO (msym) & 0x40000000) != 0)
 
-#define MSYMBOL_SIZE(msym)                             \
-       ((long) MSYMBOL_INFO (msym) & 0x3fffffff)
-
 enum insn_return_kind {
   RETURN_RTS,
   RETURN_RTC,
@@ -390,6 +385,8 @@ m68hc11_register_name (int reg_nr)
   if (reg_nr >= M68HC11_ALL_REGS)
     return NULL;
 
+  m68hc11_initialize_register_info ();
+
   /* If we don't know the address of a soft register, pretend it
      does not exist.  */
   if (reg_nr > M68HC11_LAST_HARD_REG && soft_regs[reg_nr].name == 0)
@@ -894,11 +891,6 @@ m68hc11_frame_this_id (struct frame_info *next_frame,
   /* The FUNC is easy.  */
   func = frame_func_unwind (next_frame);
 
-  /* This is meant to halt the backtrace at "_start".  Make sure we
-     don't halt it at a generic dummy frame. */
-  if (deprecated_inside_entry_file (func))
-    return;
-
   /* Hopefully the prologue analysis either correctly determined the
      frame's base (which is the SP from the previous frame), or set
      that base to "NULL".  */
@@ -907,16 +899,6 @@ m68hc11_frame_this_id (struct frame_info *next_frame,
     return;
 
   id = frame_id_build (base, func);
-#if 0
-  /* Check that we're not going round in circles with the same frame
-     ID (but avoid applying the test to sentinel frames which do go
-     round in circles).  Can't use frame_id_eq() as that doesn't yet
-     compare the frame's PC value.  */
-  if (frame_relative_level (next_frame) >= 0
-      && get_frame_type (next_frame) != DUMMY_FRAME
-      && frame_id_eq (get_frame_id (next_frame), id))
-    return;
-#endif
   (*this_id) = id;
 }
 
@@ -1546,7 +1528,6 @@ m68hc11_gdbarch_init (struct gdbarch_info info,
 
   /* Set register info.  */
   set_gdbarch_fp0_regnum (gdbarch, -1);
-  set_gdbarch_frame_args_skip (gdbarch, 0);
 
   set_gdbarch_write_pc (gdbarch, generic_target_write_pc);
 
@@ -1562,15 +1543,10 @@ m68hc11_gdbarch_init (struct gdbarch_info info,
   set_gdbarch_return_value_on_stack (gdbarch, m68hc11_return_value_on_stack);
 
   set_gdbarch_store_return_value (gdbarch, m68hc11_store_return_value);
-  set_gdbarch_extract_struct_value_address (gdbarch, m68hc11_extract_struct_value_address);
-
-  set_gdbarch_store_return_value (gdbarch, m68hc11_store_return_value);
-  set_gdbarch_extract_struct_value_address (gdbarch, m68hc11_extract_struct_value_address);
+  set_gdbarch_deprecated_extract_struct_value_address (gdbarch, m68hc11_extract_struct_value_address);
   set_gdbarch_use_struct_convention (gdbarch, m68hc11_use_struct_convention);
   set_gdbarch_skip_prologue (gdbarch, m68hc11_skip_prologue);
   set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
-  set_gdbarch_decr_pc_after_break (gdbarch, 0);
-  set_gdbarch_function_start_offset (gdbarch, 0);
   set_gdbarch_breakpoint_from_pc (gdbarch, m68hc11_breakpoint_from_pc);
   set_gdbarch_deprecated_stack_align (gdbarch, m68hc11_stack_align);
   set_gdbarch_print_insn (gdbarch, gdb_print_insn_m68hc11);
This page took 0.024748 seconds and 4 git commands to generate.