summaryrefslogtreecommitdiffstats
path: root/newlib/libc/stdlib/__call_atexit.c
Commit message (Collapse)AuthorAgeFilesLines
* 2013-05-07 Sebastian Huber <sebastian.huber@embedded-brains.de>Jeff Johnston2013-05-081-0/+4
| | | | | | | | | | | | | | | * 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.
* 2013-05-07 Sebastian Huber <sebastian.huber@embedded-brains.de>Jeff Johnston2013-05-071-2/+2
| | | | | | | | | | | | * libc/include/sys/reent.h (_ATEXIT_INIT): Define. (_ATEXIT_INIT_PTR): Likewise. (_REENT_INIT_ATEXIT): Likewise. (_REENT_INIT_ATEXIT_PTR): Likewise. (_GLOBAL_ATEXIT): Likewise. * libc/stdlib/__atexit.c (_GLOBAL_ATEXIT0): Define. (__register_exitproc): Use _GLOBAL_ATEXIT and _GLOBAL_ATEXIT0. * libc/stdlib/__call_atexit.c (__call_exitprocs): Likewise. -
* 2013-05-07 Sebastian Huber <sebastian.huber@embedded-brains.de>Jeff Johnston2013-05-071-3/+1
| | | | | * libc/stdlib/__atexit.c (__atexit_lock): Declare. * libc/stdlib/__call_atexit.c (__atexit_lock): Define.
* 2010-06-08 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2010-06-081-0/+4
| | | | | | | | | | * configure.in: Add test for enable-newlib-register-fini to set the _WANT_REGISTER_FINI flag. * configure: Regenerated. * Makefile.in: Ditto. * newlib.hin: Add _WANT_REGISTER_FINI flag. * libc/stdlib/__call_atexit.c: Add test for _WANT_REGISTER_FINI to enable the register_fini function.
* 2010-06-04 Mark Mitchell <mark@codesourcery.com>Jeff Johnston2010-06-041-0/+36
| | | | | | | | | | * libc/stdlib/__call_atexit.c (__libc_fini): Declare. (register_fini): New function. * libc/misc/init.c (_fini): Remove. (__libc_fini_array): Likewise. * libc/misc/fini.c: New file. * libc/misc/Makefile.am (LIB_SOURCES): Add fini.c. * libc/misc/Makefile.in: Regenerate.
* 2010-05-11 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2010-05-111-1/+1
| | | | | * libc/stdlib/__call_atexit.c: Fix lock to be of type _LOCK_RECURSIVE_T as recursive usage is needed.
* 2010-04-06 Dave Korn <dave.korn.cygwin@googlemail.com>Jeff Johnston2010-04-061-2/+2
| | | | | | | * libc/stdlib/__atexit.c (__atexit_lock): Initialise as recursive rather than non-recursive lock type. (__register_exitproc): Use recursive locking APIs on it. * libc/stdlib/__call_atexit.c (__call_exitprocs): Likewise.
* 2010-02-24 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2010-02-241-0/+1
| | | | * libc/stdlib/__call_exit.c: Add include of sys/lock.h.
* * libc/stdlib/__atexit.c (__atexit_lock): Define a global lock for atexitChristopher Faylor2010-02-041-0/+13
| | | | | | functions. (__register_exitproc): Use __atexit_lock rather than a local static lock. * libc/stdlib/__call_atexit.c: Ditto.
* 2009-04-23 Paul Brook <paul@codesourcery.com>Jeff Johnston2009-04-231-0/+8
| | | | | | | | | Kazu Hirata <kazu@codesourcery.com> * libc/stdlib/__atexit.c (__register_exitproc): Use weak reference to malloc. Allocate dynamically only if it is present. * libc/stdlib/__call_atexit.c (__call_exitprocs): Use weak reference to free. Call free only if it is present.
* * libc/stdlib/__call_atexit.c (__call_exitprocs): Handle atexitKazu Hirata2007-04-051-0/+12
| | | | functions registering additional atexit functions.
* * acconfig.h (_ATEXIT_DYNAMIC_ALLOC): Undef.Mark Mitchell2006-03-211-0/+4
| | | | | | | | | | | * configure.in (--disable-newlib-atexit-dynamic-alloc): New option. * configure: Regenerated. * newlib.hin: Regenerated. * libc/stdlib/__atexit.c (__register_exitproc): Don't call malloc if _ATEXIT_DYNAMIC_ALLOC is undefined. * libc/stdlib/__call_atexit.c (__call_exitprocs): Don't call free if _ATEXIT_DYNAMIC_ALLOC is undefined.
* 2004-09-15 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2004-09-151-4/+0
| | | | | | | | | | | | | | | | | | | | | | | * configure.host: Reverting 2004-09-14 change as fix has occurred on Cygwin side. * configure.in: Ditto. * libc/configure.in: Ditto. * libc/sys/configure.in: Ditto. * configure: Ditto. * libc/configure: Ditto. * libc/sys/configure: Ditto. * libc/include/sys/reent.h: Ditto. * libc/stdlib/__atexit.c: Ditto. * libc/stdlib/__call_atexit.c: Ditto. * libc/stdlib/cxa_atexit.c: Ditto. * libc/stdlib/cxa_finalize.c: Ditto. * libc/sys/cygwin/Makefile.am: Removed again. * libc/sys/cygwin/Makefile.in: Ditto. * libc/sys/cygwin/aclocal.m4: Ditto. * libc/sys/cygwin/configure: Ditto. * libc/sys/cygwin/configure.in: Ditto. * libc/sys/cygwin/dummy.c: Ditto. * libc/sys/cygwin/sys/reent.h: Ditto.
* 2004-09-14 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2004-09-141-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | * configure.host: Add Cygwin sys directory. * configure.in: Do not set CRT0 for cygwin. * libc/configure.in: Ditto. * libc/sys/configure.in: Ditto. * configure: Regenerated. * libc/configure: Ditto. * libc/sys/configure: Ditto. * libc/include/sys/reent.h: Add __REENT_HAS_CXA_SUPPORT flag. * libc/stdlib/__atexit.c: Keep cxa support protected by new __REENT_HAS_CXA_SUPPORT flag. * libc/stdlib/__call_atexit.c: Ditto. * libc/stdlib/cxa_atexit.c: Ditto. * libc/stdlib/cxa_finalize.c: Ditto. * libc/sys/cygwin/Makefile.am: New file. * libc/sys/cygwin/Makefile.in: Ditto. * libc/sys/cygwin/aclocal.m4: Ditto. * libc/sys/cygwin/configure: Ditto. * libc/sys/cygwin/configure.in: Ditto. * libc/sys/cygwin/dummy.c: Ditto. * libc/sys/cygwin/sys/reent.h: Ditto. This file is stabilized version of reent.h.
* 2004-09-09 Paul Brook <paul@codesourcery.com>Jeff Johnston2004-09-091-0/+83
* libc/include/sys/reent.h (struct _on_exit_args): Add _dso_handle and _is_cxa. (struct _atexit): Add _next when _REENT_SMALL. (struct _reent): Add _atexit0 when _REENT_SMALL. (_REENT_INIT_PTR): Adjust. * libc/stdlib/Makefile.am (GENERAL_SOURCES): Add __atexit.c and __call_exit.c. (EXTENDED_SOURCES): Add cxa_atexit.c and cxa_finalize.c. * libc/stdlib/Makefile.in: Regenerate. * libc/stdlib/__atexit.c: New file. * libc/stdlib/__call_atexit.c: New file. * libc/stdlib/atexit.h: Remove old definitions. Add new. * libc/stdlib/atexit.c (atexit): Use __register_exitproc. * libc/stdlib/cxa_atexit.c: New file. * libc/stdlib/cxa_finalize.c: New file. * libc/stdlib/exit.c (exit): Use __call_exitprocs. * libc/stdlib/on_exit.c (on_exit): Use __register_exitproc. 2004-09-09 Jeff Johnston <jjohnstn@redhat.com> * libc/reent/reent.c [_REENT_SMALL]: Fix reference to _on_exit_args_ptr.