[Libreoffice-commits] core.git: Branch 'libreoffice-5-4' - configure.ac solenv/gbuild

Mike Kaganski mike.kaganski at collabora.com
Tue Oct 24 07:56:38 UTC 2017


 configure.ac                           |    4 +++-
 solenv/gbuild/platform/com_MSC_defs.mk |    2 ++
 2 files changed, 5 insertions(+), 1 deletion(-)

New commits:
commit 3c6ce662b444d713e45a2c326a81fc45685adbfb
Author: Mike Kaganski <mike.kaganski at collabora.com>
Date:   Mon Oct 23 15:31:52 2017 +0200

    tdf#112928: don't use "magic statics" for 5.4 (fails on WinXP)
    
    https://stackoverflow.com/questions/32517234/access-violation-on-static-initialization
    
    Change-Id: Ibda63c6307e6dc4ae1eec4b0c673a987f33bed94
    Reviewed-on: https://gerrit.libreoffice.org/43721
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>

diff --git a/configure.ac b/configure.ac
index 3105fcb4dd3f..b4a2b14a7c77 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5923,7 +5923,9 @@ if test "$GCC" = "yes"; then
 else
     # MSVC has sprouted C++11 thread-safe statics in 2015
     # http://blogs.msdn.com/b/vcblog/archive/2015/06/19/c-11-14-17-features-in-vs-2015-rtm.aspx
-    if test "$COM" = "MSC" -a "$VCVER" -ge "140"; then
+    # but it doesn't work on Windows XP, so don't use it for 32-bit builds baselined for Windows XP
+    if test "$COM" = "MSC" -a "$VCVER" -ge "140" -a "$with_windows_sdk" != "7.1A"; then
+        HAVE_THREADSAFE_STATICS=TRUE
         AC_DEFINE(HAVE_THREADSAFE_STATICS)
         AC_MSG_RESULT([yes])
     else
diff --git a/solenv/gbuild/platform/com_MSC_defs.mk b/solenv/gbuild/platform/com_MSC_defs.mk
index 5c9b86618516..068cfd6bf946 100755
--- a/solenv/gbuild/platform/com_MSC_defs.mk
+++ b/solenv/gbuild/platform/com_MSC_defs.mk
@@ -138,6 +138,7 @@ gb_CFLAGS := \
 	-Gs \
 	-GS \
 	$(if $(MSVC_USE_DEBUG_RUNTIME),-MDd,-MD) \
+	$(if $(HAVE_THREADSAFE_STATICS),,-Zc:threadSafeInit-) \
 	-nologo \
 	-W4 \
 	-wd4091 \
@@ -168,6 +169,7 @@ gb_CXXFLAGS := \
 	-GS \
 	-Gy \
 	$(if $(MSVC_USE_DEBUG_RUNTIME),-MDd,-MD) \
+	$(if $(HAVE_THREADSAFE_STATICS),,-Zc:threadSafeInit-) \
 	-nologo \
 	-W4 \
 	-wd4091 \


More information about the Libreoffice-commits mailing list