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

[PATCH v4 0/5] MI notification on trace started/stopped


Hi,
The V3.1 can't be applied to CVS trunk clearly, so I resolved these
conflicts and submit them again.

All doc bits were approved by Eli in V3.1.  Regression tested them
on x86_64-linux with {unix, native-gdbserver} x {sync, async}.  Is
it OK?  Below is the introduction of this series.  People who are
familiar with this series, please skip it.

This patch series adds the MI notifications of 'trace-started' and
'trace-stopped', which are emitted when

  1) trace is started or stopped by commands in GDB,
  2) trace is stopped due to some reasons in the remote stub, such as
trace buffer full.

With these notifications, MI front-end can show the status of trace
up to date.

Patch 4/5 is to address #1, adding new MI notifications and
notifying observers when the commands are called.  #2 needs more work
here, because GDB doesn't know the trace is stopped in the remote
stub.  So we need an async remote notification 'Trace' to tell GDB.
That is what patch 3/5 about.  Patch 5/5 is to use this async remote
notification 'Trace' and notify trace_changed observer.

Patch 1/5 and 2/5 are the enhancement to the async remote
notification, which is needed by the rest of patches in this series.
Patch 1/5 adds "annex" for notification, which is helpful 1) to give
more information on each event of notification, 2) to query supported
notifications on "annex" level.  Patch 2/5 teaches both GDB and
GDBserver to query supported notifications and annexes in the other
side so that 1) GDBserver doesn't send notifications that GDB doesn't
understand, 2) GDB doesn't have to fetch status from the GDBserver if
a certain notification is supported by GDBserver.


 gdb/Makefile.in                              |   11 +-
 gdb/NEWS                                     |    2 +
 gdb/common/common-notif.c                    |  186 ++++++++++++++++++++++++++
 gdb/common/common-notif.h                    |   92 +++++++++++++
 gdb/doc/gdb.texinfo                          |   48 ++++++-
 gdb/doc/observer.texi                        |    6 +
 gdb/gdbserver/Makefile.in                    |    8 +-
 gdb/gdbserver/notif.c                        |   63 ++++++++-
 gdb/gdbserver/notif.h                        |   23 ++--
 gdb/gdbserver/server.c                       |   20 +++-
 gdb/gdbserver/tracepoint.c                   |   36 +++++
 gdb/mi/mi-cmds.c                             |    6 +-
 gdb/mi/mi-interp.c                           |   22 +++
 gdb/mi/mi-main.h                             |    2 +
 gdb/remote-notif-trace.c                     |   86 ++++++++++++
 gdb/remote-notif.c                           |   86 +++++++++++-
 gdb/remote-notif.h                           |   18 +--
 gdb/remote.c                                 |   37 ++++-
 gdb/testsuite/gdb.trace/mi-trace-changed.exp |  149 +++++++++++++++++++++
 gdb/tracepoint.c                             |    4 +
 20 files changed, 851 insertions(+), 54 deletions(-)
 create mode 100644 gdb/common/common-notif.c
 create mode 100644 gdb/common/common-notif.h
 create mode 100644 gdb/remote-notif-trace.c
 create mode 100644 gdb/testsuite/gdb.trace/mi-trace-changed.exp

-- 
1.7.7.6


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