From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27991 invoked by alias); 15 Nov 2011 07:47:11 -0000 Received: (qmail 27983 invoked by uid 22791); 15 Nov 2011 07:47:10 -0000 X-SWARE-Spam-Status: No, hits=-1.7 required=5.0 tests=AWL,BAYES_00,FROM_12LTRDOM X-Spam-Check-By: sourceware.org Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 15 Nov 2011 07:46:56 +0000 Received: from nat-jpt.mentorg.com ([192.94.33.2] helo=PR1-MAIL.mgc.mentorg.com) by relay1.mentorg.com with esmtp id 1RQDjM-0003wf-5U from Yao_Qi@mentor.com for gdb-patches@sourceware.org; Mon, 14 Nov 2011 23:46:56 -0800 Received: from [127.0.0.1] ([172.16.63.104]) by PR1-MAIL.mgc.mentorg.com with Microsoft SMTPSVC(6.0.3790.1830); Tue, 15 Nov 2011 16:46:54 +0900 Message-ID: <4EC218EC.9090105@codesourcery.com> Date: Tue, 15 Nov 2011 07:47:00 -0000 From: Yao Qi User-Agent: Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20110930 Thunderbird/7.0.1 MIME-Version: 1.0 To: gdb-patches@sourceware.org Subject: [patch 3/5] Print a message on gdb disconnected. References: <4EC20E2E.6010402@codesourcery.com> In-Reply-To: <4EC20E2E.6010402@codesourcery.com> Content-Type: multipart/mixed; boundary="------------040608020202060607090105" X-IsSubscribed: yes 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 X-SW-Source: 2011-11/txt/msg00377.txt.bz2 This is a multi-part message in MIME format. --------------040608020202060607090105 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Content-length: 192 This patch is to print a warning when gdb disconnects from remote stub, while there are still pending tracepoints, because pending tracepoints can't be resolved without gdb. -- Yao (齐尧) --------------040608020202060607090105 Content-Type: text/x-patch; name="0003-pending-tracepoint-on-disconnect.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0003-pending-tracepoint-on-disconnect.patch" Content-length: 1508 gdb/ * tracepoint.c (process_tracepoint_on_disconnect): New. (disconnect_tracing): Call process_tracepoint_on_disconnect. --- gdb/tracepoint.c | 28 ++++++++++++++++++++++++++++ 1 files changed, 28 insertions(+), 0 deletions(-) diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c index e155515..c0b5231 100644 --- a/gdb/tracepoint.c +++ b/gdb/tracepoint.c @@ -1642,6 +1642,32 @@ add_aexpr (struct collection_list *collect, struct agent_expr *aexpr) collect->next_aexpr_elt++; } +static void +process_tracepoint_on_disconnect (void) +{ + VEC(breakpoint_p) *tp_vec = NULL; + int ix; + struct breakpoint *b; + int has_pending_p = 0; + + /* Check whether we still have pending tracepoint. If we have, warn the + user that pending tracepoint will no longer work. */ + tp_vec = all_tracepoints (); + for (ix = 0; VEC_iterate (breakpoint_p, tp_vec, ix, b); ix++) + { + if (b->loc == NULL || b->loc->shlib_disabled) + { + has_pending_p = 1; + break; + } + } + VEC_free (breakpoint_p, tp_vec); + + if (has_pending_p) + warning (_("Pending tracepoint will not be resolved while" + " GBD is disconnected\n")); +} + void start_tracing (void) @@ -2020,6 +2046,8 @@ disconnect_tracing (int from_tty) disconnected-tracing. */ if (current_trace_status ()->running && from_tty) { + process_tracepoint_on_disconnect (); + if (current_trace_status ()->disconnected_tracing) { if (!query (_("Trace is running and will " -- 1.7.0.4 --------------040608020202060607090105--