From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17759 invoked by alias); 13 Nov 2002 18:01:40 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 17750 invoked from network); 13 Nov 2002 18:01:39 -0000 Received: from unknown (HELO zenia.red-bean.com) (66.244.67.22) by sources.redhat.com with SMTP; 13 Nov 2002 18:01:39 -0000 Received: (from jimb@localhost) by zenia.red-bean.com (8.11.6/8.11.6) id gADHjqt17371; Wed, 13 Nov 2002 12:45:52 -0500 To: Daniel Jacobowitz Cc: Elias Athanasopoulos , Michael Snyder , gdb-patches@sources.redhat.com Subject: Re: [PATCH/RFC] faster language identification References: <20021107224622.D1136@neutrino.particles.org> <20021107193409.GA25879@nevyn.them.org> <20021107230321.F1136@neutrino.particles.org> <20021107194838.GA26711@nevyn.them.org> <20021107231840.G1136@neutrino.particles.org> <3DCAD353.E5C2A968@redhat.com> <20021110170125.A29343@neutrino.particles.org> <20021110190450.GA7860@nevyn.them.org> From: Jim Blandy Date: Wed, 13 Nov 2002 10:01:00 -0000 In-Reply-To: <20021110190450.GA7860@nevyn.them.org> Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2.92 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2002-11/txt/msg00372.txt.bz2 Daniel Jacobowitz writes: > On Sun, Nov 10, 2002 at 05:01:25PM +0200, Elias Athanasopoulos wrote: > > Hi Michael, > > > > On Thu, Nov 07, 2002 at 12:55:47PM -0800, Michael Snyder wrote: > > > Elias Athanasopoulos wrote: > > > > On Thu, Nov 07, 2002 at 02:48:38PM -0500, Daniel Jacobowitz wrote: > > > > > No, the patch converts the psymtab to a symtab and uses the language in > > > > > the symtab. That's what I want you NOT to do. psymtab_to_symtab is > > > > > expensive! > > > Perhaps the patch could be added to psymtab_to_symtab, > > > so that it would not try to get the language until > > > the symbols were going to be read anyway? > > > > Yes, that may work, although I don't know exactly where gdb *really* needs > > to set the language. > > > > I was thinking of what Daniel proposed; a psymtab_language() function. But, > > even in the DWARF case, consider this: > > > > % gcc -Wa,-gdwarf2 bar.s foo.c -o foo > > > > Now, the language should be set to 'asm'? This is what you'll get if you try > > to parse the .debug_info section. Currently, gdb in the above case sets it > > to 'c'. > > > > Also, there is the case that you enable DWARF in both as and gcc, but I think > > this shouldn't be allowed by gcc. > > Well, it _should_ be asm. We don't have line number information for > the .c source. IMHO. > > (Also IMHO, the user just shouldn't do that...) Shouldn't do what? Compile assembly with debug info? Link object modules with a mix of debuggingness? I don't see what's wrong... The right behavior here, it seems to me, depends on which module contains 'main'. If that module has debug info, we should use that to choose the initial language; otherwise, we can guess from the source filename. Even .c files compiled without debugging info have a .file directive in the assembly code, which turns into an STT_FILE linker symbol.