summaryrefslogtreecommitdiffstats
path: root/newlib/libc/stdlib/__call_atexit.c
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2013-05-08 23:13:51 +0000
committerJeff Johnston <jjohnstn@redhat.com>2013-05-08 23:13:51 +0000
commit1b7ad41e50ce327c3258d5a33e2cb86f2c855192 (patch)
treea1822c535879d5dc3ecbdbf0c15fd11b3cb354f6 /newlib/libc/stdlib/__call_atexit.c
parentad48b1b79c64baafaa029f67ce83ed5e47286c0b (diff)
downloadcygnal-1b7ad41e50ce327c3258d5a33e2cb86f2c855192.tar.gz
cygnal-1b7ad41e50ce327c3258d5a33e2cb86f2c855192.tar.bz2
cygnal-1b7ad41e50ce327c3258d5a33e2cb86f2c855192.zip
2013-05-07 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libc/include/sys/config.h (_REENT_GLOBAL_ATEXIT): Define for RTEMS. * libc/include/sys/reent.h (_reent): Use _REENT_GLOBAL_ATEXIT. (_global_atexit): Declare if _REENT_GLOBAL_ATEXIT is defined. * libc/reent/reent.c (_reclaim_reent): Remove atexit cleanup if _REENT_GLOBAL_ATEXIT is defined. (_wrapup_reent): Remove atexit handling if _REENT_GLOBAL_ATEXIT is defined. * libc/stdlib/__atexit.c (_global_atexit0): Define if _REENT_GLOBAL_ATEXIT is defined. * libc/stdlib/__call_atexit.c (_global_atexit): Define if _REENT_GLOBAL_ATEXIT is defined.
Diffstat (limited to 'newlib/libc/stdlib/__call_atexit.c')
-rw-r--r--newlib/libc/stdlib/__call_atexit.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/newlib/libc/stdlib/__call_atexit.c b/newlib/libc/stdlib/__call_atexit.c
index 76d3f1223..1e6e71044 100644
--- a/newlib/libc/stdlib/__call_atexit.c
+++ b/newlib/libc/stdlib/__call_atexit.c
@@ -13,6 +13,10 @@ void free(void *) _ATTRIBUTE((__weak__));
__LOCK_INIT_RECURSIVE(, __atexit_lock);
+#ifdef _REENT_GLOBAL_ATEXIT
+struct _atexit *_global_atexit = _NULL;
+#endif
+
#ifdef _WANT_REGISTER_FINI
/* If "__libc_fini" is defined, finalizers (either