gdb/
authorPedro Alves <palves@redhat.com>
Fri, 18 Mar 2011 18:41:36 +0000 (18:41 +0000)
committerPedro Alves <palves@redhat.com>
Fri, 18 Mar 2011 18:41:36 +0000 (18:41 +0000)
commit0fdb4f184b39af02d76e21cd25af561b464f15a6
tree17616315af45c3550e9fbc428c82d55b620070bd
parente69aa73e27e67368cf501cc154db03809eb5445a
gdb/
* findvar.c (value_of_register): Mark the value as unavailable, if
the register is unavailable.
* frame.h (frame_register_unwind): New `unavailablep' parameter.
(frame_register): New `unavailablep' parameter.
(frame_register_read): Update comment.
* frame.c (frame_register_unwind): New `unavailablep' parameter.
Set it if the register is unavailable.  If the register is
unavailable, clear the output buffer.
(frame_register): New `unavailablep' parameter.  Pass it down.
(frame_unwind_register): Adjust.
(put_frame_register): Adjust.
(frame_register_read): Adjust.  Also return false if the register
is not available.
(frame_register_unwind_location): Adjust.
* sentinel-frame.c (sentinel_frame_prev_register): If the register
is unavailable, mark the value accordingly.
* stack.c (frame_info): Handle unavailable registers.

gdb/testsuite/
* gdb.trace/unavailable.exp (fpreg, spreg, pcreg): Define.
(test_register, test_register_unavailable): New procedures.
(gdb_unavailable_registers_test): New procedure.
(gdb_trace_collection_test): Call it.
gdb/ChangeLog
gdb/findvar.c
gdb/frame.c
gdb/frame.h
gdb/sentinel-frame.c
gdb/stack.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.trace/unavailable.exp