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