From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5790 invoked by alias); 4 Nov 2002 20:21:05 -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 5781 invoked from network); 4 Nov 2002 20:21:03 -0000 Received: from unknown (HELO zenia.red-bean.com) (66.244.67.22) by sources.redhat.com with SMTP; 4 Nov 2002 20:21:03 -0000 Received: (from jimb@localhost) by zenia.red-bean.com (8.11.6/8.11.6) id gA4K6LV17746; Mon, 4 Nov 2002 15:06:21 -0500 To: Andrew Cagney Cc: gdb@sources.redhat.com Subject: Re: Petr Sorfa's Dwarf 2 changes References: <200210231720.g9NHKqO32140@zenia.red-bean.com> <3DB6EEE6.1060100@redhat.com> From: Jim Blandy Date: Mon, 04 Nov 2002 12:21:00 -0000 In-Reply-To: <3DB6EEE6.1060100@redhat.com> Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2.90 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2002-11/txt/msg00040.txt.bz2 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.