From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13793 invoked by alias); 15 Feb 2012 06:48:21 -0000 Received: (qmail 13780 invoked by uid 22791); 15 Feb 2012 06:48:19 -0000 X-SWARE-Spam-Status: No, hits=-2.9 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,RCVD_IN_DNSWL_LOW,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail-vw0-f41.google.com (HELO mail-vw0-f41.google.com) (209.85.212.41) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 15 Feb 2012 06:48:02 +0000 Received: by vbip1 with SMTP id p1so699649vbi.0 for ; Tue, 14 Feb 2012 22:48:01 -0800 (PST) Received: by 10.52.20.142 with SMTP id n14mr10519692vde.59.1329288481116; Tue, 14 Feb 2012 22:48:01 -0800 (PST) MIME-Version: 1.0 Received: by 10.52.20.142 with SMTP id n14mr10519688vde.59.1329288481015; Tue, 14 Feb 2012 22:48:01 -0800 (PST) Received: by 10.220.162.7 with HTTP; Tue, 14 Feb 2012 22:48:00 -0800 (PST) In-Reply-To: <20120214090204.GA2839@redhat.com> References: <20120213184700.GA31170@redhat.com> <20120214090204.GA2839@redhat.com> Date: Wed, 15 Feb 2012 08:05:00 -0000 Message-ID: Subject: Re: [RFA take 4] Allow setting breakpoints on inline functions (PR 10738) From: Doug Evans To: gdb-patches@sourceware.org, gbenson@redhat.com Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-System-Of-Record: true X-Gm-Message-State: ALoCoQmJHSSyqIA317Ec7jNpAqORrQc3yPtj2ohqUX6Wdq/PEFULzv2XLMzMfy4Pt4TprPh1uO4BdMjqwQRU3BwCdIhu/4KP09bnq+fIgDOa1b3BTYPpr4VnJpoCvJHKrrYYJ3GT37TItRWWGXo/7Jd9MJzzni3BwA== 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-02/txt/msg00292.txt.bz2 On Tue, Feb 14, 2012 at 1:02 AM, Gary Benson wrote: > Hi Doug, > > Doug Evans wrote: >> On Mon, Feb 13, 2012 at 10:47 AM, Gary Benson wrote: >> > Hi all, >> > >> > This patch makes GDB able to set breakpoints on inlined functions. >> > >> > This version of the patch has been updated to fix the issues Jan >> > pointed out with the last version. >> > >> > This patch bumps the version number of the .gdb-index to 6, but >> > it does not remove any of the backwards compatibility code which >> > I would prefer to do as a separate patch. >> >> I agree support for older versions should be a separate patch. >> However this patch doesn't do that (it removes current acceptance >> of older versions of the index). > > That's correct. =A0The older versions do not contain partial symbols > for inlined functions. =A0If GDB were to be run on a file with an > older versioned index without rejecting it then the ability to set > breakpoints on inlined functions would silently fail. "silently fail" as in "work *worse* than it did in previous gdb versions"? While it may seem like it's always a win to just discard the index to get new functionality, I'm not sure all users would agree with that in all situations. If gdb 7.4 startup takes 5 seconds and gdb 7.5 startup takes 45 seconds on the same binary, and our response to their complaint is that they have to rebuild the index, I'm not sure I'd be comfortable with that. Especially if, for example, they're, say, debugging a core file and can't use the new functionality anyway. ***OTOH***, if there is a functional *regression* (as opposed to a speed regression) then I'd be much more comfortable with discarding the index. [to repeat my question above, for clarity's sake: Is there a functional regression if we don't discard the index?] OTOOH, 1/2 :-), why must there be a functional regression? [as opposed to the absence of a new feature or capability] One could support the old version for a release or two, and print a warning when older versions are encountered. The user's build procedure may involve building the index in a way that is not easily updated in a timely manner. Thus all the speed improvements are (at least temporarily, but for a long enough time to be troublesome) wiped out simply by using a *newer* version of gdb. And that makes me uncomfortable.