This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[commit] Delete register convert to/from raw/virtual


Hello,

This deletes the no longer defined architecture methods:
DEPRECATED_REGISTER_CONVERT_TO_RAW
DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL
DEPRECATED_REGISTER_CONVERTIBLE
and then simplifies the directly affected code.

This code's removal makes further cleanups possible but I'll do them separatly.

committed,
Andrew
2004-06-09  Andrew Cagney  <cagney@gnu.org>
 
	* gdbarch.sh (DEPRECATED_REGISTER_CONVERT_TO_RAW)
	(DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL)
	(DEPRECATED_REGISTER_CONVERTIBLE): Delete.
	* gdbarch.h, gdbarch.c: Re-generate.
	* infcmd.c (default_print_registers_info): Simplify.
	* findvar.c (value_of_register): Simplify.
	* mi/mi-main.c (get_register): Simplify.
	* arch-utils.c (legacy_convert_register_p): Always return 0.
	(legacy_register_to_value, legacy_value_to_register): Always call
	internal_error.

Index: arch-utils.c
===================================================================
RCS file: /cvs/src/src/gdb/arch-utils.c,v
retrieving revision 1.116
diff -p -u -r1.116 arch-utils.c
--- arch-utils.c	8 May 2004 21:27:02 -0000	1.116
+++ arch-utils.c	9 Jun 2004 20:40:29 -0000
@@ -301,28 +301,21 @@ legacy_pc_in_sigtramp (CORE_ADDR pc, cha
 int
 legacy_convert_register_p (int regnum, struct type *type)
 {
-  return (DEPRECATED_REGISTER_CONVERTIBLE_P ()
-	  && DEPRECATED_REGISTER_CONVERTIBLE (regnum));
+  return 0;
 }
 
 void
 legacy_register_to_value (struct frame_info *frame, int regnum,
 			  struct type *type, void *to)
 {
-  char from[MAX_REGISTER_SIZE];
-  get_frame_register (frame, regnum, from);
-  DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL (regnum, type, from, to);
+  internal_error (__FILE__, __LINE__, "legacy_register_to_value called");
 }
 
 void
 legacy_value_to_register (struct frame_info *frame, int regnum,
 			  struct type *type, const void *tmp)
 {
-  char to[MAX_REGISTER_SIZE];
-  char *from = alloca (TYPE_LENGTH (type));
-  memcpy (from, from, TYPE_LENGTH (type));
-  DEPRECATED_REGISTER_CONVERT_TO_RAW (type, regnum, from, to);
-  put_frame_register (frame, regnum, to);
+  internal_error (__FILE__, __LINE__, "legacy_value_to_register called");
 }
 
 int
Index: findvar.c
===================================================================
RCS file: /cvs/src/src/gdb/findvar.c,v
retrieving revision 1.74
diff -p -u -r1.74 findvar.c
--- findvar.c	19 Feb 2004 22:45:25 -0000	1.74
+++ findvar.c	9 Jun 2004 20:40:29 -0000
@@ -284,13 +284,7 @@ value_of_register (int regnum, struct fr
 
   /* Convert raw data to virtual format if necessary.  */
 
-  if (DEPRECATED_REGISTER_CONVERTIBLE_P ()
-      && DEPRECATED_REGISTER_CONVERTIBLE (regnum))
-    {
-      DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL (regnum, register_type (current_gdbarch, regnum),
-					      raw_buffer, VALUE_CONTENTS_RAW (reg_val));
-    }
-  else if (DEPRECATED_REGISTER_RAW_SIZE (regnum) == DEPRECATED_REGISTER_VIRTUAL_SIZE (regnum))
+  if (DEPRECATED_REGISTER_RAW_SIZE (regnum) == DEPRECATED_REGISTER_VIRTUAL_SIZE (regnum))
     memcpy (VALUE_CONTENTS_RAW (reg_val), raw_buffer,
 	    DEPRECATED_REGISTER_RAW_SIZE (regnum));
   else
Index: gdbarch.sh
===================================================================
RCS file: /cvs/src/src/gdb/gdbarch.sh,v
retrieving revision 1.318
diff -p -u -r1.318 gdbarch.sh
--- gdbarch.sh	7 Jun 2004 02:02:47 -0000	1.318
+++ gdbarch.sh	9 Jun 2004 20:40:30 -0000
@@ -550,16 +550,6 @@ F:2:DEPRECATED_INIT_FRAME_PC:CORE_ADDR:d
 v:2:BELIEVE_PCC_PROMOTION:int:believe_pcc_promotion:::::::
 F:2:DEPRECATED_GET_SAVED_REGISTER:void:deprecated_get_saved_register:char *raw_buffer, int *optimized, CORE_ADDR *addrp, struct frame_info *frame, int regnum, enum lval_type *lval:raw_buffer, optimized, addrp, frame, regnum, lval
 #
-# For register <-> value conversions, replaced by CONVERT_REGISTER_P et.al.
-# For raw <-> cooked register conversions, replaced by pseudo registers.
-F::DEPRECATED_REGISTER_CONVERTIBLE:int:deprecated_register_convertible:int nr:nr
-# For register <-> value conversions, replaced by CONVERT_REGISTER_P et.al.
-# For raw <-> cooked register conversions, replaced by pseudo registers.
-f:2:DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL:void:deprecated_register_convert_to_virtual:int regnum, struct type *type, char *from, char *to:regnum, type, from, to:::0::0
-# For register <-> value conversions, replaced by CONVERT_REGISTER_P et.al.
-# For raw <-> cooked register conversions, replaced by pseudo registers.
-f:2:DEPRECATED_REGISTER_CONVERT_TO_RAW:void:deprecated_register_convert_to_raw:struct type *type, int regnum, const char *from, char *to:type, regnum, from, to:::0::0
-#
 f:1:CONVERT_REGISTER_P:int:convert_register_p:int regnum, struct type *type:regnum, type::0:legacy_convert_register_p::0
 f:1:REGISTER_TO_VALUE:void:register_to_value:struct frame_info *frame, int regnum, struct type *type, void *buf:frame, regnum, type, buf::0:legacy_register_to_value::0
 f:1:VALUE_TO_REGISTER:void:value_to_register:struct frame_info *frame, int regnum, struct type *type, const void *buf:frame, regnum, type, buf::0:legacy_value_to_register::0
Index: infcmd.c
===================================================================
RCS file: /cvs/src/src/gdb/infcmd.c,v
retrieving revision 1.113
diff -p -u -r1.113 infcmd.c
--- infcmd.c	25 May 2004 14:58:26 -0000	1.113
+++ infcmd.c	9 Jun 2004 20:40:30 -0000
@@ -1548,8 +1548,7 @@ default_print_registers_info (struct gdb
 {
   int i;
   const int numregs = NUM_REGS + NUM_PSEUDO_REGS;
-  char raw_buffer[MAX_REGISTER_SIZE];
-  char virtual_buffer[MAX_REGISTER_SIZE];
+  char buffer[MAX_REGISTER_SIZE];
 
   if (DEPRECATED_DO_REGISTERS_INFO_P ())
     {
@@ -1589,35 +1588,19 @@ default_print_registers_info (struct gdb
       print_spaces_filtered (15 - strlen (REGISTER_NAME (i)), file);
 
       /* Get the data in raw format.  */
-      if (! frame_register_read (frame, i, raw_buffer))
+      if (! frame_register_read (frame, i, buffer))
 	{
 	  fprintf_filtered (file, "*value not available*\n");
 	  continue;
 	}
 
-      /* FIXME: cagney/2002-08-03: This code shouldn't be necessary.
-         The function frame_register_read() should have returned the
-         pre-cooked register so no conversion is necessary.  */
-      /* Convert raw data to virtual format if necessary.  */
-      if (DEPRECATED_REGISTER_CONVERTIBLE_P ()
-	  && DEPRECATED_REGISTER_CONVERTIBLE (i))
-	{
-	  DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL (i, register_type (current_gdbarch, i),
-				       raw_buffer, virtual_buffer);
-	}
-      else
-	{
-	  memcpy (virtual_buffer, raw_buffer,
-		  DEPRECATED_REGISTER_VIRTUAL_SIZE (i));
-	}
-
       /* If virtual format is floating, print it that way, and in raw
          hex.  */
       if (TYPE_CODE (register_type (current_gdbarch, i)) == TYPE_CODE_FLT)
 	{
 	  int j;
 
-	  val_print (register_type (current_gdbarch, i), virtual_buffer, 0, 0,
+	  val_print (register_type (current_gdbarch, i), buffer, 0, 0,
 		     file, 0, 1, 0, Val_pretty_default);
 
 	  fprintf_filtered (file, "\t(raw 0x");
@@ -1628,21 +1611,21 @@ default_print_registers_info (struct gdb
 		idx = j;
 	      else
 		idx = DEPRECATED_REGISTER_RAW_SIZE (i) - 1 - j;
-	      fprintf_filtered (file, "%02x", (unsigned char) raw_buffer[idx]);
+	      fprintf_filtered (file, "%02x", (unsigned char) buffer[idx]);
 	    }
 	  fprintf_filtered (file, ")");
 	}
       else
 	{
 	  /* Print the register in hex.  */
-	  val_print (register_type (current_gdbarch, i), virtual_buffer, 0, 0,
+	  val_print (register_type (current_gdbarch, i), buffer, 0, 0,
 		     file, 'x', 1, 0, Val_pretty_default);
           /* If not a vector register, print it also according to its
              natural format.  */
 	  if (TYPE_VECTOR (register_type (current_gdbarch, i)) == 0)
 	    {
 	      fprintf_filtered (file, "\t");
-	      val_print (register_type (current_gdbarch, i), virtual_buffer, 0, 0,
+	      val_print (register_type (current_gdbarch, i), buffer, 0, 0,
 			 file, 0, 1, 0, Val_pretty_default);
 	    }
 	}
Index: mi/mi-main.c
===================================================================
RCS file: /cvs/src/src/gdb/mi/mi-main.c,v
retrieving revision 1.62
diff -p -u -r1.62 mi-main.c
--- mi/mi-main.c	1 Jun 2004 13:33:58 -0000	1.62
+++ mi/mi-main.c	9 Jun 2004 20:40:30 -0000
@@ -497,8 +497,7 @@ mi_cmd_data_list_register_values (char *
 static int
 get_register (int regnum, int format)
 {
-  char raw_buffer[MAX_REGISTER_SIZE];
-  char virtual_buffer[MAX_REGISTER_SIZE];
+  char buffer[MAX_REGISTER_SIZE];
   int optim;
   int realnum;
   CORE_ADDR addr;
@@ -511,7 +510,7 @@ get_register (int regnum, int format)
     format = 0;
 
   frame_register (deprecated_selected_frame, regnum, &optim, &lval, &addr,
-		  &realnum, raw_buffer);
+		  &realnum, buffer);
 
   if (optim)
     {
@@ -519,18 +518,6 @@ get_register (int regnum, int format)
       return -1;
     }
 
-  /* Convert raw data to virtual format if necessary.  */
-
-  if (DEPRECATED_REGISTER_CONVERTIBLE_P ()
-      && DEPRECATED_REGISTER_CONVERTIBLE (regnum))
-    {
-      DEPRECATED_REGISTER_CONVERT_TO_VIRTUAL (regnum,
-				   register_type (current_gdbarch, regnum),
-				   raw_buffer, virtual_buffer);
-    }
-  else
-    memcpy (virtual_buffer, raw_buffer, DEPRECATED_REGISTER_VIRTUAL_SIZE (regnum));
-
   if (format == 'r')
     {
       int j;
@@ -542,7 +529,7 @@ get_register (int regnum, int format)
 	{
 	  int idx = TARGET_BYTE_ORDER == BFD_ENDIAN_BIG ? j
 	  : DEPRECATED_REGISTER_RAW_SIZE (regnum) - 1 - j;
-	  sprintf (ptr, "%02x", (unsigned char) raw_buffer[idx]);
+	  sprintf (ptr, "%02x", (unsigned char) buffer[idx]);
 	  ptr += 2;
 	}
       ui_out_field_string (uiout, "value", buf);
@@ -550,7 +537,7 @@ get_register (int regnum, int format)
     }
   else
     {
-      val_print (register_type (current_gdbarch, regnum), virtual_buffer, 0, 0,
+      val_print (register_type (current_gdbarch, regnum), buffer, 0, 0,
 		 stb->stream, format, 1, 0, Val_pretty_default);
       ui_out_field_stream (uiout, "value", stb);
       ui_out_stream_delete (stb);

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]