Add method/format information to =record-started
authorSimon Marchi <simon.marchi@ericsson.com>
Mon, 30 May 2016 21:29:39 +0000 (17:29 -0400)
committerSimon Marchi <simon.marchi@ericsson.com>
Mon, 6 Jun 2016 21:10:18 +0000 (17:10 -0400)
commit38b022b4452f996fb5a8598f80d850b594621bcf
tree8ed5065415b8788590724df647994b0162e1d203
parente2cbcd9156d1606a9f2153aecd93a89fe6e29180
Add method/format information to =record-started

Eclipse CDT now supports enabling execution recording using two methods
(full and btrace) and both formats for btrace (bts and pt).  In the
event that recording is enabled behind the back of the GUI (by the user
on the command line, or a script), we need to know which method/format
are being used, so it can be correctly reflected in the interface.  This
patch adds this information to the =record-started async record.

Before:

  =record-started,thread-group="i1"

After:

  =record-started,thread-group="i1",method="btrace",format="bts"
  =record-started,thread-group="i1",method="btrace",format="pt"
  =record-started,thread-group="i1",method="full"

The "format" field is only present when the current method supports
multiple formats (only the btrace method as of now).

gdb/ChangeLog:

* NEWS: Mention the new fields in =record-started.
* common/btrace-common.h (btrace_format_short_string): New function
declaration.
* common/btrace-common.c (btrace_format_short_string): New
function.
* mi/mi-interp.c (mi_record_changed): Output method and format
fields in the =record-started record.
* record-btrace.c (record_btrace_open): Adapt record_changed
notification.
* record-full.c (record_full_open): Likewise.
* record.c (cmd_record_stop): Likewise.

gdb/doc/ChangeLog:

* gdb.texinfo (GDB/MI Async Records): Document method and
format fields in =record-started.
* observer.texi (record_changed): Add method and format
parameters.

gdb/testsuite/ChangeLog:

* gdb.mi/mi-record-changed.exp: Adjust =record-started output
matching.
13 files changed:
gdb/ChangeLog
gdb/NEWS
gdb/common/btrace-common.c
gdb/common/btrace-common.h
gdb/doc/ChangeLog
gdb/doc/gdb.texinfo
gdb/doc/observer.texi
gdb/mi/mi-interp.c
gdb/record-btrace.c
gdb/record-full.c
gdb/record.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.mi/mi-record-changed.exp