diff --git a/configure/os/CONFIG.linux-x86.windows-x64-mingw b/configure/os/CONFIG.linux-x86.windows-x64-mingw index 3b5ba18b4..3becd0045 100644 --- a/configure/os/CONFIG.linux-x86.windows-x64-mingw +++ b/configure/os/CONFIG.linux-x86.windows-x64-mingw @@ -22,7 +22,3 @@ GNU_LDLIBS_YES = # Link with winsock2 OP_SYS_LDLIBS = -lws2_32 - -# Use static compiler-support libraries -OP_SYS_LDFLAGS += -static-libgcc -static-libstdc++ -# There is no compiler flag for static libwinpthread diff --git a/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw b/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw index 7df172901..dfc947eba 100644 --- a/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw +++ b/configure/os/CONFIG_SITE.linux-x86.win32-x86-mingw @@ -4,10 +4,10 @@ #------------------------------------------------------- # Early versions of the MinGW cross-build tools can only build -# static (non-DLL) libraries. For example RHEL's cross-gcc 4.4.6 -# needs these uncommented, cross-gcc 4.6.3 for Ubuntu does not: -SHARED_LIBRARIES = NO -STATIC_BUILD = YES +# static (non-DLL) libraries. RHEL's cross-build of gcc 4.4.6 +# needs these uncommented, cross-gcc 4.6.3 from Ubuntu does not: +#SHARED_LIBRARIES = NO +#STATIC_BUILD = YES # The cross-build tools are in $(GNU_DIR)/bin # Default is /usr @@ -20,3 +20,6 @@ STATIC_BUILD = YES CMPLR_PREFIX = i686-pc-mingw32- # Debian? #CMPLR_PREFIX = i586-mingw32msvc- + +# Use static compiler-support libraries +OP_SYS_LDFLAGS += -static-libgcc -static-libstdc++ diff --git a/configure/os/CONFIG_SITE.linux-x86.windows-x64-mingw b/configure/os/CONFIG_SITE.linux-x86.windows-x64-mingw index 42cdc353b..026410cfe 100644 --- a/configure/os/CONFIG_SITE.linux-x86.windows-x64-mingw +++ b/configure/os/CONFIG_SITE.linux-x86.windows-x64-mingw @@ -18,3 +18,6 @@ #CMPLR_PREFIX = i686-w64-mingw32- # RHEL: CMPLR_PREFIX = x86_64-w64-mingw32- + +# Use static compiler-support libraries +OP_SYS_LDFLAGS += -static-libgcc -static-libstdc++ diff --git a/documentation/RELEASE_NOTES.html b/documentation/RELEASE_NOTES.html index 41dffc8f9..1c8a906c5 100644 --- a/documentation/RELEASE_NOTES.html +++ b/documentation/RELEASE_NOTES.html @@ -18,6 +18,16 @@
The build configuration files that allow cross-building of the 32-bit +win32-x86-mingw cross-target have been adjusted to default to building shared +libraries (DLLs) as this is now supported by recent MinGW compilers. The 64-bit +windows-x64-mingw cross-target was already being built that way by default. The +configuration options to tell the minGW cross-compiler to link programs with +static versions of the compiler support libraries have now been moved into the +CONFIG_SITE.linux-x86.target files.
+The iocInit code now performs a sanity check of the current time diff --git a/src/ca/legacy/gdd/gddAppTable.cc b/src/ca/legacy/gdd/gddAppTable.cc index ee3b82a7b..2315516fe 100644 --- a/src/ca/legacy/gdd/gddAppTable.cc +++ b/src/ca/legacy/gdd/gddAppTable.cc @@ -418,8 +418,10 @@ gddStatus gddApplicationTypeTable::freeDD(gdd* dd) } // fprintf(stderr,"Adding DD to free_list %d\n",app); + attr_table[group][app].sem.lock (); dd->setNext(attr_table[group][app].free_list); attr_table[group][app].free_list=dd; + attr_table[group][app].sem.unlock (); } else if (attr_table[group][app].type==gddApplicationTypeNormal) { diff --git a/src/libCom/osi/os/RTEMS/osdThread.c b/src/libCom/osi/os/RTEMS/osdThread.c index ddb2eb1c1..212372073 100644 --- a/src/libCom/osi/os/RTEMS/osdThread.c +++ b/src/libCom/osi/os/RTEMS/osdThread.c @@ -672,6 +672,7 @@ void epicsThreadShow (epicsThreadId id, unsigned int level) for (v = taskVarHead ; v != NULL ; v = v->forw) { if ((rtems_id)id == v->id) { epicsThreadShowInfo (v, level); + taskVarUnlock (); return; } }