From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11379 invoked by alias); 23 Mar 2004 23:25:34 -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 11172 invoked from network); 23 Mar 2004 23:25:33 -0000 Received: from unknown (HELO esds.vss.fsi.com) (66.136.174.212) by sources.redhat.com with SMTP; 23 Mar 2004 23:25:33 -0000 Received: from thing1.vss.fsi.com (thing1.vss.fsi.com [198.51.27.21]) by esds.vss.fsi.com (8.11.6+Sun/8.9.1) with ESMTP id i2NNPXM03714 for ; Tue, 23 Mar 2004 17:25:33 -0600 (CST) Received: from localhost (ford@localhost) by thing1.vss.fsi.com (8.11.6+Sun/8.11.6) with ESMTP id i2NNPWD03187 for ; Tue, 23 Mar 2004 17:25:32 -0600 (CST) X-Authentication-Warning: thing1-200.fsi.com: ford owned process doing -bs Date: Tue, 23 Mar 2004 23:47:00 -0000 From: Brian Ford X-X-Sender: ford@thing1-200 To: gdb@sources.redhat.com Subject: Re: Are mixed debug formats in one exe supported? In-Reply-To: <20040323204831.GA30982@nevyn.them.org> Message-ID: References: <20040323204831.GA30982@nevyn.them.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-SW-Source: 2004-03/txt/msg00221.txt.bz2 BTW, please CC me as I'm not subscribed to the list. Thanks. On Tue, 23 Mar 2004, Daniel Jacobowitz wrote: > On Tue, Mar 23, 2004 at 02:41:01PM -0600, Brian Ford wrote: > > I am trying to add DWARF2 support to PE/COFF for Cygwin/Mingw. They > > currently use stabs. > > > > While testing, executables end up having mixed stabs/DWARF2 debugging > > info if any system/gcc/previously compiled static libs are linked in. > > The result causes gdb to SEGV while traversing the partial symbol tables > > looking for symbol main. > > > > The problem is that init_psymbol_list is called for the executable twice > > due to mainline being set at dbxread.c:562, and again at > > dwarf2read.c:1076. > > > > So, the question. Is this meant to work? I assume the reason mainline is > > used here is: > > > > /* If we are reinitializing, or if we have never loaded syms yet, init */ > > > > Why does reinitializing not clean up after itself (ie. reset the > > [global|static]_psymbols.size to 0)? Is that a leak? > > > > I'm going to keep digging, but since I have zero knowledge of gdb > > internals, I thought I'd ask and save some time. Thanks. > > I can't answer any of the more detailed questions, but yes, this is > supposed to work. It's easy to produce binaries with both stabs and > DWARF-2 on GNU/Linux, and it generally works OK. > I almost see why. Can someone please tell me why this comment above elfstab_build_psymtabs is true for the DWARF part? This ELF file has already been processed to get its minimal symbols, and any DWARF symbols that were in it. ie. What gaurantees that DWARF is processed before stabs? I can't see that yet. If I can understand that, I think I can easily fix my problem. Thanks again. -- Brian Ford Senior Realtime Software Engineer VITAL - Visual Simulation Systems FlightSafety International Phone: 314-551-8460 Fax: 314-551-8444