gdb/
[deliverable/binutils-gdb.git] / gdb / h8300-tdep.c
index ed4103d9a257cd8b422e6228dc895b9dbb48a05f..237f4a3be8a9276d17ad81a1b8c04fe945b7b557 100644 (file)
@@ -1,8 +1,7 @@
 /* Target-machine dependent code for Renesas H8/300, for GDB.
 
-   Copyright (C) 1988, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999,
-   2000, 2001, 2002, 2003, 2005, 2007, 2008, 2009, 2010, 2011
-   Free Software Foundation, Inc.
+   Copyright (C) 1988, 1990-1996, 1998-2003, 2005, 2007-2012 Free
+   Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -431,7 +430,6 @@ h8300_frame_cache (struct frame_info *this_frame, void **this_cache)
 {
   struct gdbarch *gdbarch = get_frame_arch (this_frame);
   struct h8300_frame_cache *cache;
-  char buf[4];
   int i;
   CORE_ADDR current_pc;
 
@@ -526,6 +524,7 @@ h8300_frame_prev_register (struct frame_info *this_frame, void **this_cache,
 
 static const struct frame_unwind h8300_frame_unwind = {
   NORMAL_FRAME,
+  default_frame_unwind_stop_reason,
   h8300_frame_this_id,
   h8300_frame_prev_register,
   NULL,
@@ -698,9 +697,8 @@ h8300_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
          else
            {
              /* Heavens to Betsy --- it's really going in registers!
-                It would be nice if we could use write_register_bytes
-                here, but on the h8/300s, there are gaps between
-                the registers in the register file.  */
+                Note that on the h8/300s, there are gaps between the
+                registers in the register file.  */
              int offset;
 
              for (offset = 0; offset < padded_len; offset += wordsize)
@@ -771,7 +769,7 @@ h8300_extract_return_value (struct type *type, struct regcache *regcache,
        }
       else
        {
-         error ("I don't know how this 8 byte value is returned.");
+         error (_("I don't know how this 8 byte value is returned."));
        }
       break;
     }
@@ -784,7 +782,7 @@ h8300h_extract_return_value (struct type *type, struct regcache *regcache,
   struct gdbarch *gdbarch = get_regcache_arch (regcache);
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
   int len = TYPE_LENGTH (type);
-  ULONGEST c, addr;
+  ULONGEST c;
 
   switch (len)
     {
@@ -805,7 +803,7 @@ h8300h_extract_return_value (struct type *type, struct regcache *regcache,
        }
       else
        {
-         error ("I don't know how this 8 byte value is returned.");
+         error (_("I don't know how this 8 byte value is returned."));
        }
       break;
     }
@@ -869,7 +867,7 @@ h8300_store_return_value (struct type *type, struct regcache *regcache,
     case 8:                    /* long long, double and long double
                                   are all defined as 4 byte types so
                                   far so this shouldn't happen.  */
-      error ("I don't know how to return an 8 byte value.");
+      error (_("I don't know how to return an 8 byte value."));
       break;
     }
 }
@@ -902,7 +900,7 @@ h8300h_store_return_value (struct type *type, struct regcache *regcache,
 }
 
 static enum return_value_convention
-h8300_return_value (struct gdbarch *gdbarch, struct type *func_type,
+h8300_return_value (struct gdbarch *gdbarch, struct value *function,
                    struct type *type, struct regcache *regcache,
                    gdb_byte *readbuf, const gdb_byte *writebuf)
 {
@@ -916,7 +914,7 @@ h8300_return_value (struct gdbarch *gdbarch, struct type *func_type,
 }
 
 static enum return_value_convention
-h8300h_return_value (struct gdbarch *gdbarch, struct type *func_type,
+h8300h_return_value (struct gdbarch *gdbarch, struct value *function,
                     struct type *type, struct regcache *regcache,
                     gdb_byte *readbuf, const gdb_byte *writebuf)
 {
@@ -954,7 +952,8 @@ h8300_register_name (struct gdbarch *gdbarch, int regno)
   if (regno < 0
       || regno >= (sizeof (register_names) / sizeof (*register_names)))
     internal_error (__FILE__, __LINE__,
-                   "h8300_register_name: illegal register number %d", regno);
+                   _("h8300_register_name: illegal register number %d"),
+                   regno);
   else
     return register_names[regno];
 }
@@ -971,7 +970,7 @@ h8300s_register_name (struct gdbarch *gdbarch, int regno)
   if (regno < 0
       || regno >= (sizeof (register_names) / sizeof (*register_names)))
     internal_error (__FILE__, __LINE__,
-                   "h8300s_register_name: illegal register number %d",
+                   _("h8300s_register_name: illegal register number %d"),
                    regno);
   else
     return register_names[regno];
@@ -989,7 +988,7 @@ h8300sx_register_name (struct gdbarch *gdbarch, int regno)
   if (regno < 0
       || regno >= (sizeof (register_names) / sizeof (*register_names)))
     internal_error (__FILE__, __LINE__,
-                   "h8300sx_register_name: illegal register number %d",
+                   _("h8300sx_register_name: illegal register number %d"),
                    regno);
   else
     return register_names[regno];
@@ -1125,7 +1124,8 @@ h8300_register_type (struct gdbarch *gdbarch, int regno)
   if (regno < 0 || regno >= gdbarch_num_regs (gdbarch)
                            + gdbarch_num_pseudo_regs (gdbarch))
     internal_error (__FILE__, __LINE__,
-                   "h8300_register_type: illegal register number %d", regno);
+                   _("h8300_register_type: illegal register number %d"),
+                   regno);
   else
     {
       switch (regno)
@@ -1148,17 +1148,17 @@ h8300_register_type (struct gdbarch *gdbarch, int regno)
     }
 }
 
-static void
+static enum register_status
 h8300_pseudo_register_read (struct gdbarch *gdbarch,
                            struct regcache *regcache, int regno,
                            gdb_byte *buf)
 {
   if (regno == E_PSEUDO_CCR_REGNUM (gdbarch))
-    regcache_raw_read (regcache, E_CCR_REGNUM, buf);
+    return regcache_raw_read (regcache, E_CCR_REGNUM, buf);
   else if (regno == E_PSEUDO_EXR_REGNUM (gdbarch))
-    regcache_raw_read (regcache, E_EXR_REGNUM, buf);
+    return regcache_raw_read (regcache, E_EXR_REGNUM, buf);
   else
-    regcache_raw_read (regcache, regno, buf);
+    return regcache_raw_read (regcache, regno, buf);
 }
 
 static void
This page took 0.026348 seconds and 4 git commands to generate.