From 3078fb4f360e44b436bafcd9e7c51f26792e34b4 Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Tue, 21 Mar 2006 00:57:34 +0000 Subject: * 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. --- newlib/libc/stdlib/__atexit.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'newlib/libc/stdlib/__atexit.c') diff --git a/newlib/libc/stdlib/__atexit.c b/newlib/libc/stdlib/__atexit.c index 04f494738..49eebb37e 100644 --- a/newlib/libc/stdlib/__atexit.c +++ b/newlib/libc/stdlib/__atexit.c @@ -35,6 +35,9 @@ _DEFUN (__register_exitproc, _GLOBAL_REENT->_atexit = p = &_GLOBAL_REENT->_atexit0; if (p->_ind >= _ATEXIT_SIZE) { +#ifndef _ATEXIT_DYNAMIC_ALLOC + return -1; +#else p = (struct _atexit *) malloc (sizeof *p); if (p == NULL) { @@ -49,6 +52,7 @@ _DEFUN (__register_exitproc, #ifndef _REENT_SMALL p->_on_exit_args._fntypes = 0; p->_on_exit_args._is_cxa = 0; +#endif #endif } -- cgit v1.2.3