2007-06-12 Markus Deuling <deuling@de.ibm.com>
authorUlrich Weigand <uweigand@de.ibm.com>
Tue, 12 Jun 2007 16:51:13 +0000 (16:51 +0000)
committerUlrich Weigand <uweigand@de.ibm.com>
Tue, 12 Jun 2007 16:51:13 +0000 (16:51 +0000)
* gdbarch.sh (REGISTER_TO_VALUE): Replace by gdbarch_register_to_value.
* findvar.c (value_from_register): Likewise.
* gdbarch.sh (VALUE_TO_REGISTER): Replace by gdbarch_value_to_register.
* valops.c (value_assign): Likewise.
* gdbarch.sh (CONVERT_REGISTER_P): Replace by
gdbarch_convert_register_p.
* findvar.c (value_from_register): Likewise.
* valops.c (value_assign): Likewise.
* gdbarch.c, gdbarch.h: Regenerate.

gdb/ChangeLog
gdb/findvar.c
gdb/gdbarch.c
gdb/gdbarch.h
gdb/gdbarch.sh
gdb/valops.c

index 15ca1d25987a03e2dedaeb69760b80f25678dafb..20960f3eeecf57694cb0fd4ba5f98c7254f23196 100644 (file)
@@ -1,3 +1,15 @@
+2007-06-12  Markus Deuling  <deuling@de.ibm.com>
+
+       * gdbarch.sh (REGISTER_TO_VALUE): Replace by gdbarch_register_to_value.
+       * findvar.c (value_from_register): Likewise.
+       * gdbarch.sh (VALUE_TO_REGISTER): Replace by gdbarch_value_to_register.
+       * valops.c (value_assign): Likewise.
+       * gdbarch.sh (CONVERT_REGISTER_P): Replace by
+       gdbarch_convert_register_p.
+       * findvar.c (value_from_register): Likewise.
+       * valops.c (value_assign): Likewise.
+       * gdbarch.c, gdbarch.h: Regenerate.
+
 2007-06-12  Markus Deuling  <deuling@de.ibm.com>
 
        * gdbarch.sh (REGISTER_SIM_REGNO): Replace by
index 971bb4444fa8d266c2608da966682c22925581f3..839e988ccf30ded8ba27eeeb1a7fa659c65c7dca 100644 (file)
@@ -624,20 +624,21 @@ value_from_register (struct type *type, int regnum, struct frame_info *frame)
   struct type *type1 = check_typedef (type);
   struct value *v;
 
-  if (CONVERT_REGISTER_P (regnum, type1))
+  if (gdbarch_convert_register_p (current_gdbarch, regnum, type1))
     {
       /* The ISA/ABI need to something weird when obtaining the
          specified value from this register.  It might need to
          re-order non-adjacent, starting with REGNUM (see MIPS and
          i386).  It might need to convert the [float] register into
          the corresponding [integer] type (see Alpha).  The assumption
-         is that REGISTER_TO_VALUE populates the entire value
+         is that gdbarch_register_to_value populates the entire value
          including the location.  */
       v = allocate_value (type);
       VALUE_LVAL (v) = lval_register;
       VALUE_FRAME_ID (v) = get_frame_id (frame);
       VALUE_REGNUM (v) = regnum;
-      REGISTER_TO_VALUE (frame, regnum, type1, value_contents_raw (v));
+      gdbarch_register_to_value (current_gdbarch,
+                                frame, regnum, type1, value_contents_raw (v));
     }
   else
     {
index 20a7bb3bed14c73a8d671b5ed7f3d49cb44d6129..fa61d9a1a99ad67fd0a86c1e9cd4f0afe002e12c 100644 (file)
@@ -751,12 +751,6 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
   fprintf_unfiltered (file,
                       "gdbarch_dump: convert_from_func_ptr_addr = <0x%lx>\n",
                       (long) current_gdbarch->convert_from_func_ptr_addr);
-#ifdef CONVERT_REGISTER_P
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "CONVERT_REGISTER_P(regnum, type)",
-                      XSTRING (CONVERT_REGISTER_P (regnum, type)));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: convert_register_p = <0x%lx>\n",
                       (long) current_gdbarch->convert_register_p);
@@ -1104,12 +1098,6 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
   fprintf_unfiltered (file,
                       "gdbarch_dump: register_sim_regno = <0x%lx>\n",
                       (long) current_gdbarch->register_sim_regno);
-#ifdef REGISTER_TO_VALUE
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "REGISTER_TO_VALUE(frame, regnum, type, buf)",
-                      XSTRING (REGISTER_TO_VALUE (frame, regnum, type, buf)));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: register_to_value = <0x%lx>\n",
                       (long) current_gdbarch->register_to_value);
@@ -1247,12 +1235,6 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
   fprintf_unfiltered (file,
                       "gdbarch_dump: value_from_register = <0x%lx>\n",
                       (long) current_gdbarch->value_from_register);
-#ifdef VALUE_TO_REGISTER
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "VALUE_TO_REGISTER(frame, regnum, type, buf)",
-                      XSTRING (VALUE_TO_REGISTER (frame, regnum, type, buf)));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: value_to_register = <0x%lx>\n",
                       (long) current_gdbarch->value_to_register);
index 3a5d3ce388261021170f31011ba2b1b7bd4daeff..c20696ed11297fb314b3e2df69e22903911a95b2 100644 (file)
@@ -453,32 +453,14 @@ extern void set_gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch, int beli
 typedef int (gdbarch_convert_register_p_ftype) (int regnum, struct type *type);
 extern int gdbarch_convert_register_p (struct gdbarch *gdbarch, int regnum, struct type *type);
 extern void set_gdbarch_convert_register_p (struct gdbarch *gdbarch, gdbarch_convert_register_p_ftype *convert_register_p);
-#if !defined (GDB_TM_FILE) && defined (CONVERT_REGISTER_P)
-#error "Non multi-arch definition of CONVERT_REGISTER_P"
-#endif
-#if !defined (CONVERT_REGISTER_P)
-#define CONVERT_REGISTER_P(regnum, type) (gdbarch_convert_register_p (current_gdbarch, regnum, type))
-#endif
 
 typedef void (gdbarch_register_to_value_ftype) (struct frame_info *frame, int regnum, struct type *type, gdb_byte *buf);
 extern void gdbarch_register_to_value (struct gdbarch *gdbarch, struct frame_info *frame, int regnum, struct type *type, gdb_byte *buf);
 extern void set_gdbarch_register_to_value (struct gdbarch *gdbarch, gdbarch_register_to_value_ftype *register_to_value);
-#if !defined (GDB_TM_FILE) && defined (REGISTER_TO_VALUE)
-#error "Non multi-arch definition of REGISTER_TO_VALUE"
-#endif
-#if !defined (REGISTER_TO_VALUE)
-#define REGISTER_TO_VALUE(frame, regnum, type, buf) (gdbarch_register_to_value (current_gdbarch, frame, regnum, type, buf))
-#endif
 
 typedef void (gdbarch_value_to_register_ftype) (struct frame_info *frame, int regnum, struct type *type, const gdb_byte *buf);
 extern void gdbarch_value_to_register (struct gdbarch *gdbarch, struct frame_info *frame, int regnum, struct type *type, const gdb_byte *buf);
 extern void set_gdbarch_value_to_register (struct gdbarch *gdbarch, gdbarch_value_to_register_ftype *value_to_register);
-#if !defined (GDB_TM_FILE) && defined (VALUE_TO_REGISTER)
-#error "Non multi-arch definition of VALUE_TO_REGISTER"
-#endif
-#if !defined (VALUE_TO_REGISTER)
-#define VALUE_TO_REGISTER(frame, regnum, type, buf) (gdbarch_value_to_register (current_gdbarch, frame, regnum, type, buf))
-#endif
 
 /* Construct a value representing the contents of register REGNUM in
    frame FRAME, interpreted as type TYPE.  The routine needs to
index 37e9f498e67db069b917319756968b82f62216c7..7440cd34891a64dbb53d379412bd3813ca475dd8 100755 (executable)
@@ -487,9 +487,9 @@ F::int:get_longjmp_target:CORE_ADDR *pc:pc
 #
 v:=:int:believe_pcc_promotion:::::::
 #
-f:=:int:convert_register_p:int regnum, struct type *type:regnum, type:0:generic_convert_register_p::0
-f:=:void:register_to_value:struct frame_info *frame, int regnum, struct type *type, gdb_byte *buf:frame, regnum, type, buf:0
-f:=:void:value_to_register:struct frame_info *frame, int regnum, struct type *type, const gdb_byte *buf:frame, regnum, type, buf:0
+f::int:convert_register_p:int regnum, struct type *type:regnum, type:0:generic_convert_register_p::0
+f::void:register_to_value:struct frame_info *frame, int regnum, struct type *type, gdb_byte *buf:frame, regnum, type, buf:0
+f::void:value_to_register:struct frame_info *frame, int regnum, struct type *type, const gdb_byte *buf:frame, regnum, type, buf:0
 # Construct a value representing the contents of register REGNUM in
 # frame FRAME, interpreted as type TYPE.  The routine needs to
 # allocate and return a struct value with all value attributes
index 8cbda262dac4a6e84570b178a84100159c77fc73..1163756cd9ae7d60c7a322f9badf7691e8483404 100644 (file)
@@ -636,12 +636,14 @@ value_assign (struct value *toval, struct value *fromval)
        if (!frame)
          error (_("Value being assigned to is no longer active."));
        
-       if (CONVERT_REGISTER_P (VALUE_REGNUM (toval), type))
+       if (gdbarch_convert_register_p
+           (current_gdbarch, VALUE_REGNUM (toval), type))
          {
            /* If TOVAL is a special machine register requiring
               conversion of program values to a special raw format.  */
-           VALUE_TO_REGISTER (frame, VALUE_REGNUM (toval),
-                              type, value_contents (fromval));
+           gdbarch_value_to_register (current_gdbarch,
+                                      frame, VALUE_REGNUM (toval),
+                                      type, value_contents (fromval));
          }
        else
          {