From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5972 invoked by alias); 25 Mar 2009 23:45:25 -0000 Received: (qmail 5959 invoked by uid 22791); 25 Mar 2009 23:45:24 -0000 X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mx2.redhat.com (HELO mx2.redhat.com) (66.187.237.31) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 25 Mar 2009 23:45:19 +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 n2PNiaXm008263; Wed, 25 Mar 2009 19:44:36 -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 n2PNiQi4009988; Wed, 25 Mar 2009 19:44:27 -0400 Received: from opsy.redhat.com (vpn-13-99.rdu.redhat.com [10.11.13.99]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n2PNiW67021229; Wed, 25 Mar 2009 19:44:33 -0400 Received: by opsy.redhat.com (Postfix, from userid 500) id B183D37826A; Wed, 25 Mar 2009 17:44:30 -0600 (MDT) To: Joel Brobecker Cc: gdb-patches@sourceware.org Subject: Re: RFC: lazy partial symbol table reading References: <20090325223211.GH9472@adacore.com> From: Tom Tromey Reply-To: Tom Tromey Date: Wed, 25 Mar 2009 23:56:00 -0000 In-Reply-To: <20090325223211.GH9472@adacore.com> (Joel Brobecker's message of "Wed\, 25 Mar 2009 15\:32\:11 -0700") Message-ID: User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (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: 2009-03/txt/msg00578.txt.bz2 >>>>> "Joel" == Joel Brobecker writes: Joel> I think I need to discuss the principle of this patch internally with Joel> the other AdaCore GDB engineers, in particular with Paul Hilfinger. Sounds good. Joel> I think that this might impact Ada, because, when we do symbol lookups, Joel> we need to search all psymtabs. I see I did not touch any Ada files. Oops, I'm sure that is going to cause bugs. But, it is always safe to just use ALL_PSYMTABS_REQUIRED -- it just means that the benefit of laziness might be lost in some scenario. Perhaps it would have been better to make ALL_PSYMTABS, et al, call require_partial_symbols, and then introduce new non-requiring variants to be used where it is known to be ok. Also on this topic... Jan reminded me today that in order to extend laziness to symbol lookup, we'd have to get gcc to emit the debug_pubnames section. Actually emitting this is trivial (one line change in gcc), but gcc also has bugs in its emission. And, if we want to preserve gdb's current symbol lookup style, we'd probably also need to introduce a new debug_privnames. (The issue is that "print x" will work in gdb today if x is static -- but dwarf doesn't specify any index for finding this.) Tom