[cxx-abi-dev] ABI limitation on the size of a class
Daveed Vandevoorde
daveed at edg.com
Wed Feb 23 16:48:46 UTC 2005
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
More information about the cxx-abi-dev
mailing list