Jeff Johnston
1b7ad41e50
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.
2013-05-08 23:13:51 +00:00
Jeff Johnston
6bd6954bdc
2013-05-07 Sebastian Huber <sebastian.huber@embedded-brains.de>
...
* 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 21:40:10 +00:00
Jeff Johnston
c0e447afd0
2013-05-07 Sebastian Huber <sebastian.huber@embedded-brains.de>
...
* libc/stdlib/__atexit.c (__atexit_lock): Declare.
* libc/stdlib/__call_atexit.c (__atexit_lock): Define.
2013-05-07 18:24:14 +00:00
Jeff Johnston
58d6976a6e
2010-06-08 Jeff Johnston <jjohnstn@redhat.com>
...
* 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-08 18:44:14 +00:00
Jeff Johnston
ced5f59df9
2010-06-04 Mark Mitchell <mark@codesourcery.com>
...
* 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-06-04 15:30:40 +00:00
Jeff Johnston
ca52bf1705
2010-05-11 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/stdlib/__call_atexit.c: Fix lock to be of type
_LOCK_RECURSIVE_T as recursive usage is needed.
2010-05-11 20:41:37 +00:00
Jeff Johnston
5f46e4094f
2010-04-06 Dave Korn <dave.korn.cygwin@googlemail.com>
...
* 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-04-06 20:20:36 +00:00
Jeff Johnston
ba7b214766
2010-02-24 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/stdlib/__call_exit.c: Add include of sys/lock.h.
2010-02-24 19:58:17 +00:00
Christopher Faylor
fa40bd922e
* libc/stdlib/__atexit.c (__atexit_lock): Define a global lock for atexit
...
functions.
(__register_exitproc): Use __atexit_lock rather than a local static lock.
* libc/stdlib/__call_atexit.c: Ditto.
2010-02-04 17:57:30 +00:00
Jeff Johnston
bbb9d4fde3
2009-04-23 Paul Brook <paul@codesourcery.com>
...
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.
2009-04-23 17:54:22 +00:00
Kazu Hirata
0efa93c061
* libc/stdlib/__call_atexit.c (__call_exitprocs): Handle atexit
...
functions registering additional atexit functions.
2007-04-05 16:47:38 +00:00
Mark Mitchell
3078fb4f36
* acconfig.h (_ATEXIT_DYNAMIC_ALLOC): Undef.
...
* 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.
2006-03-21 00:57:34 +00:00
Jeff Johnston
51d4a7eae1
2004-09-15 Jeff Johnston <jjohnstn@redhat.com>
...
* 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-15 20:50:08 +00:00
Jeff Johnston
98650d2fa2
2004-09-14 Jeff Johnston <jjohnstn@redhat.com>
...
* 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-14 18:12:53 +00:00
Jeff Johnston
0c8593cf11
2004-09-09 Paul Brook <paul@codesourcery.com>
...
* 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.
2004-09-09 19:46:54 +00:00