This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Fix outputting of debug info for things marked *INTERNAL* (fwd)
- To: Jason Merrill <jason at redhat dot com>
- Subject: Re: [PATCH] Fix outputting of debug info for things marked *INTERNAL* (fwd)
- From: Daniel Berlin <dberlin at redhat dot com>
- Date: 20 Feb 2001 18:27:37 -0500
- Cc: Michael Elizabeth Chastain <chastain at cygnus dot com>, gcc-patches at gcc dot gnu dot org
- References: <200102191520.HAA04292@bosch.cygnus.com><firstname.lastname@example.org>
Jason Merrill <email@example.com> writes:
> >>>>> "Michael" == Michael Elizabeth Chastain <firstname.lastname@example.org> writes:
> chastain> Does the abstract constructor have a blob of object code
> chastain> associated with it?
> jason> Never.
> > Good, that is helpful.
> jason> Currently, abstract [cd]tors are the only things marked *INTERNAL*. But
> jason> again, that's an, er, internal detail that shouldn't be making it into
> jason> the debug info. It's not a defined interface by any means.
> > I thought you needed it for dwarf2 debug info (similar to the info for
> > an inline function).
> Yes, I only meant that the string "*INTERNAL*" shouldn't be making it into
> the debug info. for dwarf2 my plan is to just avoid adding a
> DW_AT_MIPS_linkage_name attribute to the abstract ctor DIE. The other
> option would be for it to give the complete ctor's linkage name.
No, just don't give it a name, or a linkage name (if you must give it
a name, make it ""), and looking at the dwarf2read code, it should be
ignored for the purposes of constructing visible symbols (IE something
in dwarf2read might hunt it down if it's necessary to get info from it
or something, but it'll never show up in any of gdb's symbol tables).
> > I'm going to play with the demangler and see what happens if I
> > discard ctors and dtors marked " *INTERNAL* ".
> Don't bother; see above.
> >> What is GDB's representation of structs used for, other than the ptype
> >> output?
> > It's used for method calling. Again, Daniel knows this part better than
> > I do.
> > I think if a user calls "A::A", or gdb itself wants to construct an "A"
> > object, that it should always use a complete constructor anyways. I think
> > the base class constructors should be called only by target program code,
> > never directly by gdb. Does that sound right?
> Yes. We just want to be able to set a breakpoint on it.