Teach -data-list-register-values to not include unavailable registers
authorYao Qi <yao@codesourcery.com>
Thu, 20 Jun 2013 00:39:11 +0000 (00:39 +0000)
committerYao Qi <yao@codesourcery.com>
Thu, 20 Jun 2013 00:39:11 +0000 (00:39 +0000)
commitc898adb7b239441fd58004636f59b6722ee434cb
treec61340f1f0dd102ab40ae265c102bee63549081c
parent181ff4a40d4fafdfe4aa92ad6996f01d7f453b5e
Teach -data-list-register-values to not include unavailable registers

This patch adds an option --skip-unavailable to MI command
-data-list-register-values, so that unavailable registers are not
displayed (on the context of traceframes).

The old -data-list-register-values command behaves like

  -data-list-register-values x 0 8
  ^done,register-values=[{number="0",value="<unavailable>"},{number="8",value="0x80483de"}]

With this patch, an option --skip-unavailable is added,

  -data-list-register-values --skip-unavailable x 0 8
  ^done,register-values=[{number="8",value="0x80483de"}]

gdb:

2013-06-20  Pedro Alves  <pedro@codesourcery.com>
    Yao Qi  <yao@codesourcery.com>

* NEWS: Mention the new option '--skip-unavailable' of command
-data-list-register-values.
* mi/mi-main.c (mi_cmd_data_list_register_values): Accept the
--skip-unavailable option.  Adjust to use output_register.
(output_register): Add new 'skip_unavailable' parameter.
Handle it.

gdb/doc:

2013-06-20  Pedro Alves  <pedro@codesourcery.com>

* gdb.texinfo (GDB/MI Data Manipulation)
<-data-list-register-values>: Document the --skip-unavailable
option.

gdb/testsuite:

2013-06-20  Yao Qi  <yao@codesourcery.com>

* gdb.trace/mi-trace-unavailable.exp: Set tracepoint on 'foo'
and set an action.
(test_trace_unavailable): Test command -data-list-register-values
in the context of traceframe and with option --skip-unavailable.
* gdb.trace/trace-unavailable.c (foo): New.
(main): Call it.
* gdb.mi/gdb2549.exp: Update matching pattern.
gdb/ChangeLog
gdb/NEWS
gdb/doc/ChangeLog
gdb/doc/gdb.texinfo
gdb/mi/mi-main.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.mi/gdb2549.exp
gdb/testsuite/gdb.trace/mi-trace-unavailable.exp
gdb/testsuite/gdb.trace/trace-unavailable.c