fwd re: vtable format
Jim Dehnert
dehnert at baalbek.engr.sgi.com
Mon Dec 6 22:53:32 UTC 1999
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.
Am I missing something? Comments?
Jim
> To: cxx-abi at corp.sgi.com
> Subject: fwd re: vtable format
> X-UIDL: 944516616.004
> From: Jason Merrill <jason at cygnus.com>
> Date: 03 Dec 1999 14:30:43 -0800
>
> Richard Henderson says there's no way to write the vtables the way we
> decided, at least with the current gABI...
>
> ------- Start of forwarded message -------
> Date: Fri, 3 Dec 1999 14:27:27 -0800
> From: Richard Henderson <rth at cygnus.com>
> To: Jason Merrill <jason at cygnus.com>
> Cc: law at cygnus.com, Alex Samuel <samuel at codesourcery.com>,
> gcc-patches at gcc.gnu.org, wilson at cygnus.com
> Subject: Re: PATCH: C data layout tests for IA-64 ABI
> Message-ID: <19991203142727.A3063 at cygnus.com>
> References: <1871.944250173 at upchuck> <u9wvqvsmh1.fsf at yorick.cygnus.com>
>
> On Fri, Dec 03, 1999 at 02:12:10PM -0800, Jason Merrill wrote:
> > The ia64 C++ ABI committee has decided to use the descriptors. If this
> > doesn't make sense (i.e. if there's no way to express such a thing to the
> > assembler), now's the time to let us know...:)
>
> You mean you want the vtable to look like
>
> struct { void *code, *gp } vtable[];
>
> There are no suitable IA-64 relocations to express this.
>
>
> r~
> ------- End of forwarded message -------
>
- Jim Dehnert x3-4272
More information about the cxx-abi-dev
mailing list