From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19554 invoked by alias); 23 Mar 2004 23:44:13 -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 19511 invoked from network); 23 Mar 2004 23:44:11 -0000 Received: from unknown (HELO esds.vss.fsi.com) (66.136.174.212) by sources.redhat.com with SMTP; 23 Mar 2004 23:44:11 -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 i2NNiAM04109 for ; Tue, 23 Mar 2004 17:44:10 -0600 (CST) Received: from localhost (ford@localhost) by thing1.vss.fsi.com (8.11.6+Sun/8.11.6) with ESMTP id i2NNiAF14929 for ; Tue, 23 Mar 2004 17:44:10 -0600 (CST) X-Authentication-Warning: thing1-200.fsi.com: ford owned process doing -bs Date: Wed, 24 Mar 2004 07:12: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: 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/msg00222.txt.bz2 On Tue, 23 Mar 2004, Brian Ford wrote: > 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. > Sorry to follow up my own post, but I'm now even more confused. >From what I can see, the order (for elf) is gauranteed to be ECOFF, stabs, DWARF2, DWARF, DWARF2 frame info. So, that comment just looks wrong. And, I still don't understand why it works on Linux. -- Brian Ford Senior Realtime Software Engineer VITAL - Visual Simulation Systems FlightSafety International Phone: 314-551-8460 Fax: 314-551-8444