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_atexit.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 newlib/libc/stdlib/cxa_atexit.c (limited to 'newlib/libc/stdlib/cxa_atexit.c') diff --git a/newlib/libc/stdlib/cxa_atexit.c b/newlib/libc/stdlib/cxa_atexit.c new file mode 100644 index 000000000..8c39236de --- /dev/null +++ b/newlib/libc/stdlib/cxa_atexit.c @@ -0,0 +1,23 @@ +/* + * Implementation of __cxa_atexit. + */ + +#include +#include +#include +#include +#include "atexit.h" + +/* + * Register a function to be performed at exit or DSO unload. + */ + +int +_DEFUN (__cxa_atexit, + (fn, arg, d), + void (*fn) (void *) _AND + void *arg _AND + void *d) +{ + return __register_exitproc (__et_cxa, (void (*)(void)) fn, arg, d); +} -- cgit v1.2.3