From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28928 invoked by alias); 23 Jan 2012 12:43:23 -0000 Received: (qmail 28918 invoked by uid 22791); 23 Jan 2012 12:43:22 -0000 X-SWARE-Spam-Status: No, hits=-0.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; Mon, 23 Jan 2012 12:43:09 +0000 Received: from svr-orw-fem-01.mgc.mentorg.com ([147.34.98.93]) by relay1.mentorg.com with esmtp id 1RpJEp-0001Ir-Ue from Yao_Qi@mentor.com for gdb-patches@sourceware.org; Mon, 23 Jan 2012 04:43:07 -0800 Received: from SVR-ORW-FEM-03.mgc.mentorg.com ([147.34.97.39]) by svr-orw-fem-01.mgc.mentorg.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Mon, 23 Jan 2012 04:43:07 -0800 Received: from [127.0.0.1] (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, 23 Jan 2012 04:43:06 -0800 Message-ID: <4F1D55D7.7030506@codesourcery.com> Date: Mon, 23 Jan 2012 13:37:00 -0000 From: Yao Qi User-Agent: Mozilla/5.0 (X11; Linux i686; rv:9.0) Gecko/20111220 Thunderbird/9.0 MIME-Version: 1.0 To: Subject: [patch 0/8] GDB/GDBserver talks with agents Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit 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: 2012-01/txt/msg00763.txt.bz2 When I am working on the new agent library [1], I found that only gdbserver is able to interact with agent on static tracepoints only. There are two limitations here, 1) only gdbserver is able to talk with agent, 2) only static tracepoint operations can be performed by agent. In order to make the interface of gdbserver and agent more clear, and new agent library as flexible as possible, these two limitations should be overcame/removed. In this patch set, we generalize the original code in gdbserver/tracepoint.c to talk with agent for static tracepoint, move "common" part into gdb/common/agent.c, so that both gdb and gdbserver can call them to interact with agent. Secondly, the communication method (sync socket and command buffer) between gdbserver and libinproctrace.so is kept, but is generalized to some extent, so that, gdb and gdbserver is able to communicate with agent for other purposes, such as installing fast tracepoint or evaluating breakpoint conditions. The operations for static tracepoint are regarded as one sort of commands on this communication channel. This patch set doesn't change any existing functions of gdb and gdbserver, but it makes gdb and gdbserver easier to communicate with other agents. -- Yao (齐尧) [1] Design of common agent library. http://sourceware.org/ml/gdb/2011-12/msg00004.html