This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

32-bit vtable problem on IA64 HP-UX


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]