newlib: don't check malloc/free pointer
use preprocessor check for MALLOC_PROVIDED instead Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
parent
2d87d95f12
commit
6f485ba026
|
@ -89,22 +89,12 @@ __register_exitproc (int type,
|
||||||
}
|
}
|
||||||
if (p->_ind >= _ATEXIT_SIZE)
|
if (p->_ind >= _ATEXIT_SIZE)
|
||||||
{
|
{
|
||||||
#ifndef _ATEXIT_DYNAMIC_ALLOC
|
#if !defined (_ATEXIT_DYNAMIC_ALLOC) || !defined (MALLOC_PROVIDED)
|
||||||
#ifndef __SINGLE_THREAD__
|
#ifndef __SINGLE_THREAD__
|
||||||
__lock_release_recursive(__atexit_recursive_mutex);
|
__lock_release_recursive(__atexit_recursive_mutex);
|
||||||
#endif
|
#endif
|
||||||
return -1;
|
return -1;
|
||||||
#else
|
#else
|
||||||
/* Don't dynamically allocate the atexit array if malloc is not
|
|
||||||
available. */
|
|
||||||
if (!malloc)
|
|
||||||
{
|
|
||||||
#ifndef __SINGLE_THREAD__
|
|
||||||
__lock_release_recursive(__atexit_recursive_mutex);
|
|
||||||
#endif
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
p = (struct _atexit *) malloc (sizeof *p);
|
p = (struct _atexit *) malloc (sizeof *p);
|
||||||
if (p == NULL)
|
if (p == NULL)
|
||||||
{
|
{
|
||||||
|
|
|
@ -131,14 +131,9 @@ __call_exitprocs (int code, void *d)
|
||||||
goto restart;
|
goto restart;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef _ATEXIT_DYNAMIC_ALLOC
|
#if !defined (_ATEXIT_DYNAMIC_ALLOC) || !defined (MALLOC_PROVIDED)
|
||||||
break;
|
break;
|
||||||
#else
|
#else
|
||||||
/* Don't dynamically free the atexit array if free is not
|
|
||||||
available. */
|
|
||||||
if (!free)
|
|
||||||
break;
|
|
||||||
|
|
||||||
/* Move to the next block. Free empty blocks except the last one,
|
/* Move to the next block. Free empty blocks except the last one,
|
||||||
which is part of _GLOBAL_REENT. */
|
which is part of _GLOBAL_REENT. */
|
||||||
if (p->_ind == 0 && p->_next)
|
if (p->_ind == 0 && p->_next)
|
||||||
|
|
Loading…
Reference in New Issue