diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2004-09-09 19:46:54 +0000 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2004-09-09 19:46:54 +0000 |
commit | 0c8593cf11a16ca75c72977a6f5e3983896940c4 (patch) | |
tree | 8133764892ae91831d48980ef216fc4935e45b5f /newlib/libc/stdlib/atexit.h | |
parent | 582dde69f31fb0dbe4beca5461b2b08924ae4e20 (diff) | |
download | cygnal-0c8593cf11a16ca75c72977a6f5e3983896940c4.tar.gz cygnal-0c8593cf11a16ca75c72977a6f5e3983896940c4.tar.bz2 cygnal-0c8593cf11a16ca75c72977a6f5e3983896940c4.zip |
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.
Diffstat (limited to 'newlib/libc/stdlib/atexit.h')
-rw-r--r-- | newlib/libc/stdlib/atexit.h | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/newlib/libc/stdlib/atexit.h b/newlib/libc/stdlib/atexit.h index 44a928126..e37a146a0 100644 --- a/newlib/libc/stdlib/atexit.h +++ b/newlib/libc/stdlib/atexit.h @@ -1,13 +1,14 @@ /* - * %G% (UofMD) %D% + * Common definitions for atexit-like routines */ -#define ATEXIT_SIZE 32 /* must be at least 32 to guarantee ANSI conformance */ - -struct atexit { - struct atexit *next; /* next in list */ - int ind; /* next index in this table */ - void (*fns[ATEXIT_SIZE])(); /* the table itself */ +enum __atexit_types +{ + __et_atexit, + __et_onexit, + __et_cxa }; -struct atexit *__atexit; /* points to head of LIFO stack */ +void __call_exitprocs _PARAMS ((int, _PTR)); +int __register_exitproc _PARAMS ((int, void (*fn) (void), _PTR, _PTR)); + |