From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4698 invoked by alias); 20 Jan 2002 00:19:59 -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 4659 invoked from network); 20 Jan 2002 00:19:57 -0000 Received: from unknown (HELO nevyn.them.org) (128.2.145.6) by sources.redhat.com with SMTP; 20 Jan 2002 00:19:57 -0000 Received: from drow by nevyn.them.org with local (Exim 3.33 #1 (Debian)) id 16S5iK-0000H3-00; Sat, 19 Jan 2002 19:20:00 -0500 Date: Sat, 19 Jan 2002 16:19:00 -0000 From: Daniel Jacobowitz To: Per Bothner Cc: gdb-patches@sources.redhat.com Subject: Re: patch to robustify gnuv3_rtti_type Message-ID: <20020119192000.A1028@nevyn.them.org> Mail-Followup-To: Per Bothner , gdb-patches@sources.redhat.com References: <3C49D9DF.4040700@bothner.com> <20020119183848.A32307@nevyn.them.org> <3C4A0C1F.6070903@bothner.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3C4A0C1F.6070903@bothner.com> User-Agent: Mutt/1.3.23i X-SW-Source: 2002-01/txt/msg00547.txt.bz2 On Sat, Jan 19, 2002 at 04:15:27PM -0800, Per Bothner wrote: > Daniel Jacobowitz wrote: > >> * gnu-v3-abi.c (gnuv3_rtti_type): Guard that vtable_symbol_name > >> isn't NULL, which can happen with some gcj3.0-produced code. > > > >OK for now. > > I checked it in. > > >I'll see if we can cope with the vtables that it currently > >emits, too. > > Well, I have a non-checked-in gcj path that is one step towards > fixing the vtables, in that it add sthe extra header words "in > front of" the vtable pointer. I.e. I've allocated space in > the vtable for the rtti pointer, though leaving the pointer > null. The next step is sctually generating the type_info > object. It might be nice to actually *embed* the type_info > object inside the Class object, possibly reducing some > duplication. Go look at gnuv3_rtti_type again. It's misnamed; it does not use RTTI at all. It only looks that the vtable exists and has a name demangled to 'vtable for '. -- Daniel Jacobowitz Carnegie Mellon University MontaVista Software Debian GNU/Linux Developer