summaryrefslogtreecommitdiffstats
path: root/newlib/libc
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc')
-rw-r--r--newlib/libc/stdlib/system.c5
-rw-r--r--newlib/libc/sys/arm/syscalls.c18
2 files changed, 22 insertions, 1 deletions
diff --git a/newlib/libc/stdlib/system.c b/newlib/libc/stdlib/system.c
index 73c0540d9..ad2217743 100644
--- a/newlib/libc/stdlib/system.c
+++ b/newlib/libc/stdlib/system.c
@@ -69,7 +69,10 @@ _system_r (ptr, s)
struct _reent *ptr;
_CONST char *s;
{
-#ifdef NO_EXEC
+#if defined(HAVE_SYSTEM)
+ return _system (s);
+ ptr = ptr;
+#elif defined(NO_EXEC)
if (s == NULL)
return 0;
errno = ENOSYS;
diff --git a/newlib/libc/sys/arm/syscalls.c b/newlib/libc/sys/arm/syscalls.c
index 3662a4687..a889e9252 100644
--- a/newlib/libc/sys/arm/syscalls.c
+++ b/newlib/libc/sys/arm/syscalls.c
@@ -15,6 +15,8 @@
#include "swi.h"
/* Forward prototypes. */
+int _system _PARAMS ((const char *));
+int _rename _PARAMS ((const char *, const char *));
int isatty _PARAMS ((int));
clock_t _times _PARAMS ((struct tms *));
int _gettimeofday _PARAMS ((struct timeval *, struct timezone *));
@@ -609,3 +611,19 @@ isatty (int fd)
return 1;
fd = fd;
}
+
+int
+_system (const char *s)
+{
+ if (s == NULL)
+ return 0;
+ errno = ENOSYS;
+ return -1;
+}
+
+int
+_rename (const char *, const char *)
+{
+ errno = ENOSYS;
+ return -1;
+}