This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[PATCH] Pseudo-registers
- To: gdb-patches at sources dot redhat dot com
- Subject: [PATCH] Pseudo-registers
- From: Michael Snyder <msnyder at cygnus dot com>
- Date: Thu, 16 Nov 2000 17:30:43 -0800 (PST)
2000-11-16 Michael Snyder <msnyder@cleaver.cygnus.com>
* regcache.c (read_register_bytes): Failing to set register_valid
is not necessarily an error, if the register is a pseudo-register.
Some pseudo-registers are never marked as valid, so that they will
be read anew every time. Determining if a pseudo-register is valid
(or should be marked invalid) may be difficult, whereas just
recomputing it may be cheap.
Index: regcache.c
===================================================================
RCS file: /cvs/src/src/gdb/regcache.c,v
retrieving revision 1.11
diff -c -3 -p -r1.11 regcache.c
*** regcache.c 2000/10/30 21:50:57 1.11
--- regcache.c 2000/11/17 01:29:58
*************** read_register_bytes (int inregbyte, char
*** 391,397 ****
FETCH_PSEUDO_REGISTER (regno);
if (!register_valid[regno])
! error ("read_register_bytes: Couldn't update register %d.", regno);
}
if (myaddr != NULL)
--- 391,404 ----
FETCH_PSEUDO_REGISTER (regno);
if (!register_valid[regno])
! {
! /* Sometimes pseudoregs are never marked valid, so that they
! will be fetched every time (it can be complicated to know
! if a pseudoreg is valid, while "fetching" them can be cheap).
! */
! if (regno < NUM_REGS)
! error ("read_register_bytes: Couldn't update register %d.", regno);
! }
}
if (myaddr != NULL)