C++ ABI Summary -- 5 August meeting

Jim Dehnert dehnert at baalbek.engr.sgi.com
Mon Aug 9 22:50:48 UTC 1999


> From loewis at informatik.hu-berlin.de  Mon Aug  9 10:38:34 1999
> 
> Jim,
> 
> Thanks for sending the documents. While studying them, I found some
> issues that are not listed. Being new to the group, I'd like to ask:
> How do you operate? Should I write some kind of proposal, or just
> ask stupid questions to the list?

Thanks for the feedback.  In general, an issue should be raised with at
least enough information to provide a clear, concise description of
what it really involves.  In particular...

> Specifically, I'm concerned with two issues:
> 
> A) vararg lists: I'd like to see an indirection in vararg lists, so
>    they can be passed through thunks. This is necessary at least for
>    the covariant returns, but might have other applications as well.

I've opened a new issue for this.  You should provide a proposal if you
don't think the underlying C ABI convention is adequate.  Note that we
don't require thunks for covariant returns, and are attempting to avoid
them in general because the performance impact is significant.  A
similar concern might apply to checks in varargs lists.

> B) Global Destructor ordering: They must not only interleave with
>    static locals, but also with atexit. This gives two problems:
>    atexit is only guaranteed to support 32 functions; and dynamic
>    unloading of DSOs break when functions are atexit registered.

I added this comment to issue C-2.  What is the nature of the atexit
interaction requirement?  Does it appear in the Standard?  (We do
not intend to use atexit directly for global object destruction, your
reasons being at least part of the problem.)

-	    Jim Dehnert		dehnert at sgi.com
				(650)933-4272




More information about the cxx-abi-dev mailing list