From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31766 invoked by alias); 12 Sep 2008 17:19:33 -0000 Received: (qmail 31715 invoked by uid 22791); 12 Sep 2008 17:19:32 -0000 X-Spam-Check-By: sourceware.org Received: from mx2.redhat.com (HELO mx2.redhat.com) (66.187.237.31) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 12 Sep 2008 17:18:51 +0000 Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id m8CHHMCT002045; Fri, 12 Sep 2008 13:17:42 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id m8CHHBeG015176; Fri, 12 Sep 2008 13:17:11 -0400 Received: from opsy.redhat.com (vpn-10-13.bos.redhat.com [10.16.10.13]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id m8CHHAUI013544; Fri, 12 Sep 2008 13:17:10 -0400 Received: by opsy.redhat.com (Postfix, from userid 500) id 39D75C8818F; Fri, 12 Sep 2008 11:17:22 -0600 (MDT) To: Joel Brobecker Cc: gdb-patches@sourceware.org Subject: Re: [RFA/commit/dwarf] Create partial symbols for nested subprograms References: <20080910201959.GC10133@adacore.com> <20080910203437.GA26162@caradoc.them.org> <20080911175422.GS12222@adacore.com> <20080911183730.GA17809@caradoc.them.org> <20080912041800.GA3714@adacore.com> <20080912165541.GE3714@adacore.com> From: Tom Tromey Reply-To: Tom Tromey X-Attribution: Tom Date: Fri, 12 Sep 2008 17:19:00 -0000 In-Reply-To: <20080912165541.GE3714@adacore.com> (Joel Brobecker's message of "Fri\, 12 Sep 2008 09\:55\:41 -0700") Message-ID: User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii 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: 2008-09/txt/msg00276.txt.bz2 >>>>> "Joel" == Joel Brobecker writes: Tom> My patch defers reading partial symbol tables until they are needed. Tom> This is done on a per-objfile basis, so some user requests can be Tom> satisfied without reading all the psymbols for the inferior. Joel> Oh, wow. How do you detect when partial symbols are needed or not? To find the places needing a call to require_partial_symbols, first I read a bunch of code, then I ran the test suite, and finally I did some interactive tests while debugging the modified gdb. Essentially, the drawback of this approach is that, before writing code that uses psymbols, you must decide whether they should be loaded or not. In some cases, other sorts of changes are appropriate. E.g., I changed have_partial_symbols() to have two loops -- one that first checks whether any partial symbols exist, and then a second to try to demand-load partial symbols. Joel> (it's ok if you don't have time to answer my question now - I will Joel> find out anyways when you do submit the patch here, so...) If you want to see it sooner, I posted it to the archer list. Also it is in the archer git repository. Tom