[newlib-cygwin] newlib: don't check malloc/free pointer
Corinna Vinschen
corinna@sourceware.org
Wed Aug 8 08:53:00 GMT 2018
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=6f485ba0261f88c1eca15bb8061ab2e6af863bbf
commit 6f485ba0261f88c1eca15bb8061ab2e6af863bbf
Author: Corinna Vinschen <corinna@vinschen.de>
Date: Wed Aug 8 10:42:48 2018 +0200
newlib: don't check malloc/free pointer
use preprocessor check for MALLOC_PROVIDED instead
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diff:
---
newlib/libc/stdlib/__atexit.c | 12 +-----------
newlib/libc/stdlib/__call_atexit.c | 7 +------
2 files changed, 2 insertions(+), 17 deletions(-)
diff --git a/newlib/libc/stdlib/__atexit.c b/newlib/libc/stdlib/__atexit.c
index b534026..97ce053 100644
--- a/newlib/libc/stdlib/__atexit.c
+++ b/newlib/libc/stdlib/__atexit.c
@@ -89,22 +89,12 @@ __register_exitproc (int type,
}
if (p->_ind >= _ATEXIT_SIZE)
{
-#ifndef _ATEXIT_DYNAMIC_ALLOC
+#if !defined (_ATEXIT_DYNAMIC_ALLOC) || !defined (MALLOC_PROVIDED)
#ifndef __SINGLE_THREAD__
__lock_release_recursive(__atexit_recursive_mutex);
#endif
return -1;
#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);
if (p == NULL)
{
diff --git a/newlib/libc/stdlib/__call_atexit.c b/newlib/libc/stdlib/__call_atexit.c
index 27aedf5..3eec112 100644
--- a/newlib/libc/stdlib/__call_atexit.c
+++ b/newlib/libc/stdlib/__call_atexit.c
@@ -131,14 +131,9 @@ __call_exitprocs (int code, void *d)
goto restart;
}
-#ifndef _ATEXIT_DYNAMIC_ALLOC
+#if !defined (_ATEXIT_DYNAMIC_ALLOC) || !defined (MALLOC_PROVIDED)
break;
#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,
which is part of _GLOBAL_REENT. */
if (p->_ind == 0 && p->_next)
More information about the Newlib-cvs
mailing list