32-bit vtable problem on IA64 HP-UX

Jessica Han jessica@cup.hp.com
Thu Feb 7 10:01:00 GMT 2002


I am having a problem with g++ at 32-bit on IA64 HP-UX. The vtable for IA64
is designed for 64-bit, the 32-bit version doesn't work very well. The HP
linker
requires function descriptors to be 8 bytes aligned even in 32-bit mode. The
easiest way is to make data members (vcall, vbase, offset and typeinfo
pointer) in the vtable 8 bytes (they are 4 bytes each right now). I will
keep the function descriptor 16 bytes at 32-bit, but change it to a data8
value followed by 8 byte zeros.  Where the type for those data is defined?
Is it possible to
change it? If I change them to be long long, can I get the correct value in
VTT automatically? If not, where can I find the calculation for the offsets
to build VTT? Thanks.

----
Jessica Han
Open Source Tools
Hewlett-Packard
(408) 447-6154



More information about the Gcc mailing list