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]

Re: [patch/rfc] Delete fetch/store pseudo register


Hello,

No known targets uses the old fetch/store pseudo register (they all now use pseudo register read/write).

This patch removes the now redundant methods.

I'll look to commit this in a few days,

enjoy,
Andrew
Oops, lets try this again but with the correct patch.

Andrew

2002-08-06  Andrew Cagney  <ac131313@redhat.com>

	* regcache.c (pseudo_register): Delete function.
	(fetch_register): Delete function.
	(store_register): Delete function.
	(regcache_raw_read, legacy_read_register_gen): Use
	target_fetch_registers instead of fetch_register.
	(legacy_write_register_gen, regcache_raw_write): Use
	target_store_register instead of store_register.
	(write_register_bytes): Ditto.

	* gdbarch.sh (FETCH_PSEUDO_REGISTER): Delete.
	(STORE_PSEUDO_REGISTER): Delete.
	* gdbarch.h, gdbarch.c: Regenerate.

Index: gdbarch.sh
===================================================================
RCS file: /cvs/src/src/gdb/gdbarch.sh,v
retrieving revision 1.151
diff -u -r1.151 gdbarch.sh
--- gdbarch.sh	2 Aug 2002 20:51:21 -0000	1.151
+++ gdbarch.sh	6 Aug 2002 15:36:54 -0000
@@ -514,14 +514,6 @@
 f:1:CONVERT_REGISTER_P:int:convert_register_p:int regnum:regnum::0:legacy_convert_register_p::0
 f:1:REGISTER_TO_VALUE:void:register_to_value:int regnum, struct type *type, char *from, char *to:regnum, type, from, to::0:legacy_register_to_value::0
 f:1:VALUE_TO_REGISTER:void:value_to_register:struct type *type, int regnum, char *from, char *to:type, regnum, from, to::0:legacy_value_to_register::0
-# This function is called when the value of a pseudo-register needs to
-# be updated.  Typically it will be defined on a per-architecture
-# basis.
-F:2:FETCH_PSEUDO_REGISTER:void:fetch_pseudo_register:int regnum:regnum:
-# This function is called when the value of a pseudo-register needs to
-# be set or stored.  Typically it will be defined on a
-# per-architecture basis.
-F:2:STORE_PSEUDO_REGISTER:void:store_pseudo_register:int regnum:regnum:
 #
 f:2:POINTER_TO_ADDRESS:CORE_ADDR:pointer_to_address:struct type *type, void *buf:type, buf:::unsigned_pointer_to_address::0
 f:2:ADDRESS_TO_POINTER:void:address_to_pointer:struct type *type, void *buf, CORE_ADDR addr:type, buf, addr:::unsigned_address_to_pointer::0
Index: regcache.c
===================================================================
RCS file: /cvs/src/src/gdb/regcache.c,v
retrieving revision 1.47
diff -u -r1.47 regcache.c
--- regcache.c	2 Aug 2002 20:51:21 -0000	1.47
+++ regcache.c	6 Aug 2002 15:36:54 -0000
@@ -470,46 +470,6 @@
   return regnum >= 0 && regnum < NUM_REGS;
 }
 
-/* Return whether register REGNUM is a pseudo register.  */
-
-static int
-pseudo_register (int regnum)
-{
-  return regnum >= NUM_REGS && regnum < NUM_REGS + NUM_PSEUDO_REGS;
-}
-
-/* Fetch register REGNUM into the cache.  */
-
-static void
-fetch_register (int regnum)
-{
-  /* NOTE: cagney/2001-12-04: Legacy targets were using fetch/store
-     pseudo-register as a way of handling registers that needed to be
-     constructed from one or more raw registers.  New targets instead
-     use gdbarch register read/write.  */
-  if (FETCH_PSEUDO_REGISTER_P ()
-      && pseudo_register (regnum))
-    FETCH_PSEUDO_REGISTER (regnum);
-  else
-    target_fetch_registers (regnum);
-}
-
-/* Write register REGNUM cached value to the target.  */
-
-static void
-store_register (int regnum)
-{
-  /* NOTE: cagney/2001-12-04: Legacy targets were using fetch/store
-     pseudo-register as a way of handling registers that needed to be
-     constructed from one or more raw registers.  New targets instead
-     use gdbarch register read/write.  */
-  if (STORE_PSEUDO_REGISTER_P ()
-      && pseudo_register (regnum))
-    STORE_PSEUDO_REGISTER (regnum);
-  else
-    target_store_registers (regnum);
-}
-
 /* Low level examining and depositing of registers.
 
    The caller is responsible for making sure that the inferior is
@@ -668,7 +628,7 @@
     }
 
   if (!register_cached (regnum))
-    fetch_register (regnum);
+    target_fetch_registers (regnum);
 
   memcpy (myaddr, register_buffer (current_regcache, regnum),
 	  REGISTER_RAW_SIZE (regnum));
@@ -702,7 +662,7 @@
 	  registers_ptid = inferior_ptid;
 	}
       if (!register_cached (regnum))
-	fetch_register (regnum);
+	target_fetch_registers (regnum);
     }
   /* Copy the value directly into the register cache.  */
   memcpy (buf, (regcache->raw_registers
@@ -772,7 +732,7 @@
   memcpy (register_buffer (current_regcache, regnum), myaddr, size);
 
   set_register_cached (regnum, 1);
-  store_register (regnum);
+  target_store_registers (regnum);
 }
 
 void
@@ -827,7 +787,7 @@
   memcpy (register_buffer (regcache, regnum), buf,
 	  regcache->descr->sizeof_register[regnum]);
   regcache->raw_register_valid_p[regnum] = 1;
-  store_register (regnum);
+  target_store_registers (regnum);
 }
 
 void
@@ -903,7 +863,7 @@
 		  myaddr + (overlapstart - myregstart),
 		  overlapend - overlapstart);
 
-	  store_register (regnum);
+	  target_store_registers (regnum);
 	}
     }
 }

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