From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16051 invoked by alias); 24 Mar 2004 21:33:27 -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 16023 invoked from network); 24 Mar 2004 21:33:26 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sources.redhat.com with SMTP; 24 Mar 2004 21:33:26 -0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.12.10/8.12.10) with ESMTP id i2OLXPWA014948 for ; Wed, 24 Mar 2004 16:33:25 -0500 Received: from zenia.home.redhat.com (porkchop.devel.redhat.com [172.16.58.2]) by int-mx1.corp.redhat.com (8.11.6/8.11.6) with ESMTP id i2OLXNj14247; Wed, 24 Mar 2004 16:33:24 -0500 To: tromey@redhat.com Cc: Daniel Jacobowitz , gdb-patches@sources.redhat.com Subject: Re: [RFC]: java inferior function call support References: <40608A03.1070808@redhat.com> <20040323191051.GA27837@nevyn.them.org> <87y8pqxa9q.fsf@fleche.redhat.com> From: Jim Blandy Date: Wed, 24 Mar 2004 21:33:00 -0000 In-Reply-To: <87y8pqxa9q.fsf@fleche.redhat.com> Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2004-03/txt/msg00574.txt.bz2 Tom Tromey writes: > >>>>> "Daniel" == Daniel Jacobowitz writes: > > Daniel> I'm not at all sure about the vtable changes. They should be > Daniel> compatible, because gcj does try to follow the C++ ABI. If you'll send > Daniel> a testcase, I'll take another look and see what I'm missing. > > Yeah, a gcj vtable looks pretty much like the vtable of a C++ class > with only a single superclass. It is a bit odd in that there are a > couple of vtable slots that don't actually point to methods, but I > think this shouldn't matter to gdb. > > If gdb uses C++ RTTI, then that would be a problem, since gcj doesn't > generate the same sort of RTTI information. I don't think it does. When GDB wants to find an object's run-time type, it finds the address of its vtable, looks up the minimal symbol whose value is that address, demangles that, and extracts the class's name from the demangled vtable name. Then it uses debugging info from there. But I don't think there's much in GDB that looks at the RTTI itself.