[ Date Prev][ Date Next][ Thread Prev][ Thread Next][ Date Index][ Thread Index]
Re: [cxx-abi-dev] ABI limitation on the size of a class
- To: Christian BRUEL <christian.bruel@xxxxxx>
- Subject: Re: [cxx-abi-dev] ABI limitation on the size of a class
- From: Daveed Vandevoorde <daveed@xxxxxxx>
- Date: Wed, 23 Feb 2005 11:48:46 -0500
On Feb 23, 2005, at 11:35 AM, Christian BRUEL wrote:
I'm trying to understand the rational for the 1.2 Limit section in the
itanium C++ ABI (http://www.codesourcery.com/cxx-abi/abi.html#limits)
The section says that this limitation is due to RTTI implementation.
Is it because of the field to the beginning of the complete type in
the typeinfos ?
in the libstdc++ sources (gcc 3.3.3) this field ("whole_object" field)
has type ptrdiff_t so the only limitation I can find in the size of an
object is 2**31 bytes for a 32 bit machine.
The raisons should hide elsewhere, but I really don't see...
The ABI-standard version of struct abi::__base_class_type_info
has a 64-bit field "__offset_flags" that carries some flags in
its lower 8 bits, and an offset in the remaining 56 bits.
See 2.9.5/6a, third bullet.
Daveed Vandevoorde
Edison Design Group
|