From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11888 invoked by alias); 20 Dec 2007 16:44:50 -0000 Received: (qmail 11879 invoked by uid 22791); 20 Dec 2007 16:44:49 -0000 X-Spam-Check-By: sourceware.org Received: from smtp-out.google.com (HELO smtp-out.google.com) (216.239.33.17) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 20 Dec 2007 16:44:41 +0000 Received: from zps78.corp.google.com (zps78.corp.google.com [172.25.146.78]) by smtp-out.google.com with ESMTP id lBKGiPLh023417; Thu, 20 Dec 2007 16:44:25 GMT Received: from smtp.corp.google.com (spacemonkey1.corp.google.com [192.168.120.115]) by zps78.corp.google.com with ESMTP id lBKGiOMF022856 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 20 Dec 2007 08:44:24 -0800 Received: from localhost.localdomain.google.com (adsl-76-249-168-94.dsl.pltn13.sbcglobal.net [76.249.168.94]) (authenticated bits=0) by smtp.corp.google.com (8.13.8/8.13.8) with ESMTP id lBKGiLsc031561 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Thu, 20 Dec 2007 08:44:23 -0800 To: Alexandre Oliva Cc: janis187@us.ibm.com, gcc@gcc.gnu.org Subject: Re: Designs for better debug info in GCC References: <4749DE66.1090602@codesourcery.com> <4756B02D.9010302@google.com> <4aca3dc20712151903r46c9eceane35edb92d08240ac@mail.gmail.com> <4aca3dc20712161712w1133fb96qd66be0e9a0bb1716@mail.gmail.com> <4766B8E5.60500@google.com> <4766DF5C.1020802@google.com> <47671BF4.5050704@google.com> <1! 198092296.6413.5.camel@janis-laptop> From: Ian Lance Taylor Date: Thu, 20 Dec 2007 16:52:00 -0000 In-Reply-To: Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-IsSubscribed: yes Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org X-SW-Source: 2007-12/txt/msg00631.txt.bz2 Alexandre Oliva writes: > On Dec 19, 2007, Ian Lance Taylor wrote: > > > For some things, sure, but we are just talking about the values in > > user visible variables stored in registers. There is no way we can > > make that information be correct between line notes. > > Err... I think there is, and one way to do it is with the design I've > proposed. Do you have anything to back up your implied assertion that > the design can't accomplish this? It is technically feasible but problematic for other reasons. i = i * m + ((i / j) + k) / n; On a two register machine like the x86 i will change several times during that calculation. You could issue debug notes making it correct at every machine instruction. But that would balloon the amount of debug info that we generate, for near-zero gain in real usability of the debugger. We already generate huge amounts of debug info--a typical C++ executable has more debug info than text and data combined. Increasing the amount of debug info significantly, for little gain, is contraindicated. Ian