From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21393 invoked by alias); 17 Oct 2014 15:32:38 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Received: (qmail 21348 invoked by uid 89); 17 Oct 2014 15:32:37 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 X-HELO: mail-pd0-f182.google.com Received: from mail-pd0-f182.google.com (HELO mail-pd0-f182.google.com) (209.85.192.182) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Fri, 17 Oct 2014 15:32:36 +0000 Received: by mail-pd0-f182.google.com with SMTP id y10so952757pdj.41 for ; Fri, 17 Oct 2014 08:32:35 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-type:content-disposition:in-reply-to :user-agent; bh=vYKZexRfiGV05TqaIPtjp2jeKOXc6ofs8q4WDx7Ujww=; b=SyzNZeVhv3QqsEfAcCixa+vRDBRzCHBOLRz9Zbp4OPG+QCH6yw53fxBz0y4Kaf7tRi AqEdYhhkUSiReKl2n1oEqV2IdNyaGs6C7znhacAjHrIkybr7G36h8rHX0JFDxvOD7jNE d+S3Ozc71ZseI4GObA7hQ1UtyTC2RQAZ82Y+TuIILL9A8JABNV003INUwNdo8Pi5sD/a xjFR1Bui3AZQ56LTL24d0NDe7ngAsI93vppiKfzSAx/ozxgWhBEOBzgKARTUc+sO1pmt Z8InhRjxBxlZSMAMGU5QLT30cl3FQ9/XuJaZfb2PqpZjr3b8Y4VYfxrjfl7uCPYetJ56 aSBg== X-Gm-Message-State: ALoCoQkRGyEDZRzQt9RD56V5cV/xkiLq6LQbh448pA7r2eEqHQ+yK5c/cftOBue/b1QlC/0x0U5d X-Received: by 10.68.206.98 with SMTP id ln2mr9061450pbc.83.1413559954953; Fri, 17 Oct 2014 08:32:34 -0700 (PDT) Received: from linux (ip68-9-64-242.ri.ri.cox.net. [68.9.64.242]) by mx.google.com with ESMTPSA id qf3sm1829373pbc.96.2014.10.17.08.32.33 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Fri, 17 Oct 2014 08:32:34 -0700 (PDT) Date: Fri, 17 Oct 2014 15:32:00 -0000 From: Bob Rossi To: Joel Brobecker Cc: Jan Kratochvil , =?utf-8?Q?=C3=96mer_Sinan_A=C4=9Facan?= , Stan Shebs , gdb Subject: Re: GDB C API -- does such a thing exist? Message-ID: <20141017153305.GA17782@linux> References: <5440588D.8060503@earthlink.net> <20141017120555.GC7123@host2.jankratochvil.net> <20141017122859.GA19237@adacore.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141017122859.GA19237@adacore.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-IsSubscribed: yes X-SW-Source: 2014-10/txt/msg00072.txt.bz2 On Fri, Oct 17, 2014 at 05:28:59AM -0700, Joel Brobecker wrote: > Jan, > > > On Fri, 17 Oct 2014 14:02:50 +0200, Jan Kratochvil wrote: > > # MI implements only very poor subset of GDB functionality > > # so one has to use '-interpreter-exec console ...' anyway and parse the > > # unparsable text output. > > > > There is a theoretical suggestion that people should implement into > > GDB anything they miss. But contributability to GDB is difficult for > > many reasons besides that it is just an additional barrier to write an > > MI client (when one has to write also the MI server along). > > My experience of contributing to GDB/MI does not match yours. > When I worked with the IDE team at AdaCore on GDB/MI, they identified > a number of missing failures, and implementation was both easy and > contribution went well. >From an outsider perspective, modifying GDB is clearly the right thing to do, but adds additional barriers to the task at hand. It's difficult and time consuming, and the changes won't be in the field for years to come. Your AdaCore experience probably also coincided with a particular release of GDB that you distributed. That's easy. You are fortunate. For the rest of us attempting to deliver a front end to GDB, we have to consider the version of GDB immaterial. It needs to work across all variants or determine which features exist per GDB instance. This is much more complicated. I'm still formulating a plan for this in gdbwire. I envision the ideal front end client's philosophy as follows: GDB is the core which produces 2) MI which is sent to 3) gdbwire which produces events sent to 4) the front end. Lets see how much of a reality I can make this. Thanks, Bob Rossi