This is the mail archive of the gdb@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]

Invalid registers


Hi,

I have been having a little trouble updating from GDB 5.3 to GDB 6.3.

It used to be the case that GDB would report '*value not available*' (for SH - I haven't checked other architectures) if the value of a register is not known in the current stack frame. However, it no longer does this. Since I assume it has not acquired some way to find out what that value was, I also assume this is somehow broken.

(Note that SH already was broken in this respect for fp registers etc.)

The code to print the data, in sh-tdep.c, has not changed greatly. It still calls frame_register_read() to discover the status of each register. However, deep in regcache.c, the code to handle this sort of thing has changed somewhat (indeed a few 'deprecated_...'s have got into the mix). The result is that no register is ever marked invalid.

I cannot find out how (or where) it is supposed to know whether a register is invalid or not. Nor can I find any relevant discussion on the subject by googling (or I don't recognise it when I see it).

Has this problem been fixed since 6.3 or become somehow obsolete? If not, any clues how to fix it?

Thanks

Andrew Stubbs


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