This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: C++ ptrmemfun break if FUNCTION_BOUNDARY < 2 * BITS_PER_UNIT
- To: Jason Merrill <jason_merrill at redhat dot com>
- Subject: Re: C++ ptrmemfun break if FUNCTION_BOUNDARY < 2 * BITS_PER_UNIT
- From: Daniel Berlin <dan at www dot cgsoftware dot com>
- Date: Wed, 16 May 2001 10:18:04 -0400 (EDT)
- cc: Andrew Cagney <ac131313 at cygnus dot com>, Alexandre Oliva <aoliva at redhat dot com>, Jim Wilson <wilson at cygnus dot com>, <gcc at gcc dot gnu dot org>, <gcc-patches at gcc dot gnu dot org>, <gdb at sources dot redhat dot com>
On 16 May 2001, Jason Merrill wrote:
> >>>>> "Daniel" == Daniel Berlin <dan@www.cgsoftware.com> writes:
>
> > And when it comes to C++ stuf, i refuse to hard code any more stuff, after
> > just spending months cleaning up the crud from 5 years of doing that.
>
> >> Either the v3 ABI would need to specify the exact mechanism that is
> >> valid for ISA foo (i.e. GDB would would be wired to assume that all MIPS
> >> use mechanism XYZ) or the debug/object info would need to describe the
> >> mechanism being used so that GDB could adjust its self accordingly.
>
> > It's easiest to do this in debug info.
> > At least, for dwarf (I dunno how to do the same in stabs).
> > In the type die of the ptr-to-member die, just add a GCC specific
> > attribute that says which bit to check for virtuality, and i'll modify
> > gdb to handle it right (by telling the C++ ABI abstraction layer which
> > bit to check)
>
> So you'll hardcode the two possible representations, and rely on GCC to
> tell you which one to use? I suppose that's reasonable.
Well, it's much harder to do it without *some* type of gcc information.
Otherwise, we have a case of GCC knowing the real answer, and GDB having
to guess, which never ends up well. :)
>
> I'd rather put any special ABI attributes in the DW_TAG_compilation_unit,
> to avoid repetition.
This is fine too. In fact, any way you think is good to communicate it to
gdb, i'm fine with.
>
> Jason
>