2002-05-11 Daniel Jacobowitz <drow@mvista.com>
[deliverable/binutils-gdb.git] / gdb / m68hc11-tdep.c
index 863dc907e020871a1cf8a5ebef5579a43271b248..6d00ab1faf592d7eafc4241bb49dda258fde11b9 100644 (file)
@@ -1,5 +1,5 @@
 /* Target-dependent code for Motorola 68HC11 & 68HC12
-   Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
+   Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    Contributed by Stephane Carrez, stcarrez@worldnet.fr
 
 This file is part of GDB.
@@ -270,7 +270,7 @@ m68hc11_register_name (int reg_nr)
   return m68hc11_register_names[reg_nr];
 }
 
-static unsigned char *
+static const unsigned char *
 m68hc11_breakpoint_from_pc (CORE_ADDR *pcptr, int *lenptr)
 {
   static unsigned char breakpoint[] = {0x0};
@@ -808,7 +808,7 @@ m68hc11_stack_align (CORE_ADDR addr)
 
 static CORE_ADDR
 m68hc11_push_arguments (int nargs,
-                        value_ptr *args,
+                        struct value **args,
                         CORE_ADDR sp,
                         int struct_return,
                         CORE_ADDR struct_addr)
@@ -1060,10 +1060,13 @@ m68hc11_gdbarch_init (struct gdbarch_info info,
     default:
       break;
     }
-  
-  /* Initially set everything according to the ABI.  */
+
+  /* Initially set everything according to the ABI.
+     Use 16-bit integers since it will be the case for most
+     programs.  The size of these types should normally be set
+     according to the dwarf2 debug information.  */
   set_gdbarch_short_bit (gdbarch, 16);
-  set_gdbarch_int_bit (gdbarch, 32);
+  set_gdbarch_int_bit (gdbarch, 16);
   set_gdbarch_float_bit (gdbarch, 32);
   set_gdbarch_double_bit (gdbarch, 64);
   set_gdbarch_long_double_bit (gdbarch, 64);
@@ -1084,7 +1087,6 @@ m68hc11_gdbarch_init (struct gdbarch_info info,
   set_gdbarch_read_pc (gdbarch, generic_target_read_pc);
   set_gdbarch_write_pc (gdbarch, generic_target_write_pc);
   set_gdbarch_read_fp (gdbarch, generic_target_read_fp);
-  set_gdbarch_write_fp (gdbarch, generic_target_write_fp);
   set_gdbarch_read_sp (gdbarch, generic_target_read_sp);
   set_gdbarch_write_sp (gdbarch, generic_target_write_sp);
 
@@ -1152,9 +1154,9 @@ m68hc11_gdbarch_init (struct gdbarch_info info,
   set_gdbarch_function_start_offset (gdbarch, 0);
   set_gdbarch_breakpoint_from_pc (gdbarch, m68hc11_breakpoint_from_pc);
   set_gdbarch_stack_align (gdbarch, m68hc11_stack_align);
+  set_gdbarch_print_insn (gdbarch, gdb_print_insn_m68hc11);
 
   set_gdbarch_believe_pcc_promotion (gdbarch, 1);
-  set_gdbarch_ieee_float (gdbarch, 1);
 
   return gdbarch;
 }
@@ -1164,8 +1166,6 @@ _initialize_m68hc11_tdep (void)
 {
   register_gdbarch_init (bfd_arch_m68hc11, m68hc11_gdbarch_init);
   register_gdbarch_init (bfd_arch_m68hc12, m68hc11_gdbarch_init);
-  if (!tm_print_insn)          /* Someone may have already set it */
-    tm_print_insn = gdb_print_insn_m68hc11;
 
   add_com ("regs", class_vars, show_regs, "Print all registers");
 } 
This page took 0.024581 seconds and 4 git commands to generate.