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