[rfa/c++] cp_lookup_rtti_type, take 2

Daniel Jacobowitz drow@mvista.com
Fri Dec 5 17:40:00 GMT 2003


On Fri, Dec 05, 2003 at 09:38:52AM -0800, David Carlton wrote:
> On Fri, 5 Dec 2003 12:16:58 -0500, Daniel Jacobowitz <drow@mvista.com> said:
> 
> > How do you suggest we do it?  Some new addition to the debug info?  I
> > don't believe we have anything at the moment that fills this need.
> 
> Hmm.  I thought I'd seen something appropriate in the debug info, but
> now I realize that I was looking for the slot for the vtable in the
> class, which is a quite different matter.
> 
> Well, here's what I see when looking for a vtable symbol in a sample
> file:
> 
> 	.uleb128 0x1d	# (DIE (0x20d) DW_TAG_variable)
> 	.long	.LC9	# DW_AT_name: "_ZTI1C"
> 	.long	0x21e	# DW_AT_type
> 	.byte	0x1	# DW_AT_external
> 	.byte	0x1	# DW_AT_artificial
> 	.byte	0x5	# DW_AT_location
> 	.byte	0x3	# DW_OP_addr
> 	.long	_ZTI1C
> 
> So DW_TAG_variable + DW_AT_artificial is a start - looking for that
> (plus perhaps guiltily peeking at the demanged name just to make sure
> it starts with 'typeinfo') lets us find the vtable symbols.  But that
> doesn't help - the DW_AT_type doesn't actually lead us to the type
> that it's the vtable for, and certainly none of the other attributes
> are going to help.
> 
> Sigh.

If you think this _should_ be in the debug info, you may want to draft
a proposed extension.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer



More information about the Gdb-patches mailing list