This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFA:] Fix for some .vtable_inherit inheritance bugs in the "old" ABI.
- To: Hans-Peter Nilsson <hp at bitrange dot com>
- Subject: Re: [RFA:] Fix for some .vtable_inherit inheritance bugs in the "old" ABI.
- From: Jason Merrill <jason at redhat dot com>
- Date: 20 Dec 2000 15:27:43 +0000
- Cc: gcc-patches at gcc dot gnu dot org
- References: <Pine.BSF.4.10.10010081634340.7565-100000@dair.pair.com>
>>>>> "Hans-Peter" == Hans-Peter Nilsson <hp@bitrange.com> writes:
> I've tried to fix *some* bugs in the -fvtable-gc machinery.
OK. Sorry this took so long.
> Sad to say, this does not work for the new ABI. Neither did it before, to
> the same extent or slightly less. There seems to be too large general
> differences for -fvtable-gc to work at present with the new ABI. For
> example, a vt with the new ABI looks can "inherit" from several other
> vt:s on different inheritance paths, and the .vtable_entry offsets seem like
> they need an extra offset unknown at the call site. See also
> <URL:http://gcc.gnu.org/ml/gcc/1999-08n/msg00905.html>. I hope and
> believe this can be fixed, perhaps with the help of some extra .vtable_foo
> machinery.
> Perhaps using -fvtable-gc should be an error, or warned about for the new
> ABI?
I think it shouldn't be hard to make it work with the new ABI. A class
still has a unique primary base from which it inherits the vtable, and the
entry for a particular function is still at a unique offset in the vtable.
The other offset you mention is only used for 'this' adjustment, and is
therefore irrelevant; the optimization is only trying to avoid pulling in
unneeded functions.
> Is there other documentation for the new ABI than the code and mailing
> list contents? Something to add to readings.html?
The ia64 ABI website is currently
http://reality.sgi.com/dehnert_engr/cxx/
though it may move soon.
Jason