Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* frame_register_read()
@ 2002-05-14  3:19 Richard Earnshaw
  2002-05-14  7:41 ` frame_register_read() Andrew Cagney
  0 siblings, 1 reply; 3+ messages in thread
From: Richard Earnshaw @ 2002-05-14  3:19 UTC (permalink / raw)
  To: gdb; +Cc: Richard.Earnshaw, Andrew Cagney


Andrew,

frame_register_read() contains the comment

  /* FIXME: cagney/2002-04-10: This test is just bogus.  It is no
     indication of the validity of the register.  The value could
     easily be found (on the stack) even though the corresponding
     register isn't available.  */
  if (register_cached (regnum) < 0)
    return 0;                   /* register value not available */

But in regcache.c we have

/* REGISTER_VALID is 0 if the register needs to be fetched,
                     1 if it has been fetched, and
                    -1 if the register value was not available.  
   "Not available" means don't try to fetch it again.  */

So why is the code in frame_register_read incorrect?  It's simply testing 
that the register exists for this target.  If it doesn't exist, then how 
can it be recovered from the stack?

I guess it is possible that the check should be moved into 
default_get_saved_register, for the case where we are trying to fetch the 
register directly from the regcache, but either the target has this 
register, or it doesn't.

R.


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2002-05-14 16:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-05-14  3:19 frame_register_read() Richard Earnshaw
2002-05-14  7:41 ` frame_register_read() Andrew Cagney
2002-05-14  9:00   ` frame_register_read() Richard Earnshaw

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox