From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8726 invoked by alias); 2 Apr 2013 02:33:26 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 8638 invoked by uid 89); 2 Apr 2013 02:33:14 -0000 X-Spam-SWARE-Status: No, score=-4.5 required=5.0 tests=AWL,BAYES_00,FROM_12LTRDOM,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_HOSTKARMA_W,RCVD_IN_HOSTKARMA_WL autolearn=ham version=3.3.1 Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Tue, 02 Apr 2013 02:33:10 +0000 Received: from svr-orw-exc-10.mgc.mentorg.com ([147.34.98.58]) by relay1.mentorg.com with esmtp id 1UMr25-0001G1-2Y from Yao_Qi@mentor.com for gdb-patches@sourceware.org; Mon, 01 Apr 2013 19:33:09 -0700 Received: from SVR-ORW-FEM-03.mgc.mentorg.com ([147.34.97.39]) by SVR-ORW-EXC-10.mgc.mentorg.com with Microsoft SMTPSVC(6.0.3790.4675); Mon, 1 Apr 2013 19:33:09 -0700 Received: from qiyao.dyndns.org.dyndns.org (147.34.91.1) by svr-orw-fem-03.mgc.mentorg.com (147.34.97.39) with Microsoft SMTP Server id 14.1.289.1; Mon, 1 Apr 2013 19:33:08 -0700 From: Yao Qi To: Subject: [PATCH v4 0/5] MI notification on trace started/stopped Date: Tue, 02 Apr 2013 02:33:00 -0000 Message-ID: <1364869917-12803-1-git-send-email-yao@codesourcery.com> In-Reply-To: <1358838232-13319-1-git-send-email-yao@codesourcery.com> References: <1358838232-13319-1-git-send-email-yao@codesourcery.com> MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2013-04/txt/msg00024.txt.bz2 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