This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: --disable-new-gxx-abi
- To: jbuck at racerx dot synopsys dot com
- Subject: Re: --disable-new-gxx-abi
- From: Mark Mitchell <mark at codesourcery dot com>
- Date: Wed, 24 Jan 2001 12:29:31 -0800
- Cc: dberlin at redhat dot com, aoliva at redhat dot com, pfeifer at dbai dot tuwien dot ac dot at, gcc at gcc dot gnu dot org
- Organization: CodeSourcery, LLC
- References: <200101241927.LAA09629@racerx.synopsys.com>
>>>>> "Joe" == Joe Buck <jbuck@racerx.synopsys.com> writes:
Joe> Hmm. But for the most common case -- single inheritance with
Joe> no virtual base clases -- isn't the code sequence to do a
Joe> virtual function call exactly the same with old and new ABIs?
Yes.
In fact, that's true for multiple inheritance, too.
The things that I know are different are:
- The vtable is always located at offset zero in the object, rather
that in some arbitrary place. (That should make things easier!)
- Casting to virtual bases is different, and that means that
calling a virtual function defined in a virtual base is different.
- The functions are numbered differently, so you have to compute the
place to look into the vtable a little differently.
There may be other subtle issues, and I'm not a GDB expert by any
means, so how this stuff works there, I don't know...
--
Mark Mitchell mark@codesourcery.com
CodeSourcery, LLC http://www.codesourcery.com