This is the mail archive of the gcc-patches@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]

Re: PATCH: Add --enable-__cxa_atexit


On Wed, Jun 05, 2002 at 04:32:13PM -0700, Mark Mitchell wrote:
> > Here is a new patch to pass -fno-use-cxa-atexit to libstdc++-v3.
> 
> This seems like a bad idea.
> 
> If V3 ever makes any use of static initializers, things may go subtly
> wrong.  It is not enough to think about what happens in V3; you must
> consider functions in user code that are called from code in V3.  For
> example, if a static initializer in V3 calls "malloc", and I override
> "malloc", and my "malloc" does static initialization of something,
> the standard says that I can rely on relationships between the orders
> the destructors run in.
> 
> And, if V3 does not use static initializers then there is no cost
> associated with using -fuse-cxa-atexit to compile it.
> 
> So, why pass this flag?

I was told -fuse-cxa-atexit was too expensive at the startup time. Did
you mean g++ would use __cxa_atexit only when it is needed, otherwise
it would use atexit even if -fuse-cxa-atexit is used?


H.J.


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