[ia64-abi] Re: fwd re: vtable format

dfp at sco.com dfp at sco.com
Tue Dec 7 14:27:00 UTC 1999


-----BEGIN PGP SIGNED MESSAGE-----

> The following issue has arisen in the C++ ABI group.  We have agreed
> that virtual function tables will contain function descriptors (i.e.
> pointer/gp pairs) instead of pointers to them, primarily for the
> performance benefit of not doing an extra indirection.
> 
> Richard Henderson of Cygnus points out that the IA-64 relocations don't
> really support doing this.  However, the R_IA_64_IPLT*SB relocations do
> perform the correct action.  The problem is that they are currently
> specified to be valid only in executables and shared objects.  I
> believe that the problem can be solved by simply removing this
> restriction.  The static linker support required shouldn't be major --
> it would presumably just pass the relocations through to the linked
> object and let the dynamic linker deal with them.

The only potential issue that I see is that the R_IA_64_IPLT[LM]SB
relocations have no well-defined addend.  This isn't an issue with
executable and shared objects since these always occur in plain
"REL" not "RELA" containers.  But, most relocations for IA64 object
files use RELA containers.  I suppose you could use a separate
relocation section just for the vtables instead.  This would make
it even easier to have ld just pass them on to the dynamic linker.

Dave Prosser dfp at sco.com (908)790-2358 Rm A332, SCO, Murray Hill, NJ
-----BEGIN PGP SIGNATURE-----
Version: 2.6.2

iQCVAwUBOE0ZTL3l4qe5Xxg5AQHRQQP/UyFUnB5TQ1AC7rLjEP8DXUu56A6DqpWk
kkHU85FEov9sACnEVgiCMTSUTHmfM5l4xNgi7JOxr8T2eVvkX29vV4lMFzE8cP4H
kw+6CviLKGOOAUasBJ0dSjkLri/QrV8hmQL+PWu/fYXa53sKjHU/8Hhfkb9aRadk
5UXDV8cXRC4=
=cTD0
-----END PGP SIGNATURE-----




More information about the cxx-abi-dev mailing list