* gdbarch.sh (software_single_step): Replace REGCACHE argument by
[deliverable/binutils-gdb.git] / gdb / std-regs.c
index 1241852383abb7fc151008efbea380fc172aa378..2aa5b36dfcd59db57b4d67f014fea2a7f83f333c 100644 (file)
@@ -1,6 +1,6 @@
 /* Builtin frame register, for GDB, the GNU debugger.
 
-   Copyright 2002 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2005, 2007 Free Software Foundation, Inc.
 
    Contributed by Red Hat.
 
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
 
 #include "defs.h"
-#include "builtin-regs.h"
+#include "user-regs.h"
 #include "frame.h"
 #include "gdbtypes.h"
 #include "value.h"
@@ -53,26 +53,26 @@ build_builtin_type_frame_reg (void)
 }
 
 static struct value *
-value_of_builtin_frame_reg (struct frame_info *frame)
+value_of_builtin_frame_reg (struct frame_info *frame, const void *baton)
 {
   struct value *val;
-  char *buf;
+  gdb_byte *buf;
   build_builtin_type_frame_reg ();
   val = allocate_value (builtin_type_frame_reg);
   VALUE_LVAL (val) = not_lval;
-  buf = VALUE_CONTENTS_RAW (val);
-  memset (buf, TYPE_LENGTH (VALUE_TYPE (val)), 0);
+  buf = value_contents_raw (val);
+  memset (buf, 0, TYPE_LENGTH (value_type (val)));
   /* frame.base.  */
   if (frame != NULL)
-    ADDRESS_TO_POINTER (builtin_type_void_data_ptr, buf,
-                       get_frame_base (frame));
+    gdbarch_address_to_pointer (current_gdbarch, builtin_type_void_data_ptr,
+                               buf, get_frame_base (frame));
   buf += TYPE_LENGTH (builtin_type_void_data_ptr);
   /* frame.XXX.  */
   return val;
 }
 
 static struct value *
-value_of_builtin_frame_fp_reg (struct frame_info *frame)
+value_of_builtin_frame_fp_reg (struct frame_info *frame, const void *baton)
 {
   if (DEPRECATED_FP_REGNUM >= 0)
     /* NOTE: cagney/2003-04-24: Since the mere presence of "fp" in the
@@ -85,52 +85,52 @@ value_of_builtin_frame_fp_reg (struct frame_info *frame)
   else
     {
       struct value *val = allocate_value (builtin_type_void_data_ptr);
-      char *buf = VALUE_CONTENTS_RAW (val);
+      gdb_byte *buf = value_contents_raw (val);
       if (frame == NULL)
-       memset (buf, TYPE_LENGTH (VALUE_TYPE (val)), 0);
+       memset (buf, 0, TYPE_LENGTH (value_type (val)));
       else
-       ADDRESS_TO_POINTER (builtin_type_void_data_ptr, buf,
-                           get_frame_base (frame));
+       gdbarch_address_to_pointer (current_gdbarch, builtin_type_void_data_ptr,
+                                   buf, get_frame_base_address (frame));
       return val;
     }
 }
 
 static struct value *
-value_of_builtin_frame_pc_reg (struct frame_info *frame)
+value_of_builtin_frame_pc_reg (struct frame_info *frame, const void *baton)
 {
   if (PC_REGNUM >= 0)
     return value_of_register (PC_REGNUM, frame);
   else
     {
       struct value *val = allocate_value (builtin_type_void_data_ptr);
-      char *buf = VALUE_CONTENTS_RAW (val);
+      gdb_byte *buf = value_contents_raw (val);
       if (frame == NULL)
-       memset (buf, TYPE_LENGTH (VALUE_TYPE (val)), 0);
+       memset (buf, 0, TYPE_LENGTH (value_type (val)));
       else
-       ADDRESS_TO_POINTER (builtin_type_void_data_ptr, buf,
-                           get_frame_pc (frame));
+       gdbarch_address_to_pointer (current_gdbarch, builtin_type_void_data_ptr,
+                                    buf, get_frame_pc (frame));
       return val;
     }
 }
 
 static struct value *
-value_of_builtin_frame_sp_reg (struct frame_info *frame)
+value_of_builtin_frame_sp_reg (struct frame_info *frame, const void *baton)
 {
 #ifdef SP_REGNUM
   if (SP_REGNUM >= 0)
     return value_of_register (SP_REGNUM, frame);
 #endif
-  error ("Standard register ``$sp'' is not available for this target");
+  error (_("Standard register ``$sp'' is not available for this target"));
 }
 
 static struct value *
-value_of_builtin_frame_ps_reg (struct frame_info *frame)
+value_of_builtin_frame_ps_reg (struct frame_info *frame, const void *baton)
 {
 #ifdef PS_REGNUM
   if (PS_REGNUM >= 0)
     return value_of_register (PS_REGNUM, frame);
 #endif
-  error ("Standard register ``$ps'' is not available for this target");
+  error (_("Standard register ``$ps'' is not available for this target"));
 }
 
 extern initialize_file_ftype _initialize_frame_reg; /* -Wmissing-prototypes */
@@ -142,19 +142,19 @@ _initialize_frame_reg (void)
      can't be initialized using _initialize*() or gdbarch.  Due mainly
      to non-multi-arch targets, GDB initializes things piece meal and,
      as a consequence can leave these types NULL.  */
-  REGISTER_GDBARCH_SWAP (builtin_type_frame_reg);
+  DEPRECATED_REGISTER_GDBARCH_SWAP (builtin_type_frame_reg);
 
   /* Frame based $fp, $pc, $sp and $ps.  These only come into play
      when the target does not define its own version of these
      registers.  */
-  add_builtin_reg ("fp", value_of_builtin_frame_fp_reg);
-  add_builtin_reg ("pc", value_of_builtin_frame_pc_reg);
-  add_builtin_reg ("sp", value_of_builtin_frame_sp_reg);
-  add_builtin_reg ("ps", value_of_builtin_frame_ps_reg);
+  user_reg_add_builtin ("fp", value_of_builtin_frame_fp_reg, NULL);
+  user_reg_add_builtin ("pc", value_of_builtin_frame_pc_reg, NULL);
+  user_reg_add_builtin ("sp", value_of_builtin_frame_sp_reg, NULL);
+  user_reg_add_builtin ("ps", value_of_builtin_frame_ps_reg, NULL);
 
   /* NOTE: cagney/2002-04-05: For moment leave the $frame / $gdbframe
      / $gdb.frame disabled.  It isn't yet clear which of the many
      options is the best.  */
   if (0)
-    add_builtin_reg ("frame", value_of_builtin_frame_reg);
+    user_reg_add_builtin ("frame", value_of_builtin_frame_reg, NULL);
 }
This page took 0.026656 seconds and 4 git commands to generate.