From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2024 invoked by alias); 9 Jun 2004 13:09:07 -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 1892 invoked from network); 9 Jun 2004 13:09:03 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sourceware.org with SMTP; 9 Jun 2004 13:09:03 -0000 Received: from drow by nevyn.them.org with local (Exim 4.34 #1 (Debian)) id 1BY2p9-0001yH-IW; Wed, 09 Jun 2004 09:08:59 -0400 Date: Wed, 09 Jun 2004 13:09:00 -0000 From: Daniel Jacobowitz To: Andrew Haley Cc: java@gcc.gnu.org, gdb@sources.redhat.com Subject: Re: Binary Compatibility: debug info for compiled Java programs Message-ID: <20040609130859.GA7514@nevyn.them.org> Mail-Followup-To: Andrew Haley , java@gcc.gnu.org, gdb@sources.redhat.com References: <16582.65277.81118.189889@cuddles.cambridge.redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <16582.65277.81118.189889@cuddles.cambridge.redhat.com> User-Agent: Mutt/1.5.5.1+cvs20040105i X-SW-Source: 2004-06/txt/msg00060.txt.bz2 On Wed, Jun 09, 2004 at 01:13:49PM +0100, Andrew Haley wrote: > At the gcc summit last week, we were asked about how we're going to do > debug info for programs compiled with the BC ABI. This is a problem: > as we don't know the layout of objects at compile time, we can't > generate the usual DWARF debugging type info. > > I said that there were two front-running solutions: calling into > libgcj runtime routines that access the metadata, or generating DWARF > debugging type info at run time. Andrew Cagney objects to calling > libgcj runtime routines, because then we won't be able to debug core > files. Also, if the runtime library is hosed for some reason, we > won't be able to debug any structures. This is a good point, and I > suppose it more or less kills the idea. > > Bryce pointed out that there is another solution that he favours, > which involves gdb reading libgcj's metadata. I'm not familiar with the BC ABI (and missed the talk); could you give me an example of what information you have at compile time and what you generate at runtime? I suspect that a fourth solution is possible: gcj generating DWARF which describes how to read the metadata. It may not be very efficient, though, and it will still require a certain amount of playing with GDB. -- Daniel Jacobowitz