From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26360 invoked by alias); 16 Feb 2004 03:49:31 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 26353 invoked from network); 16 Feb 2004 03:49:30 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sources.redhat.com with SMTP; 16 Feb 2004 03:49:30 -0000 Received: from drow by nevyn.them.org with local (Exim 4.30 #1 (Debian)) id 1AsZlC-0007mb-5O for ; Sun, 15 Feb 2004 22:49:30 -0500 Date: Mon, 16 Feb 2004 03:49:00 -0000 From: Daniel Jacobowitz To: gdb@sources.redhat.com Subject: Re: [MI] -file-list-exec-source-files Message-ID: <20040216034930.GA29864@nevyn.them.org> Mail-Followup-To: gdb@sources.redhat.com References: <20040213012946.GB4476@white> <20040216033008.GB2685@nevyn.them.org> <20040216034525.GA3437@white> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040216034525.GA3437@white> User-Agent: Mutt/1.5.1i X-SW-Source: 2004-02/txt/msg00155.txt.bz2 On Sun, Feb 15, 2004 at 10:45:25PM -0500, Bob Rossi wrote: > On Sun, Feb 15, 2004 at 10:30:08PM -0500, Daniel Jacobowitz wrote: > > On Thu, Feb 12, 2004 at 08:29:46PM -0500, Bob Rossi wrote: > > > So, I have 2 solutions, > > > 1. Modify the psytmab to also have the 'dirname'. Which seems > > > difficult. Although I do think this is the best solution. (Not knowing > > > to much about psymtabs and symtabs) > > > > > > 2. Change -file-list-exec-source-file to receive an optional filename, > > > which when doing this causes GDB to read in the symtab associated with > > > the psymtab. Then the fullname can be retrieved. > > > > The question is whether this information is available without having to > > read full symtabs. Is this the dirname referenced in debug > > information, or the dirname in which GDB has actually found the file? > > I'm guessing that it's the latter, since so few debug readers bother to > > fill in the former. If so we would have to search the directory path > > for every file when generating psymtabs, which isn't acceptable. It > > would take a fearsomely long time. > > Thanks for the response. > > Actually, I'm pretty sure it's the former. > It's symtab->dirname, which seems to get filled in from the debug info. > It looks like symtab->dirname gets set around buildsym.c:975. > Is it bad to count on this feature if so few debug readers support the feature? > It seems that at least "stabs" supports this feature. Ah, both stabs and dwarf2 do. Stabs does it in a mighty twisty way, see patch_subfile_names. > Currently, as far as I know, it's the only way things like annotate > 1,2 and 3 work. That's the only reliable way GDB gets the absolute path > to the source file, is that correct? If there is another method GDB > figures out the absolute path to the source file, I would be interested > in hearing it. The directory search path, for instance - see source.c. There's no guarantee the source is where you left it. Making an IDE rely on the guessed-from-debug-info path is just going to get the situation confused. -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer