diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index 9bd61ed34..bb7dd93da 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -16,6 +16,13 @@ Base-3.15 series or to EPICS 7.
+The latest version of XCode will not compile calls to system() or +clock_settime() for iOS targets. There were several places in Base +where these were being compiled, although there were probably never called. The +code has now been modified to permit iOS builds to complete again.
+A check has been added to recGblResetAlarms() that prevents records diff --git a/src/misc/Makefile b/src/misc/Makefile index 3d7bc5168..a35391aeb 100644 --- a/src/misc/Makefile +++ b/src/misc/Makefile @@ -26,6 +26,7 @@ LIB_SRCS += miscIocRegister.c LIB_SRCS += dlload.c LIB_SRCS += iocshRegisterCommon.c +miscIocRegister_CFLAGS_iOS = -DSYSTEM_UNAVAILABLE LIBRARY_IOC = miscIoc diff --git a/src/misc/miscIocRegister.c b/src/misc/miscIocRegister.c index 0d482f7cf..d892f637a 100644 --- a/src/misc/miscIocRegister.c +++ b/src/misc/miscIocRegister.c @@ -66,10 +66,12 @@ void epicsShareAPI miscIocRegister(void) /* system -- escape to system command interpreter. * - * Disabled by default, for security reasons. To enable this command, add + * Disabled by default for security reasons, not available on all OSs. + * To enable this command, add * registrar(iocshSystemCommand) - * to an application dbd file. + * to an application dbd file, or include system.dbd */ +#ifndef SYSTEM_UNAVAILABLE static const iocshArg systemArg0 = { "command string",iocshArgString}; static const iocshArg * const systemArgs[] = {&systemArg0}; static const iocshFuncDef systemFuncDef = {"system",1,systemArgs}; @@ -77,12 +79,15 @@ static void systemCallFunc(const iocshArgBuf *args) { system(args[0].sval); } +#endif static void iocshSystemCommand(void) { +#ifndef SYSTEM_UNAVAILABLE if (system(NULL)) iocshRegister(&systemFuncDef, systemCallFunc); else +#endif errlogPrintf ("Can't register 'system' command -- no command interpreter available.\n"); } epicsExportRegistrar(iocshSystemCommand);