Corinna Vinschen
cbd871ad41
* libc/stdlib/__atexit.c (__register_exitproc): NULL-ify
...
_on_exit_args_ptr when creating a new _atexit structure while
_REENT_SMALL is defined.
2013-08-19 09:03:42 +00:00
Jeff Johnston
e2ac49d3d7
2013-07-02 Joey Ye <joey.ye@arm.com>
...
Lite exit support.
* README: Add information about lite-exit.
* acconfig.h (_LITE_EXIT): New macro.
* configure.in (enable-lite-exit): New option.
(_LITE_EXIT): Define new macro.
* configure: Regenerated.
* newlib.hin (_LITE_EXIT): New macro.
* libc/stdlib/__atexit.c [_LITE_EXIT]: Add dummy explicit
reference to __call_exitprocs.
* libc/stdlib/cxa_atexit.c [_LITE_EXIT]: Make __register_exitproc a
weak reference.
* libc/stdlib/exit.c (exit)[_LITE_EXIT]: Remove TWS and weakly reference
__call_exitprocs.
2013-07-02 21:30:57 +00:00
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
286625cf91
2012-01-03 Viachaslau Kulakouski <Viachaslau.Kulakouski@oracle.com>
...
* libc/stdlib/__atexit.c: Refer to __atexit_lock instead of lock.
2012-01-03 19:13:57 +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
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
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