summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2017-10-23 15:31:52 +0200
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2018-07-23 18:27:31 +0200
commitf3959e00a8487cdbf0b14f6dffd1b4d9bb64074c (patch)
treebd9c478b027f83fd1b8da2aecaba384e3519c094
parentFix VS2015 build in the presence of newer SDKs (diff)
downloadcore-f3959e00a8487cdbf0b14f6dffd1b4d9bb64074c.tar.gz
core-f3959e00a8487cdbf0b14f6dffd1b4d9bb64074c.zip
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@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
-rw-r--r--configure.ac4
-rw-r--r--solenv/gbuild/platform/com_MSC_defs.mk2
2 files changed, 5 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index 87f3bd45369f..67a25ac49ed6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6154,7 +6154,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 b2af97f5f2ac..71eb80978129 100644
--- a/solenv/gbuild/platform/com_MSC_defs.mk
+++ b/solenv/gbuild/platform/com_MSC_defs.mk
@@ -149,6 +149,7 @@ gb_CFLAGS := \
-Gs \
-GS \
$(if $(MSVC_USE_DEBUG_RUNTIME),-MDd,-MD) \
+ $(if $(HAVE_THREADSAFE_STATICS),,-Zc:threadSafeInit-) \
-nologo \
-W4 \
-wd4091 \
@@ -190,6 +191,7 @@ gb_CXXFLAGS := \
-GS \
-Gy \
$(if $(MSVC_USE_DEBUG_RUNTIME),-MDd,-MD) \
+ $(if $(HAVE_THREADSAFE_STATICS),,-Zc:threadSafeInit-) \
-nologo \
-W4 \
-wd4091 \