diff --git a/newlib/ChangeLog b/newlib/ChangeLog index ca3667ce6..6d9876c16 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,3 +1,11 @@ +2002-04-29 Jonathan Larmour + + * libc/sys/arm/syscalls.c (_rename): New function. Just a stub. + (_system): New function. Ditto. + * libc/stdlib/system.c (_system_r): Call _system if HAVE_SYSTEM. + * configure.host: define HAVE_SYSTEM and HAVE_RENAME for xscale + targets. + 2002-04-29 Jeff Johnston * libc/include/sys/unistd.h (pread, pwrite): Added prototypes. diff --git a/newlib/configure.host b/newlib/configure.host index aaab9c446..8d2711c6b 100644 --- a/newlib/configure.host +++ b/newlib/configure.host @@ -519,6 +519,7 @@ case "${host}" in syscall_dir=syscalls newlib_cflags="${newlib_cflags} -DABORT_PROVIDED -DHAVE_GETTIMEOFDAY" newlib_cflags="${newlib_cflags} -DARM_RDI_MONITOR" + newlib_cflags="${newlib_cflags} -DHAVE_SYSTEM -DHAVE_RENAME" ;; thumb-*-pe) syscall_dir=syscalls 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; +}