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:
Corinna Vinschen 2018-08-08 10:42:48 +02:00
parent 2d87d95f12
commit 6f485ba026
2 changed files with 2 additions and 17 deletions

View File

@ -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)
{ {

View File

@ -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)