diff --git a/newlib/libc/string/strsignal.c b/newlib/libc/string/strsignal.c
index e03c1086b..94ae26db1 100644
--- a/newlib/libc/string/strsignal.c
+++ b/newlib/libc/string/strsignal.c
@@ -56,6 +56,7 @@ QUICKREF
 #include <string.h>
 #include <signal.h>
 #include <stdio.h>
+#include <stdlib.h>
 #include <reent.h>
 
 char *
diff --git a/newlib/libc/string/strtok.c b/newlib/libc/string/strtok.c
index 21607e04a..8d07ab387 100644
--- a/newlib/libc/string/strtok.c
+++ b/newlib/libc/string/strtok.c
@@ -85,6 +85,7 @@ QUICKREF
 /* undef STRICT_ANSI so that strtok_r prototype will be defined */
 #undef  __STRICT_ANSI__
 #include <string.h>
+#include <stdlib.h>
 #include <_ansi.h>
 #include <reent.h>
 
diff --git a/newlib/libc/time/asctime.c b/newlib/libc/time/asctime.c
index 024310bbf..f56b511b8 100644
--- a/newlib/libc/time/asctime.c
+++ b/newlib/libc/time/asctime.c
@@ -47,6 +47,8 @@ ANSI C requires <<asctime>>.
 <<asctime>> requires no supporting OS subroutines.
 */
 
+#include <stdlib.h>
+#include <string.h>
 #include <time.h>
 #include <_ansi.h>
 #include <reent.h>
diff --git a/newlib/libc/time/lcltime.c b/newlib/libc/time/lcltime.c
index 16162bfb0..2c9a25fd7 100644
--- a/newlib/libc/time/lcltime.c
+++ b/newlib/libc/time/lcltime.c
@@ -44,6 +44,7 @@ ANSI C requires <<localtime>>.
 <<localtime>> requires no supporting OS subroutines.
 */
 
+#include <stdlib.h>
 #include <time.h>
 #include <reent.h>