From 0c8593cf11a16ca75c72977a6f5e3983896940c4 Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Thu, 9 Sep 2004 19:46:54 +0000 Subject: 2004-09-09 Paul Brook * 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 * libc/reent/reent.c [_REENT_SMALL]: Fix reference to _on_exit_args_ptr. --- newlib/libc/stdlib/cxa_finalize.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 newlib/libc/stdlib/cxa_finalize.c (limited to 'newlib/libc/stdlib/cxa_finalize.c') diff --git a/newlib/libc/stdlib/cxa_finalize.c b/newlib/libc/stdlib/cxa_finalize.c new file mode 100644 index 000000000..17d0526a7 --- /dev/null +++ b/newlib/libc/stdlib/cxa_finalize.c @@ -0,0 +1,20 @@ +/* + * Implementation if __cxa_finalize. + */ + + +#include +#include +#include "atexit.h" + +/* + * Call registered exit handlers. If D is null then all handlers are called, + * otherwise only the handlers from that DSO are called. + */ + +void +_DEFUN (__cxa_finalize, (d), + void * d) +{ + __call_exitprocs (0, d); +} -- cgit v1.2.3