From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27643 invoked by alias); 17 Feb 2004 20:27:41 -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 27625 invoked from network); 17 Feb 2004 20:27:40 -0000 Received: from unknown (HELO localhost.redhat.com) (216.129.200.20) by sources.redhat.com with SMTP; 17 Feb 2004 20:27:40 -0000 Received: from gnu.org (localhost [127.0.0.1]) by localhost.redhat.com (Postfix) with ESMTP id F27882B92; Tue, 17 Feb 2004 15:27:38 -0500 (EST) Message-ID: <4032793A.6010605@gnu.org> Date: Tue, 17 Feb 2004 20:27:00 -0000 From: Andrew Cagney User-Agent: Mozilla/5.0 (X11; U; NetBSD macppc; en-US; rv:1.0.2) Gecko/20030820 MIME-Version: 1.0 To: Bob Rossi Cc: gdb@sources.redhat.com Subject: Re: [MI] -file-list-exec-source-files References: <20040216034525.GA3437@white> <20040216034930.GA29864@nevyn.them.org> <20040216153329.GA3978@white> <20040216154628.GA996@nevyn.them.org> <20040216160835.GB3978@white> <40325BC5.4090403@gnu.org> <20040217191005.GA5982@white> <20040217191238.GA30895@nevyn.them.org> <20040217193001.GB5982@white> <40326FEB.8050409@gnu.org> <20040217200205.GC5982@white> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2004-02/txt/msg00212.txt.bz2 >> >2. -file-list-exec-fetch-fullname [filename] >> > >> > This will be a new MI command. >> > >> > This will return a fullname given a filename. >> > If the symtab is read in, it calls source.c:symtab_to_filename. >> > If the symtab is not read in, it reads it in and calls the above >> > function. >> > >> > This function is necessary because all of the other MI commands still >> > output just the filename and not the fullname. For example, breakpoints, >> > stack, ... > > > Yes, I guess it's a bug. However, these commands have never returned the > fullname. That's cos no one thought to point out the bug :-( > Here you are making a big change to the way GDB deals with front ends. > You are saying that GDB should only let the front end know about > fullnames, and know nothing about filenames. Both: filename=...,fullname=... should be output. That's where MI is ment to be upward compatible. > I consider this desirable as a front end writer, since the fullname is > the only valid unique key to a front end. > > It would be nice if I could do this in 2 phase's. > First add this function, for backwards compatibility, and then, change > all the existing commands to return fullnames. I'd just fix the commands as each causes a problem as otherwize ... > Although, leaving this function around, doesn't hurt anything. ... GDB would end up having to support that command :-( >> >3. -file-list-exec-source-files [force_fullnames] >> > >> > This will implement an existing unimplemented MI command. >> > >> > By default, this will return >> > 1. filename for each psymtab, with no fullname >> > 2. filename/fullname for each symtab >> > >> > If the option "force_fullnames" is passed, it will have GDB convert all >> > of the psymtabs to symtabs, thus printing out the filename/fullname for >> > all symtabs. The overhead of doing this is probably high, and >> > undesirable by default. >> > >> > If the front end wants to be more efficient, it could show the user the >> > "filenames" and then do the "fullname" lookup just on that file. Thus, >> > only reading in one symtab. > >> >> This specification is too heavily dependent on GDB's current underlying >> implementation - symtab and psymtab are internal details and do not >> belong in this interface specification. > > > I was just showing how this interface is affected by GDB's > implementation of psymtab/symtab. The user will have no idea of these 2 > concepts. > > Anyways, if I can get the dirname into psymtab, this will no longer be an > issue. The user will always get the filename/fullname combo. > > With that said, do you like the implementation? I've not looked at it in detail. Andrew