Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Andrew Cagney <cagney@gnu.org>
To: gdb-patches@sources.redhat.com
Subject: [commit] Eliminate deprecated_register_virtual_* from core
Date: Mon, 02 Aug 2004 22:00:00 -0000	[thread overview]
Message-ID: <410EB97A.7040900@gnu.org> (raw)

[-- Attachment #1: Type: text/plain, Size: 281 bytes --]

Hello,

More cleanup.

Since the register has only one size, determined by register_type, it's 
possible to eliminate references to DEPRECATED_REGISTER_VIRTUAL_TYPE and 
DEPRECATED_REGISTER_VIRTUAL_SIZE (and a few DEPRECATED_REGISTER_RAW_SIZE 
while I'm there).

committed,
Andrew

[-- Attachment #2: diffs --]
[-- Type: text/plain, Size: 7344 bytes --]

2004-08-02  Andrew Cagney  <cagney@gnu.org>

	* regcache.h: Delete DEPRECATED_REGISTER_VIRTUAL_SIZE and
	DEPRECATED_REGISTER_RAW_SIZE from comments.
	* regcache.c (init_regcache_descr, regcache_dump): Do not check or
	use DEPRECATED_REGISTER_VIRTUAL_SIZE and
	DEPRECATED_REGISTER_RAW_SIZE.
	* findvar.c (value_of_register): Simplify by assuming that the
	registers raw and virtual sizes are identical.
	* regcache.h: Delete DEPRECATED_REGISTER_VIRTUAL_TYPE in
	comment.
	* arch-utils.c (generic_register_size): Simplify by assuming
	register_type.

Index: arch-utils.c
===================================================================
RCS file: /cvs/src/src/gdb/arch-utils.c,v
retrieving revision 1.120
diff -p -u -r1.120 arch-utils.c
--- arch-utils.c	20 Jun 2004 18:10:13 -0000	1.120
+++ arch-utils.c	2 Aug 2004 21:57:38 -0000
@@ -289,13 +289,7 @@ int
 generic_register_size (int regnum)
 {
   gdb_assert (regnum >= 0 && regnum < NUM_REGS + NUM_PSEUDO_REGS);
-  if (gdbarch_register_type_p (current_gdbarch))
-    return TYPE_LENGTH (gdbarch_register_type (current_gdbarch, regnum));
-  else
-    /* FIXME: cagney/2003-03-01: Once all architectures implement
-       gdbarch_register_type(), this entire function can go away.  It
-       is made obsolete by register_size().  */
-    return TYPE_LENGTH (DEPRECATED_REGISTER_VIRTUAL_TYPE (regnum)); /* OK */
+  return TYPE_LENGTH (gdbarch_register_type (current_gdbarch, regnum));
 }
 
 /* Assume all registers are adjacent.  */
Index: findvar.c
===================================================================
RCS file: /cvs/src/src/gdb/findvar.c,v
retrieving revision 1.75
diff -p -u -r1.75 findvar.c
--- findvar.c	9 Jun 2004 20:42:28 -0000	1.75
+++ findvar.c	2 Aug 2004 21:57:38 -0000
@@ -282,18 +282,8 @@ value_of_register (int regnum, struct fr
 
   reg_val = allocate_value (register_type (current_gdbarch, regnum));
 
-  /* Convert raw data to virtual format if necessary.  */
-
-  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
-    internal_error (__FILE__, __LINE__,
-		    "Register \"%s\" (%d) has conflicting raw (%d) and virtual (%d) size",
-		    REGISTER_NAME (regnum),
-		    regnum,
-		    DEPRECATED_REGISTER_RAW_SIZE (regnum),
-		    DEPRECATED_REGISTER_VIRTUAL_SIZE (regnum));
+  memcpy (VALUE_CONTENTS_RAW (reg_val), raw_buffer,
+	  register_size (current_gdbarch, regnum));
   VALUE_LVAL (reg_val) = lval;
   VALUE_ADDRESS (reg_val) = addr;
   VALUE_REGNO (reg_val) = regnum;
Index: regcache.c
===================================================================
RCS file: /cvs/src/src/gdb/regcache.c,v
retrieving revision 1.120
diff -p -u -r1.120 regcache.c
--- regcache.c	2 Aug 2004 21:39:35 -0000	1.120
+++ regcache.c	2 Aug 2004 21:57:38 -0000
@@ -144,20 +144,6 @@ init_regcache_descr (struct gdbarch *gdb
      buffer.  Ulgh!  */
   descr->sizeof_raw_registers = descr->sizeof_cooked_registers;
 
-  /* Sanity check.  Confirm that there is agreement between the
-     regcache and the target's redundant DEPRECATED_REGISTER_BYTE (new
-     targets should not even be defining it).  */
-  for (i = 0; i < descr->nr_cooked_registers; i++)
-    {
-      if (DEPRECATED_REGISTER_BYTE_P ())
-	gdb_assert (descr->register_offset[i] == DEPRECATED_REGISTER_BYTE (i));
-#if 0
-      gdb_assert (descr->sizeof_register[i] == DEPRECATED_REGISTER_RAW_SIZE (i));
-      gdb_assert (descr->sizeof_register[i] == DEPRECATED_REGISTER_VIRTUAL_SIZE (i));
-#endif
-    }
-  /* gdb_assert (descr->sizeof_raw_registers == DEPRECATED_REGISTER_BYTES (i));  */
-
   return descr;
 }
 
@@ -1311,25 +1297,8 @@ regcache_dump (struct regcache *regcache
       if (regnum < 0)
 	fprintf_unfiltered (file, " %5s ", "Size");
       else
-	{
-	  fprintf_unfiltered (file, " %5ld",
-			      regcache->descr->sizeof_register[regnum]);
-	  if ((regcache->descr->sizeof_register[regnum]
-	       != DEPRECATED_REGISTER_RAW_SIZE (regnum))
-	      || (regcache->descr->sizeof_register[regnum]
-		  != DEPRECATED_REGISTER_VIRTUAL_SIZE (regnum))
-	      || (regcache->descr->sizeof_register[regnum]
-		  != TYPE_LENGTH (register_type (regcache->descr->gdbarch,
-						 regnum)))
-	      )
-	    {
-	      if (!footnote_register_size)
-		footnote_register_size = ++footnote_nr;
-	      fprintf_unfiltered (file, "*%d", footnote_register_size);
-	    }
-	  else
-	    fprintf_unfiltered (file, " ");
-	}
+	fprintf_unfiltered (file, " %5ld",
+			    regcache->descr->sizeof_register[regnum]);
 
       /* Type.  */
       {
@@ -1373,7 +1342,7 @@ regcache_dump (struct regcache *regcache
 	      regcache_raw_read (regcache, regnum, buf);
 	      fprintf_unfiltered (file, "0x");
 	      dump_endian_bytes (file, TARGET_BYTE_ORDER, buf,
-				 DEPRECATED_REGISTER_RAW_SIZE (regnum));
+				 regcache->descr->sizeof_register[regnum]);
 	    }
 	}
 
@@ -1387,7 +1356,7 @@ regcache_dump (struct regcache *regcache
 	      regcache_cooked_read (regcache, regnum, buf);
 	      fprintf_unfiltered (file, "0x");
 	      dump_endian_bytes (file, TARGET_BYTE_ORDER, buf,
-				 DEPRECATED_REGISTER_VIRTUAL_SIZE (regnum));
+				 regcache->descr->sizeof_register[regnum]);
 	    }
 	}
 
Index: regcache.h
===================================================================
RCS file: /cvs/src/src/gdb/regcache.h,v
retrieving revision 1.42
diff -p -u -r1.42 regcache.h
--- regcache.h	24 Jul 2004 01:00:20 -0000	1.42
+++ regcache.h	2 Aug 2004 21:57:38 -0000
@@ -116,45 +116,13 @@ extern int register_offset_hack (struct 
 
 /* The type of a register.  This function is slightly more efficient
    then its gdbarch vector counterpart since it returns a precomputed
-   value stored in a table.
-
-   NOTE: cagney/2002-08-17: The original macro was called
-   DEPRECATED_REGISTER_VIRTUAL_TYPE.  This was because the register
-   could have different raw and cooked (nee virtual) representations.
-   The CONVERTABLE methods being used to convert between the two
-   representations.  Current code does not do this.  Instead, the
-   first [0..NUM_REGS) registers are 1:1 raw:cooked, and the type
-   exactly describes the register's representation.  Consequently, the
-   ``virtual'' has been dropped.
-
-   FIXME: cagney/2002-08-17: A number of architectures, including the
-   MIPS, are currently broken in this regard.  */
+   value stored in a table.  */
 
 extern struct type *register_type (struct gdbarch *gdbarch, int regnum);
 
 
 /* Return the size of register REGNUM.  All registers should have only
-   one size.
-
-   FIXME: cagney/2003-02-28:
-
-   Unfortunately, thanks to some legacy architectures, this doesn't
-   hold.  A register's cooked (nee virtual) and raw size can differ
-   (see MIPS).  Such architectures should be using different register
-   numbers for the different sized views of identical registers.
-
-   Anyway, the up-shot is that, until that mess is fixed, core code
-   can end up being very confused - should the RAW or VIRTUAL size be
-   used?  As a rule of thumb, use DEPRECATED_REGISTER_VIRTUAL_SIZE in
-   cooked code, but with the comment:
-
-   OK: REGISTER_VIRTUAL_SIZE
-
-   or just
-
-   OK
-
-   appended to the end of the line.  */
+   one size.  */
    
 extern int register_size (struct gdbarch *gdbarch, int regnum);
 

                 reply	other threads:[~2004-08-02 22:00 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=410EB97A.7040900@gnu.org \
    --to=cagney@gnu.org \
    --cc=gdb-patches@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox