This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: --disable-new-gxx-abi



> > 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.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]