---- exit.c.orig Mon Apr 28 16:37:26 2003
-+++ exit.c Sat May 3 14:28:31 2003
-@@ -46,15 +46,6 @@
+--- exit.c.orig Wed Mar 10 14:20:34 2004
++++ exit.c Wed Mar 10 14:38:14 2004
+@@ -46,26 +46,12 @@
void (*__cleanup)();
/*
* Exit, flushing stdio buffers if necessary.
*/
void
-@@ -63,11 +54,6 @@
+ exit(status)
+ int status;
{
- struct atexit *p;
- int n;
--
- /* Ensure that the auto-initialization routine is linked in: */
- extern int _thread_autoinit_dummy_decl;
-
- _thread_autoinit_dummy_decl = 1;
-
- for (p = __atexit; p; p = p->next)
- for (n = p->ind; --n >= 0;)
+-
+ __cxa_finalize(NULL);
+ if (__cleanup)
+ (*__cleanup)();