Actions

icon Post
text/html Subscribe
text/html Unsubscribe

[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