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.
This commit is contained in:
Michael Snyder 2000-11-17 01:30:53 +00:00
parent ca683b78f3
commit 165cd47f5e
2 changed files with 17 additions and 1 deletions

View File

@ -1,3 +1,12 @@
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.
Thu Nov 16 09:47:57 2000 David Taylor <taylor@redhat.com>
* tracepoint.c (trace_find_tracepoint_command): Replace call to

View File

@ -391,7 +391,14 @@ read_register_bytes (int inregbyte, char *myaddr, int inlen)
FETCH_PSEUDO_REGISTER (regno);
if (!register_valid[regno])
error ("read_register_bytes: Couldn't update register %d.", 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)