From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5472 invoked by alias); 23 Jun 2004 16:06:41 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 5415 invoked from network); 23 Jun 2004 16:06:38 -0000 Received: from unknown (HELO cuddles.cambridge.redhat.com) (81.96.64.123) by sourceware.org with SMTP; 23 Jun 2004 16:06:38 -0000 Received: from redhat.com (localhost.localdomain [127.0.0.1]) by cuddles.cambridge.redhat.com (8.12.8/8.12.8) with ESMTP id i5NG5xJC022723; Wed, 23 Jun 2004 17:05:59 +0100 Received: (from aph@localhost) by redhat.com (8.12.8/8.12.8/Submit) id i5NG5wWR022715; Wed, 23 Jun 2004 17:05:58 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <16601.43621.899821.519555@cuddles.cambridge.redhat.com> Date: Wed, 23 Jun 2004 16:06:00 -0000 From: Andrew Haley To: Daniel Jacobowitz Cc: Jeff Johnston , gdb-patches@sources.redhat.com Subject: Re: [RFA]: Java Inferior Call Take 2 In-Reply-To: <20040623134742.GA24612@nevyn.them.org> References: <40A9264C.4060404@redhat.com> <20040617030603.GC23443@nevyn.them.org> <40D20494.2020608@redhat.com> <20040619235857.GA18759@nevyn.them.org> <16598.64375.217285.743094@cuddles.cambridge.redhat.com> <16601.25623.949217.642524@cuddles.cambridge.redhat.com> <20040623134742.GA24612@nevyn.them.org> X-SW-Source: 2004-06/txt/msg00503.txt.bz2 Daniel Jacobowitz writes: > On Wed, Jun 23, 2004 at 12:05:59PM +0100, Andrew Haley wrote: > > This patch is now in mainline. Is there anything else you need? > > Yes. Two sets of questions left, one for Jeff and one [plus a little > bit] for you... > > > Jeff, one test still fails: calling addprint. I think this is mostly a > GDB problem rather than GCC. Before starting the program I see this: > > (gdb) ptype jvclass > type = class jvclass : public java::lang::Object { > public: > static int k; > > static void addprint(int, int, int); > virtual int addk(int); > } > > Then, after starting it: > (gdb) ptype jvclass > type = class jvclass extends java::lang::Object { > public static int k; > > void addprint(int, int, int); > int addk(int); > jvclass(); > void (); > } > > - Should we suppress jvclass and the way we do for C++ > artificial methods? > > - Why is it java::lang::Object instead of java.lang.Object? > > - Why did printing of the type change? There's only one definition > of jvclass in the debug info, and it's marked Java. > > [Andrew, I notice that we've lost the 'static' here. There's nothing > in the dwarf output to express it, so this is a GCC problem.] OK. > The other question: I looked at fixing the debug info to print field > names correctly. The reason it's wrong is that dwarf2out uses the > decl_printable_name langhook. Java doesn't use the second argument, > which the common code assumes is verbosity. Common code always passes > '2', which matches what Java's does, except in three places: mudflap > (???), the C tree pretty printer, and this call in dwarf2out used to > set the name of decls. Java mostly passes 0 since it knows the value > is ignored. Any reason not to fix up the Java frontend to pass 2, > extend the function to handle smaller values, and thus correct the > debug output? Yes, I can do that. Andrew.