This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: --disable-new-gxx-abi
- To: dberlin at redhat dot com (Daniel Berlin)
- Subject: Re: --disable-new-gxx-abi
- From: Joe Buck <jbuck at racerx dot synopsys dot com>
- Date: Wed, 24 Jan 2001 11:27:42 -0800 (PST)
- Cc: aoliva at redhat dot com (Alexandre Oliva), pfeifer at dbai dot tuwien dot ac dot at (Gerald Pfeifer), gcc at gcc dot gnu dot org
> > Maybe because GDB still doesn't support the v3 ABI, and people who're
> > building GCC like that are the kind of people who think debugging code
> > with a debugger is still the way to go? :-)
> Define support.
> We support the mangling.
> Basically everything but virtual functions will work, and
> virtual functions might work with dwarf2.
As someone who develops C++ all day, almost every day:
If virtual functions can't be called from gdb, C++ isn't supported
adequately for debugging.
> As the C++ support maintainer for GDB, i'm catching up as fast as I can.
> Supporting virtual functions for the new abi requires a lot of
> architectural rewriting, since the ABI hasn't changed since C++ support
> was first added to gdb a billion years ago, and their is no architecture
> in place to support multiple C++ abi's (Ie the old-abi stuff is hardcoded
> into routines it doesn't belong in).
Hmm. But for the most common case -- single inheritance with no virtual
base clases -- isn't the code sequence to do a virtual function call
exactly the same with old and new ABIs? I suppose I could live with a
first version that did virtual function table calls correctly only for
single inheritance, as long as I got a "sorry not implemented" rather than
a core dump if I tried to call a virtual on a non-implemented case.