Interoperability of RTTI information
Nathan Sidwell
nathan at codesourcery.com
Wed Sep 27 15:29:00 UTC 2000
Martin von Loewis wrote:
>
> I can't picture how this solves the problem at hand. Under this
> solution, would it be allowed for implementations to add virtual
> functions to the classes beyond those (currently) specified by the
> standard and the ABI?
yes they can add functions
>
> If yes, how does it solve the problem of different implementations
> assuming different virtual functions?
The only place these functions are assumed (and must be consistent
between) are
A emission of the vtables
B calling from within the ABI mandated entry points
To achieve this we can emit both the vtables, the virtual functions and
the ABI entry points in an implementation's runtime and ensure
that no object file will
preempt only one of A or B
use an A and B different from the rest of the executable
all will be well.
The only place A or B will be emitted will be an implementation's runtime.
If the runtime is dynamically linked the preemption problems do not exist.
If the runtime is statically linked exactly once for an executable image
they don't either.
The only way to have multiple copies of the runtime is to statically link
it into different libraries and then link those libraries together. Is
this a situation which must be addressed, or can it be banned?
nathan
--
Dr Nathan Sidwell :: http://www.codesourcery.com :: CodeSourcery LLC
'But that's a lie.' - 'Yes it is. What's your point?'
nathan at codesourcery.com : http://www.cs.bris.ac.uk/~nathan/ : nathan at acm.org
More information about the cxx-abi-dev
mailing list