From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7685 invoked by alias); 4 Nov 2002 20:25:54 -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 7670 invoked from network); 4 Nov 2002 20:25:54 -0000 Received: from unknown (HELO crack.them.org) (65.125.64.184) by sources.redhat.com with SMTP; 4 Nov 2002 20:25:54 -0000 Received: from nevyn.them.org ([66.93.61.169] ident=mail) by crack.them.org with asmtp (Exim 3.12 #1 (Debian)) id 188oih-0005Il-00; Mon, 04 Nov 2002 15:25:15 -0600 Received: from drow by nevyn.them.org with local (Exim 3.36 #1 (Debian)) id 188no1-0001vf-00; Mon, 04 Nov 2002 15:26:41 -0500 Date: Mon, 04 Nov 2002 12:25:00 -0000 From: Daniel Jacobowitz To: Jim Blandy , John Wolfe Cc: Andrew Cagney , gdb@sources.redhat.com Subject: Re: Petr Sorfa's Dwarf 2 changes Message-ID: <20021104202641.GA7194@nevyn.them.org> Mail-Followup-To: Jim Blandy , John Wolfe , Andrew Cagney , gdb@sources.redhat.com References: <200210231720.g9NHKqO32140@zenia.red-bean.com> <3DB6EEE6.1060100@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.1i X-SW-Source: 2002-11/txt/msg00041.txt.bz2 On Mon, Nov 04, 2002 at 03:06:21PM -0500, Jim Blandy wrote: > > Andrew Cagney writes: > > > I'm undertaking some related work in dwarf2read.c which will almost > > > certainly conflict with Caldera's changes, and I'd like to see where > > > you guys ended up. > > > > Care to expand? > > Sure --- I'm trying to put together a patch to support > inter-compilation unit die references, which is (the hardest?) part of > supporting Dwarf 2 compression. > > I think the changes are going to be pretty widespread. > > At the moment, dwarf2read.c has a number of global variables that > describe per-compilation-unit things. These get set as we do the > psymtab scan, stashed in each psymtab we create, and then restored > each time we convert a psymtab to a symtab. If we're going to handle > inter-CU references, we're going to be dealing with more than one CU > at a time, so that's not going to be sufficient any more --- which CU > you need depends on which die you're looking at. > > I'd like to change GDB to have a per-objfile Dwarf-specific structure > (like struct dbx_symfile_info for STABS), and per-CU Dwarf-specific > structures. These would be passed as arguments amongst the > dwarf2read.c functions as appropriate. Furthermore, each die might > need to have a pointer to the CU that owns it. > > Those are pretty pervasive changes, but I think the folks who have > worked in dwarf2read.c will agree that they're the right way to go. > When I've gotten something working on the branch I'll have more > perspective on what's really needed. Not only will they agree, I believe Petr and John had already finished doing this. Doubtless there's still some room for improvement, but the functionality is there... John, do you have that merged dwarf2read available? [For instance, from Petr's July posting: * dwarf2read.c (build_die_ref): New function that builds a new die reference if necessary, will search across multiple comp units to find the reference. (find_die_ref): New function that searches for a die reference for a given comp unit. (find_cu_header_from_begin_offset): New function that searches through a link list of comp unit headers for a comp unit that matches the given offset. ] -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer