Patch for IA64 32-bit function descriptors

Richard Henderson rth@redhat.com
Fri Jun 14 11:35:00 GMT 2002


On Fri, Jun 14, 2002 at 10:42:34AM -0700, Benjamin Kosnik wrote:
> I'm not sure why target-specific padding is being added to this struct.

Because several someones at HP were idiots.

There is a simple a straightforward shrink of the 64-bit ABI to
32-bits (as evidenced by our i386 port).  But no.

First, someone from the linker group had to decide that a descriptor
with 2 32-bit elements in it has to be aligned on a 64-bit boundary.
It's really at this point that someone should have vigourously applied
a clue bat.

Next, someone from the C++ group couldn't figure out that to preserve
the double-word alignment of the vtable indicies >= 0, that only one
word of extra padding is required, so that we have an even number of
words at indicies < 0.  Instead they decided that each index < 0 should
consist of two words.

> Isn't there a better way of doing this than hacking up common code
> for IA64 and HPUX issues?

*shrug* Probably not.


r~



More information about the Libstdc++ mailing list